1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931(* generated by: awso-codegen generate-all --botocore-data vendor/botocore/botocore/data -o aws --runtime-dir lib/runtime/awso --cli-dir awso-cli *)openAwsoopen!Import[@@@warning"-32"]letservice=Service.opensearchserverlessletapiVersion="2021-11-01"letendpointPrefix="aoss"letserviceFullName="OpenSearch Service Serverless"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="OpenSearchServerless"letsimple_to_jsonto_valuex=Botodata.Json.value_to_json_scalar(to_valuex)letcomposed_to_jsonto_valuex=Botodata.Json.value_to_json(to_valuex)letto_queryto_valuex=Client.Query.of_value(to_valuex)letstructure_to_value_auxst~f=letfilter=function|(k,Somev)->Some(k,v)|_->Noneinletpairkv=(k,v)inletdefer_value(k,dv)=pairkdvin((List.filter_mapst~f:filter)|>(List.map~f:defer_value))|>(funx->`Structure(fx))letstructure_to_value=structure_to_value_aux~f:Fn.idletstructure_to_wrapped_value~wrapper~response=structure_to_value_aux~f:(funx->[(wrapper,(`Structurex));(response,(`Structure[]))])moduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagValue"jletto_json=simple_to_jsonto_valueendmoduleCollectionGroupIndexingCapacityValue=structtypenonrect=floatletmakei=letopenResultinok_or_failwith(check_float_mini~min:1.);iletof_string=Float.of_stringletto_valuex=`Floatxletto_queryv=to_queryto_valuevletto_headerx=Stdlib.Float.to_stringxletof_xmlxml_arg0=Float.of_string(string_of_xml~kind:"a float"xml_arg0)letof_jsonj=float_of_json~kind:"a float"jletto_json=simple_to_jsonto_valueendmoduleCollectionGroupSearchCapacityValue=structtypenonrect=floatletmakei=letopenResultinok_or_failwith(check_float_mini~min:1.);iletof_string=Float.of_stringletto_valuex=`Floatxletto_queryv=to_queryto_valuevletto_headerx=Stdlib.Float.to_stringxletof_xmlxml_arg0=Float.of_string(string_of_xml~kind:"a float"xml_arg0)letof_jsonj=float_of_json~kind:"a float"jletto_json=simple_to_jsonto_valueendmoduleSecurityGroupId=structtypenonrect=stringletcontext_="SecurityGroupId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[\\w+\\-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SecurityGroupId"jletto_json=simple_to_jsonto_valueendmoduleSubnetId=structtypenonrect=stringletcontext_="SubnetId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"subnet-([0-9a-f]{8}|[0-9a-f]{17})")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SubnetId"jletto_json=simple_to_jsonto_valueendmoduleString_=structtypenonrect=stringletcontext_="String"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_valueendmoduleServerlessVectorAccelerationStatus=structtypenonrect=|ENABLED|DISABLED|ALLOWED|Non_static_idofstringletmakei=iletto_string=function|ENABLED->"ENABLED"|DISABLED->"DISABLED"|ALLOWED->"ALLOWED"|Non_static_ids->sletof_string=function|"ENABLED"->ENABLED|"DISABLED"->DISABLED|"ALLOWED"->ALLOWED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ServerlessVectorAccelerationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ServerlessVectorAccelerationStatus"j)letto_json=simple_to_jsonto_valueendmoduleTag=structtypenonrect={key:TagKey.t[@ocaml.doc"The key to use in the tag."];value:TagValue.t[@ocaml.doc"The value of the tag."]}letcontext_="Tag"letmake~key=fun~value->fun()->{key;value}letto_valuex=structure_to_value[("key",(Some(TagKey.to_valuex.key)));("value",(Some(TagValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=TagValue.of_xml(Xml.child_exn~context:context_xml_arg0"value")inletkey=TagKey.of_xml(Xml.child_exn~context:context_xml_arg0"key")inmake~value~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"value"TagValue.of_jsoninletkey=field_map_exnjson__"key"TagKey.of_jsoninmake~value~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A map of key-value pairs associated to an OpenSearch Serverless resource."]moduleIamFederationGroupAttribute=structtypenonrect=stringletcontext_="iamFederationGroupAttribute"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z][A-Za-z0-9_.:/=+\\-@]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"iamFederationGroupAttribute"jletto_json=simple_to_jsonto_valueendmoduleIamFederationUserAttribute=structtypenonrect=stringletcontext_="iamFederationUserAttribute"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"[A-Za-z][A-Za-z0-9_.:/=+\\-@]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"iamFederationUserAttribute"jletto_json=simple_to_jsonto_valueendmoduleIamIdentityCenterApplicationArn=structtypenonrect=stringletcontext_="IamIdentityCenterApplicationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:10)>>=(fun()->(check_string_maxi~max:1224)>>=(fun()->check_patterni~pattern:"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso::\\d{12}:application/(sso)?ins-[a-zA-Z0-9-.]{16}/apl-[a-zA-Z0-9]{16}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IamIdentityCenterApplicationArn"jletto_json=simple_to_jsonto_valueendmoduleIamIdentityCenterGroupAttribute=structtypenonrect=|GroupId|GroupName|Non_static_idofstringletmakei=iletto_string=function|GroupId->"GroupId"|GroupName->"GroupName"|Non_static_ids->sletof_string=function|"GroupId"->GroupId|"GroupName"->GroupName|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration IamIdentityCenterGroupAttribute"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"IamIdentityCenterGroupAttribute"j)letto_json=simple_to_jsonto_valueendmoduleIamIdentityCenterInstanceArn=structtypenonrect=stringletcontext_="IamIdentityCenterInstanceArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:10)>>=(fun()->(check_string_maxi~max:1224)>>=(fun()->check_patterni~pattern:"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IamIdentityCenterInstanceArn"jletto_json=simple_to_jsonto_valueendmoduleIamIdentityCenterUserAttribute=structtypenonrect=|UserId|UserName|Email|Non_static_idofstringletmakei=iletto_string=function|UserId->"UserId"|UserName->"UserName"|Email->"Email"|Non_static_ids->sletof_string=function|"UserId"->UserId|"UserName"->UserName|"Email"->Email|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration IamIdentityCenterUserAttribute"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"IamIdentityCenterUserAttribute"j)letto_json=simple_to_jsonto_valueendmoduleSamlConfigOptionsSessionTimeoutInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:720)>>=(fun()->check_int_mini~min:5));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for SamlConfigOptionsSessionTimeoutInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleOpenSearchServerlessEntityId=structtypenonrect=stringletcontext_="openSearchServerlessEntityId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"aws:opensearch:[0-9]{12}:*.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"openSearchServerlessEntityId"jletto_json=simple_to_jsonto_valueendmoduleSamlGroupAttribute=structtypenonrect=stringletcontext_="samlGroupAttribute"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:".*[\\w+=,.@-]+.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"samlGroupAttribute"jletto_json=simple_to_jsonto_valueendmoduleSamlMetadata=structtypenonrect=stringletcontext_="samlMetadata"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:51200)>>=(fun()->check_patterni~pattern:".*[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u00A1-\\u00FF]+.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"samlMetadata"jletto_json=simple_to_jsonto_valueendmoduleSamlUserAttribute=structtypenonrect=stringletcontext_="samlUserAttribute"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:".*[\\w+=,.@-]+.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"samlUserAttribute"jletto_json=simple_to_jsonto_valueendmoduleIndexingCapacityValue=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:2);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for IndexingCapacityValue"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleSearchCapacityValue=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:2);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for SearchCapacityValue"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleVpcEndpointId=structtypenonrect=stringletcontext_="VpcEndpointId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"vpce-[0-9a-z]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VpcEndpointId"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointName=structtypenonrect=stringletcontext_="VpcEndpointName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"[a-z][a-z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VpcEndpointName"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointStatus=structtypenonrect=|PENDING|DELETING|ACTIVE|FAILED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|DELETING->"DELETING"|ACTIVE->"ACTIVE"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"DELETING"->DELETING|"ACTIVE"->ACTIVE|"FAILED"->FAILED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration VpcEndpointStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VpcEndpointStatus"j)letto_json=simple_to_jsonto_valueendmoduleLong=structtypenonrect=Int64.tletmakei=iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmodulePolicyDescription=structtypenonrect=stringletcontext_="PolicyDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PolicyDescription"jletto_json=simple_to_jsonto_valueendmodulePolicyName=structtypenonrect=stringletcontext_="PolicyName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"[a-z][a-z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PolicyName"jletto_json=simple_to_jsonto_valueendmodulePolicyVersion=structtypenonrect=stringletcontext_="PolicyVersion"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:36)>>=(fun()->check_patterni~pattern:"([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PolicyVersion"jletto_json=simple_to_jsonto_valueendmoduleSecurityPolicyType=structtypenonrect=|Encryption|Network|Non_static_idofstringletmakei=iletto_string=function|Encryption->"encryption"|Network->"network"|Non_static_ids->sletof_string=function|"encryption"->Encryption|"network"->Network|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration SecurityPolicyType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SecurityPolicyType"j)letto_json=simple_to_jsonto_valueendmoduleConfigDescription=structtypenonrect=stringletcontext_="ConfigDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ConfigDescription"jletto_json=simple_to_jsonto_valueendmoduleSecurityConfigId=structtypenonrect=stringletcontext_="SecurityConfigId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:100)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SecurityConfigId"jletto_json=simple_to_jsonto_valueendmoduleSecurityConfigType=structtypenonrect=|Saml|Iamidentitycenter|Iamfederation|Non_static_idofstringletmakei=iletto_string=function|Saml->"saml"|Iamidentitycenter->"iamidentitycenter"|Iamfederation->"iamfederation"|Non_static_ids->sletof_string=function|"saml"->Saml|"iamidentitycenter"->Iamidentitycenter|"iamfederation"->Iamfederation|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration SecurityConfigType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SecurityConfigType"j)letto_json=simple_to_jsonto_valueendmoduleLifecyclePolicyType=structtypenonrect=|Retention|Non_static_idofstringletmakei=iletto_string=function|Retention->"retention"|Non_static_ids->sletof_string=function|"retention"->Retention|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration LifecyclePolicyType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"LifecyclePolicyType"j)letto_json=simple_to_jsonto_valueendmoduleCollectionGroupName=structtypenonrect=stringletcontext_="CollectionGroupName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"[a-z][a-z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CollectionGroupName"jletto_json=simple_to_jsonto_valueendmoduleCollectionId=structtypenonrect=stringletcontext_="CollectionId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:40)>>=(fun()->check_patterni~pattern:"[a-z0-9]{3,40}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CollectionId"jletto_json=simple_to_jsonto_valueendmoduleCollectionName=structtypenonrect=stringletcontext_="CollectionName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"[a-z][a-z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CollectionName"jletto_json=simple_to_jsonto_valueendmoduleCollectionStatus=structtypenonrect=|CREATING|UPDATING|DELETING|ACTIVE|FAILED|UPDATE_FAILED|Non_static_idofstringletmakei=iletto_string=function|CREATING->"CREATING"|UPDATING->"UPDATING"|DELETING->"DELETING"|ACTIVE->"ACTIVE"|FAILED->"FAILED"|UPDATE_FAILED->"UPDATE_FAILED"|Non_static_ids->sletof_string=function|"CREATING"->CREATING|"UPDATING"->UPDATING|"DELETING"->DELETING|"ACTIVE"->ACTIVE|"FAILED"->FAILED|"UPDATE_FAILED"->UPDATE_FAILED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration CollectionStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CollectionStatus"j)letto_json=simple_to_jsonto_valueendmoduleCollectionGroupCapacityLimits=structtypenonrect={maxIndexingCapacityInOCU:CollectionGroupIndexingCapacityValue.toption[@ocaml.doc"The maximum indexing capacity for collections in the group."];maxSearchCapacityInOCU:CollectionGroupSearchCapacityValue.toption[@ocaml.doc"The maximum search capacity for collections in the group."];minIndexingCapacityInOCU:CollectionGroupIndexingCapacityValue.toption[@ocaml.doc"The minimum indexing capacity for collections in the group."];minSearchCapacityInOCU:CollectionGroupSearchCapacityValue.toption[@ocaml.doc"The minimum search capacity for collections in the group."]}letmake?maxIndexingCapacityInOCU=fun?maxSearchCapacityInOCU->fun?minIndexingCapacityInOCU->fun?minSearchCapacityInOCU->fun()->{maxIndexingCapacityInOCU;maxSearchCapacityInOCU;minIndexingCapacityInOCU;minSearchCapacityInOCU}letto_valuex=structure_to_value[("maxIndexingCapacityInOCU",(Option.mapx.maxIndexingCapacityInOCU~f:CollectionGroupIndexingCapacityValue.to_value));("maxSearchCapacityInOCU",(Option.mapx.maxSearchCapacityInOCU~f:CollectionGroupSearchCapacityValue.to_value));("minIndexingCapacityInOCU",(Option.mapx.minIndexingCapacityInOCU~f:CollectionGroupIndexingCapacityValue.to_value));("minSearchCapacityInOCU",(Option.mapx.minSearchCapacityInOCU~f:CollectionGroupSearchCapacityValue.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letminSearchCapacityInOCU=(Option.map~f:CollectionGroupSearchCapacityValue.of_xml)(Xml.childxml_arg0"minSearchCapacityInOCU")inletminIndexingCapacityInOCU=(Option.map~f:CollectionGroupIndexingCapacityValue.of_xml)(Xml.childxml_arg0"minIndexingCapacityInOCU")inletmaxSearchCapacityInOCU=(Option.map~f:CollectionGroupSearchCapacityValue.of_xml)(Xml.childxml_arg0"maxSearchCapacityInOCU")inletmaxIndexingCapacityInOCU=(Option.map~f:CollectionGroupIndexingCapacityValue.of_xml)(Xml.childxml_arg0"maxIndexingCapacityInOCU")inmake?minSearchCapacityInOCU?minIndexingCapacityInOCU?maxSearchCapacityInOCU?maxIndexingCapacityInOCU()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letminSearchCapacityInOCU=field_mapjson__"minSearchCapacityInOCU"CollectionGroupSearchCapacityValue.of_jsoninletminIndexingCapacityInOCU=field_mapjson__"minIndexingCapacityInOCU"CollectionGroupIndexingCapacityValue.of_jsoninletmaxSearchCapacityInOCU=field_mapjson__"maxSearchCapacityInOCU"CollectionGroupSearchCapacityValue.of_jsoninletmaxIndexingCapacityInOCU=field_mapjson__"maxIndexingCapacityInOCU"CollectionGroupIndexingCapacityValue.of_jsoninmake?minSearchCapacityInOCU?minIndexingCapacityInOCU?maxSearchCapacityInOCU?maxIndexingCapacityInOCU()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Capacity limits for a collection group. These limits define the minimum and maximum OpenSearch Compute Units (OCUs) for indexing and search operations that can be used by collections in the group."]moduleCollectionGroupId=structtypenonrect=stringletcontext_="CollectionGroupId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:40)>>=(fun()->check_patterni~pattern:"[a-z0-9]{3,40}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CollectionGroupId"jletto_json=simple_to_jsonto_valueendmoduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleAccessPolicyType=structtypenonrect=|Data|Non_static_idofstringletmakei=iletto_string=function|Data->"data"|Non_static_ids->sletof_string=function|"data"->Data|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration AccessPolicyType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccessPolicyType"j)letto_json=simple_to_jsonto_valueendmoduleSecurityGroupIds=structtypenonrect=SecurityGroupId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityGroupId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityGroupId.of_xml)letof_jsonj=list_of_json~kind:"SecurityGroupIds"~of_json:SecurityGroupId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSubnetIds=structtypenonrect=SubnetId.tlistletmakei=letopenResultinok_or_failwith(check_list_mini~min:1);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SubnetId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SubnetId.of_xml)letof_jsonj=list_of_json~kind:"SubnetIds"~of_json:SubnetId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVpcId=structtypenonrect=stringletcontext_="VpcId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"vpc-[0-9a-z]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VpcId"jletto_json=simple_to_jsonto_valueendmoduleDocument=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevendmoduleBoolean=structtypenonrect=boolletmakei=iletof_string=Bool.of_stringletto_valuex=`Booleanxletto_queryv=to_queryto_valuevletto_headerx=Bool.to_stringxletof_xmlxml_arg0=Bool.of_string(string_of_xml~kind:"a boolean"xml_arg0)letof_json=bool_of_jsonletto_json=simple_to_jsonto_valueendmoduleResource=structtypenonrect=stringletcontext_="Resource"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Resource"jletto_json=simple_to_jsonto_valueendmoduleResourceType=structtypenonrect=|Index|Non_static_idofstringletmakei=iletto_string=function|Index->"index"|Non_static_ids->sletof_string=function|"index"->Index|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ResourceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceType"j)letto_json=simple_to_jsonto_valueendmoduleResourceName=structtypenonrect=stringletcontext_="ResourceName"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"index/[a-z][a-z0-9-]{3,32}/([a-z;0-9&$%][+.~=\\-_a-z;0-9&$%]*)");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceName"jletto_json=simple_to_jsonto_valueendmoduleCollectionType=structtypenonrect=|SEARCH|TIMESERIES|VECTORSEARCH|Non_static_idofstringletmakei=iletto_string=function|SEARCH->"SEARCH"|TIMESERIES->"TIMESERIES"|VECTORSEARCH->"VECTORSEARCH"|Non_static_ids->sletof_string=function|"SEARCH"->SEARCH|"TIMESERIES"->TIMESERIES|"VECTORSEARCH"->VECTORSEARCH|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration CollectionType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CollectionType"j)letto_json=simple_to_jsonto_valueendmoduleFipsEndpoints=structtypenonrect={collectionEndpoint:String_.toption[@ocaml.doc"FIPS-compliant collection endpoint used to submit index, search, and data upload requests to an OpenSearch Serverless collection. This endpoint uses FIPS 140-3 validated cryptography and is required for federal government workloads."];dashboardEndpoint:String_.toption[@ocaml.doc"FIPS-compliant endpoint used to access OpenSearch Dashboards. This endpoint uses FIPS 140-3 validated cryptography and is required for federal government workloads that need dashboard visualization capabilities."]}letmake?collectionEndpoint=fun?dashboardEndpoint->fun()->{collectionEndpoint;dashboardEndpoint}letto_valuex=structure_to_value[("collectionEndpoint",(Option.mapx.collectionEndpoint~f:String_.to_value));("dashboardEndpoint",(Option.mapx.dashboardEndpoint~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdashboardEndpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"dashboardEndpoint")inletcollectionEndpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"collectionEndpoint")inmake?dashboardEndpoint?collectionEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdashboardEndpoint=field_mapjson__"dashboardEndpoint"String_.of_jsoninletcollectionEndpoint=field_mapjson__"collectionEndpoint"String_.of_jsoninmake?dashboardEndpoint?collectionEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"FIPS-compliant endpoint URLs for an OpenSearch Serverless collection. These endpoints ensure all data transmission uses FIPS 140-3 validated cryptographic implementations, meeting federal security requirements for government workloads."]moduleStandbyReplicas=structtypenonrect=|ENABLED|DISABLED|Non_static_idofstringletmakei=iletto_string=function|ENABLED->"ENABLED"|DISABLED->"DISABLED"|Non_static_ids->sletof_string=function|"ENABLED"->ENABLED|"DISABLED"->DISABLED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration StandbyReplicas"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"StandbyReplicas"j)letto_json=simple_to_jsonto_valueendmoduleVectorOptions=structtypenonrect={serverlessVectorAcceleration:ServerlessVectorAccelerationStatus.t[@ocaml.doc"Specifies whether serverless vector acceleration is enabled for the collection."]}letcontext_="VectorOptions"letmake~serverlessVectorAcceleration=fun()->{serverlessVectorAcceleration}letto_valuex=structure_to_value[("ServerlessVectorAcceleration",(Some(ServerlessVectorAccelerationStatus.to_valuex.serverlessVectorAcceleration)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserverlessVectorAcceleration=ServerlessVectorAccelerationStatus.of_xml(Xml.child_exn~context:context_xml_arg0"ServerlessVectorAcceleration")inmake~serverlessVectorAcceleration()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserverlessVectorAcceleration=field_map_exnjson__"ServerlessVectorAcceleration"ServerlessVectorAccelerationStatus.of_jsoninmake~serverlessVectorAcceleration()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration options for vector search capabilities in an OpenSearch Serverless collection."]moduleTags=structtypenonrect=Tag.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Tag.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Tag.of_xml)letof_jsonj=list_of_json~kind:"Tags"~of_json:Tag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleIamFederationConfigOptions=structtypenonrect={groupAttribute:IamFederationGroupAttribute.toption[@ocaml.doc"The group attribute for this IAM federation integration. This attribute is used to map identity provider groups to OpenSearch Serverless permissions."];userAttribute:IamFederationUserAttribute.toption[@ocaml.doc"The user attribute for this IAM federation integration. This attribute is used to identify users in the federated authentication process."]}letmake?groupAttribute=fun?userAttribute->fun()->{groupAttribute;userAttribute}letto_valuex=structure_to_value[("groupAttribute",(Option.mapx.groupAttribute~f:IamFederationGroupAttribute.to_value));("userAttribute",(Option.mapx.userAttribute~f:IamFederationUserAttribute.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuserAttribute=(Option.map~f:IamFederationUserAttribute.of_xml)(Xml.childxml_arg0"userAttribute")inletgroupAttribute=(Option.map~f:IamFederationGroupAttribute.of_xml)(Xml.childxml_arg0"groupAttribute")inmake?userAttribute?groupAttribute()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuserAttribute=field_mapjson__"userAttribute"IamFederationUserAttribute.of_jsoninletgroupAttribute=field_mapjson__"groupAttribute"IamFederationGroupAttribute.of_jsoninmake?userAttribute?groupAttribute()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes IAM federation options for an OpenSearch Serverless security configuration in the form of a key-value map. These options define how OpenSearch Serverless integrates with external identity providers using federation."]moduleIamIdentityCenterConfigOptions=structtypenonrect={instanceArn:IamIdentityCenterInstanceArn.toption[@ocaml.doc"The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless."];applicationArn:IamIdentityCenterApplicationArn.toption[@ocaml.doc"The ARN of the IAM Identity Center application used to integrate with OpenSearch Serverless."];applicationName:String_.toption[@ocaml.doc"The name of the IAM Identity Center application used to integrate with OpenSearch Serverless."];applicationDescription:String_.toption[@ocaml.doc"The description of the IAM Identity Center application used to integrate with OpenSearch Serverless."];userAttribute:IamIdentityCenterUserAttribute.toption[@ocaml.doc"The user attribute for this IAM Identity Center integration. Defaults to UserId"];groupAttribute:IamIdentityCenterGroupAttribute.toption[@ocaml.doc"The group attribute for this IAM Identity Center integration. Defaults to GroupId."]}letmake?instanceArn=fun?applicationArn->fun?applicationName->fun?applicationDescription->fun?userAttribute->fun?groupAttribute->fun()->{instanceArn;applicationArn;applicationName;applicationDescription;userAttribute;groupAttribute}letto_valuex=structure_to_value[("instanceArn",(Option.mapx.instanceArn~f:IamIdentityCenterInstanceArn.to_value));("applicationArn",(Option.mapx.applicationArn~f:IamIdentityCenterApplicationArn.to_value));("applicationName",(Option.mapx.applicationName~f:String_.to_value));("applicationDescription",(Option.mapx.applicationDescription~f:String_.to_value));("userAttribute",(Option.mapx.userAttribute~f:IamIdentityCenterUserAttribute.to_value));("groupAttribute",(Option.mapx.groupAttribute~f:IamIdentityCenterGroupAttribute.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupAttribute=(Option.map~f:IamIdentityCenterGroupAttribute.of_xml)(Xml.childxml_arg0"groupAttribute")inletuserAttribute=(Option.map~f:IamIdentityCenterUserAttribute.of_xml)(Xml.childxml_arg0"userAttribute")inletapplicationDescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"applicationDescription")inletapplicationName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"applicationName")inletapplicationArn=(Option.map~f:IamIdentityCenterApplicationArn.of_xml)(Xml.childxml_arg0"applicationArn")inletinstanceArn=(Option.map~f:IamIdentityCenterInstanceArn.of_xml)(Xml.childxml_arg0"instanceArn")inmake?groupAttribute?userAttribute?applicationDescription?applicationName?applicationArn?instanceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupAttribute=field_mapjson__"groupAttribute"IamIdentityCenterGroupAttribute.of_jsoninletuserAttribute=field_mapjson__"userAttribute"IamIdentityCenterUserAttribute.of_jsoninletapplicationDescription=field_mapjson__"applicationDescription"String_.of_jsoninletapplicationName=field_mapjson__"applicationName"String_.of_jsoninletapplicationArn=field_mapjson__"applicationArn"IamIdentityCenterApplicationArn.of_jsoninletinstanceArn=field_mapjson__"instanceArn"IamIdentityCenterInstanceArn.of_jsoninmake?groupAttribute?userAttribute?applicationDescription?applicationName?applicationArn?instanceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes IAM Identity Center options for an OpenSearch Serverless security configuration in the form of a key-value map."]moduleSamlConfigOptions=structtypenonrect={metadata:SamlMetadata.t[@ocaml.doc"The XML IdP metadata file generated from your identity provider."];userAttribute:SamlUserAttribute.toption[@ocaml.doc"A user attribute for this SAML integration."];groupAttribute:SamlGroupAttribute.toption[@ocaml.doc"The group attribute for this SAML integration."];openSearchServerlessEntityId:OpenSearchServerlessEntityId.toption[@ocaml.doc"Custom entity ID attribute to override the default entity ID for this SAML integration."];sessionTimeout:SamlConfigOptionsSessionTimeoutInteger.toption[@ocaml.doc"The session timeout, in minutes. Default is 60 minutes (12 hours)."]}letcontext_="SamlConfigOptions"letmake?userAttribute=fun?groupAttribute->fun?openSearchServerlessEntityId->fun?sessionTimeout->fun~metadata->fun()->{userAttribute;groupAttribute;openSearchServerlessEntityId;sessionTimeout;metadata}letto_valuex=structure_to_value[("metadata",(Some(SamlMetadata.to_valuex.metadata)));("userAttribute",(Option.mapx.userAttribute~f:SamlUserAttribute.to_value));("groupAttribute",(Option.mapx.groupAttribute~f:SamlGroupAttribute.to_value));("openSearchServerlessEntityId",(Option.mapx.openSearchServerlessEntityId~f:OpenSearchServerlessEntityId.to_value));("sessionTimeout",(Option.mapx.sessionTimeout~f:SamlConfigOptionsSessionTimeoutInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsessionTimeout=(Option.map~f:SamlConfigOptionsSessionTimeoutInteger.of_xml)(Xml.childxml_arg0"sessionTimeout")inletopenSearchServerlessEntityId=(Option.map~f:OpenSearchServerlessEntityId.of_xml)(Xml.childxml_arg0"openSearchServerlessEntityId")inletgroupAttribute=(Option.map~f:SamlGroupAttribute.of_xml)(Xml.childxml_arg0"groupAttribute")inletuserAttribute=(Option.map~f:SamlUserAttribute.of_xml)(Xml.childxml_arg0"userAttribute")inletmetadata=SamlMetadata.of_xml(Xml.child_exn~context:context_xml_arg0"metadata")inmake?sessionTimeout?openSearchServerlessEntityId?groupAttribute?userAttribute~metadata()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsessionTimeout=field_mapjson__"sessionTimeout"SamlConfigOptionsSessionTimeoutInteger.of_jsoninletopenSearchServerlessEntityId=field_mapjson__"openSearchServerlessEntityId"OpenSearchServerlessEntityId.of_jsoninletgroupAttribute=field_mapjson__"groupAttribute"SamlGroupAttribute.of_jsoninletuserAttribute=field_mapjson__"userAttribute"SamlUserAttribute.of_jsoninletmetadata=field_map_exnjson__"metadata"SamlMetadata.of_jsoninmake?sessionTimeout?openSearchServerlessEntityId?groupAttribute?userAttribute~metadata()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes SAML options for an OpenSearch Serverless security configuration in the form of a key-value map."]moduleCapacityLimits=structtypenonrect={maxIndexingCapacityInOCU:IndexingCapacityValue.toption[@ocaml.doc"The maximum indexing capacity for collections."];maxSearchCapacityInOCU:SearchCapacityValue.toption[@ocaml.doc"The maximum search capacity for collections."]}letmake?maxIndexingCapacityInOCU=fun?maxSearchCapacityInOCU->fun()->{maxIndexingCapacityInOCU;maxSearchCapacityInOCU}letto_valuex=structure_to_value[("maxIndexingCapacityInOCU",(Option.mapx.maxIndexingCapacityInOCU~f:IndexingCapacityValue.to_value));("maxSearchCapacityInOCU",(Option.mapx.maxSearchCapacityInOCU~f:SearchCapacityValue.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxSearchCapacityInOCU=(Option.map~f:SearchCapacityValue.of_xml)(Xml.childxml_arg0"maxSearchCapacityInOCU")inletmaxIndexingCapacityInOCU=(Option.map~f:IndexingCapacityValue.of_xml)(Xml.childxml_arg0"maxIndexingCapacityInOCU")inmake?maxSearchCapacityInOCU?maxIndexingCapacityInOCU()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxSearchCapacityInOCU=field_mapjson__"maxSearchCapacityInOCU"SearchCapacityValue.of_jsoninletmaxIndexingCapacityInOCU=field_mapjson__"maxIndexingCapacityInOCU"IndexingCapacityValue.of_jsoninmake?maxSearchCapacityInOCU?maxIndexingCapacityInOCU()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The maximum capacity limits for all OpenSearch Serverless collections, in OpenSearch Compute Units (OCUs). These limits are used to scale your collections based on the current workload. For more information, see Managing capacity limits for Amazon OpenSearch Serverless."]moduleVpcEndpointSummary=structtypenonrect={id:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the endpoint."];name:VpcEndpointName.toption[@ocaml.doc"The name of the endpoint."];status:VpcEndpointStatus.toption[@ocaml.doc"The current status of the endpoint."]}letmake?id=fun?name->fun?status->fun()->{id;name;status}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:VpcEndpointId.to_value));("name",(Option.mapx.name~f:VpcEndpointName.to_value));("status",(Option.mapx.status~f:VpcEndpointStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:VpcEndpointStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:VpcEndpointName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"id")inmake?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"VpcEndpointStatus.of_jsoninletname=field_mapjson__"name"VpcEndpointName.of_jsoninletid=field_mapjson__"id"VpcEndpointId.of_jsoninmake?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The VPC endpoint object."]moduleSecurityPolicySummary=structtypenonrect={type_:SecurityPolicyType.toption[@ocaml.doc"The type of security policy."];name:PolicyName.toption[@ocaml.doc"The name of the policy."];policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the policy."];description:PolicyDescription.toption[@ocaml.doc"The description of the security policy."];createdDate:Long.toption[@ocaml.doc"The date the policy was created."];lastModifiedDate:Long.toption[@ocaml.doc"The timestamp of when the policy was last modified."]}letmake?type_=fun?name->fun?policyVersion->fun?description->fun?createdDate->fun?lastModifiedDate->fun()->{type_;name;policyVersion;description;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:SecurityPolicyType.to_value));("name",(Option.mapx.name~f:PolicyName.to_value));("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value));("description",(Option.mapx.description~f:PolicyDescription.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inletname=(Option.map~f:PolicyName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:SecurityPolicyType.of_xml)(Xml.childxml_arg0"type")inmake?lastModifiedDate?createdDate?description?policyVersion?name?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninletname=field_mapjson__"name"PolicyName.of_jsoninlettype_=field_mapjson__"type"SecurityPolicyType.of_jsoninmake?lastModifiedDate?createdDate?description?policyVersion?name?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of a security policy for OpenSearch Serverless."]moduleSecurityConfigSummary=structtypenonrect={id:SecurityConfigId.toption[@ocaml.doc"The unique identifier of the security configuration."];type_:SecurityConfigType.toption[@ocaml.doc"The type of security configuration."];configVersion:PolicyVersion.toption[@ocaml.doc"The version of the security configuration."];description:ConfigDescription.toption[@ocaml.doc"The description of the security configuration."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the security configuration was created."];lastModifiedDate:Long.toption[@ocaml.doc"The timestamp of when the configuration was last modified."]}letmake?id=fun?type_->fun?configVersion->fun?description->fun?createdDate->fun?lastModifiedDate->fun()->{id;type_;configVersion;description;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:SecurityConfigId.to_value));("type",(Option.mapx.type_~f:SecurityConfigType.to_value));("configVersion",(Option.mapx.configVersion~f:PolicyVersion.to_value));("description",(Option.mapx.description~f:ConfigDescription.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletdescription=(Option.map~f:ConfigDescription.of_xml)(Xml.childxml_arg0"description")inletconfigVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"configVersion")inlettype_=(Option.map~f:SecurityConfigType.of_xml)(Xml.childxml_arg0"type")inletid=(Option.map~f:SecurityConfigId.of_xml)(Xml.childxml_arg0"id")inmake?lastModifiedDate?createdDate?description?configVersion?type_?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletdescription=field_mapjson__"description"ConfigDescription.of_jsoninletconfigVersion=field_mapjson__"configVersion"PolicyVersion.of_jsoninlettype_=field_mapjson__"type"SecurityConfigType.of_jsoninletid=field_mapjson__"id"SecurityConfigId.of_jsoninmake?lastModifiedDate?createdDate?description?configVersion?type_?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of a security configuration for OpenSearch Serverless."]moduleLifecyclePolicySummary=structtypenonrect={type_:LifecyclePolicyType.toption[@ocaml.doc"The type of lifecycle policy."];name:PolicyName.toption[@ocaml.doc"The name of the lifecycle policy."];policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the lifecycle policy."];description:PolicyDescription.toption[@ocaml.doc"The description of the lifecycle policy."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the lifecycle policy was created."];lastModifiedDate:Long.toption[@ocaml.doc"The date and time when the lifecycle policy was last modified."]}letmake?type_=fun?name->fun?policyVersion->fun?description->fun?createdDate->fun?lastModifiedDate->fun()->{type_;name;policyVersion;description;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:LifecyclePolicyType.to_value));("name",(Option.mapx.name~f:PolicyName.to_value));("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value));("description",(Option.mapx.description~f:PolicyDescription.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inletname=(Option.map~f:PolicyName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:LifecyclePolicyType.of_xml)(Xml.childxml_arg0"type")inmake?lastModifiedDate?createdDate?description?policyVersion?name?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninletname=field_mapjson__"name"PolicyName.of_jsoninlettype_=field_mapjson__"type"LifecyclePolicyType.of_jsoninmake?lastModifiedDate?createdDate?description?policyVersion?name?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the lifecycle policy."]moduleLifecycleResource=structtypenonrect=stringletcontext_="LifecycleResource"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"LifecycleResource"jletto_json=simple_to_jsonto_valueendmoduleCollectionSummary=structtypenonrect={id:CollectionId.toption[@ocaml.doc"The unique identifier of the collection."];name:CollectionName.toption[@ocaml.doc"The name of the collection."];status:CollectionStatus.toption[@ocaml.doc"The current status of the collection."];arn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the collection."];kmsKeyArn:String_.toption[@ocaml.doc"The ARN of the Amazon Web Services Key Management Service key used to encrypt the collection."];collectionGroupName:CollectionGroupName.toption[@ocaml.doc"The name of the collection group that contains this collection."]}letmake?id=fun?name->fun?status->fun?arn->fun?kmsKeyArn->fun?collectionGroupName->fun()->{id;name;status;arn;kmsKeyArn;collectionGroupName}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionId.to_value));("name",(Option.mapx.name~f:CollectionName.to_value));("status",(Option.mapx.status~f:CollectionStatus.to_value));("arn",(Option.mapx.arn~f:String_.to_value));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:String_.to_value));("collectionGroupName",(Option.mapx.collectionGroupName~f:CollectionGroupName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcollectionGroupName=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"collectionGroupName")inletkmsKeyArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletarn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:CollectionStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:CollectionName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:CollectionId.of_xml)(Xml.childxml_arg0"id")inmake?collectionGroupName?kmsKeyArn?arn?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcollectionGroupName=field_mapjson__"collectionGroupName"CollectionGroupName.of_jsoninletkmsKeyArn=field_mapjson__"kmsKeyArn"String_.of_jsoninletarn=field_mapjson__"arn"String_.of_jsoninletstatus=field_mapjson__"status"CollectionStatus.of_jsoninletname=field_mapjson__"name"CollectionName.of_jsoninletid=field_mapjson__"id"CollectionId.of_jsoninmake?collectionGroupName?kmsKeyArn?arn?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about each OpenSearch Serverless collection."]moduleCollectionGroupSummary=structtypenonrect={id:CollectionGroupId.toption[@ocaml.doc"The unique identifier of the collection group."];arn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the collection group."];name:CollectionGroupName.toption[@ocaml.doc"The name of the collection group."];numberOfCollections:Integer.toption[@ocaml.doc"The number of collections within the collection group."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the collection group was created."];capacityLimits:CollectionGroupCapacityLimits.toption}letmake?id=fun?arn->fun?name->fun?numberOfCollections->fun?createdDate->fun?capacityLimits->fun()->{id;arn;name;numberOfCollections;createdDate;capacityLimits}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionGroupId.to_value));("arn",(Option.mapx.arn~f:String_.to_value));("name",(Option.mapx.name~f:CollectionGroupName.to_value));("numberOfCollections",(Option.mapx.numberOfCollections~f:Integer.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("capacityLimits",(Option.mapx.capacityLimits~f:CollectionGroupCapacityLimits.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcapacityLimits=(Option.map~f:CollectionGroupCapacityLimits.of_xml)(Xml.childxml_arg0"capacityLimits")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletnumberOfCollections=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"numberOfCollections")inletname=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:CollectionGroupId.of_xml)(Xml.childxml_arg0"id")inmake?capacityLimits?createdDate?numberOfCollections?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcapacityLimits=field_mapjson__"capacityLimits"CollectionGroupCapacityLimits.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletnumberOfCollections=field_mapjson__"numberOfCollections"Integer.of_jsoninletname=field_mapjson__"name"CollectionGroupName.of_jsoninletarn=field_mapjson__"arn"String_.of_jsoninletid=field_mapjson__"id"CollectionGroupId.of_jsoninmake?capacityLimits?createdDate?numberOfCollections?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a collection group."]moduleAccessPolicySummary=structtypenonrect={type_:AccessPolicyType.toption[@ocaml.doc"The type of access policy. Currently, the only available type is data."];name:PolicyName.toption[@ocaml.doc"The name of the access policy."];policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the policy."];description:PolicyDescription.toption[@ocaml.doc"The description of the access policy."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the access policy was created."];lastModifiedDate:Long.toption[@ocaml.doc"The date and time when the collection was last modified."]}letmake?type_=fun?name->fun?policyVersion->fun?description->fun?createdDate->fun?lastModifiedDate->fun()->{type_;name;policyVersion;description;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:AccessPolicyType.to_value));("name",(Option.mapx.name~f:PolicyName.to_value));("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value));("description",(Option.mapx.description~f:PolicyDescription.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inletname=(Option.map~f:PolicyName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:AccessPolicyType.of_xml)(Xml.childxml_arg0"type")inmake?lastModifiedDate?createdDate?description?policyVersion?name?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninletname=field_mapjson__"name"PolicyName.of_jsoninlettype_=field_mapjson__"type"AccessPolicyType.of_jsoninmake?lastModifiedDate?createdDate?description?policyVersion?name?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the data access policy."]moduleEncryptionConfigKmsKeyArnString=structtypenonrect=stringletcontext_="EncryptionConfigKmsKeyArnString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:10)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):kms:[a-z0-9-]+:[0-9]{12}:key/[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EncryptionConfigKmsKeyArnString"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointDetail=structtypenonrect={id:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the endpoint."];name:VpcEndpointName.toption[@ocaml.doc"The name of the endpoint."];vpcId:VpcId.toption[@ocaml.doc"The ID of the VPC from which you access OpenSearch Serverless."];subnetIds:SubnetIds.toption[@ocaml.doc"The ID of the subnets from which you access OpenSearch Serverless."];securityGroupIds:SecurityGroupIds.toption[@ocaml.doc"The unique identifiers of the security groups that define the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint."];status:VpcEndpointStatus.toption[@ocaml.doc"The current status of the endpoint."];createdDate:Long.toption[@ocaml.doc"The date the endpoint was created."];failureCode:String_.toption[@ocaml.doc"A failure code associated with the request."];failureMessage:String_.toption[@ocaml.doc"A message associated with the failure code."]}letmake?id=fun?name->fun?vpcId->fun?subnetIds->fun?securityGroupIds->fun?status->fun?createdDate->fun?failureCode->fun?failureMessage->fun()->{id;name;vpcId;subnetIds;securityGroupIds;status;createdDate;failureCode;failureMessage}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:VpcEndpointId.to_value));("name",(Option.mapx.name~f:VpcEndpointName.to_value));("vpcId",(Option.mapx.vpcId~f:VpcId.to_value));("subnetIds",(Option.mapx.subnetIds~f:SubnetIds.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupIds.to_value));("status",(Option.mapx.status~f:VpcEndpointStatus.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("failureCode",(Option.mapx.failureCode~f:String_.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletfailureCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureCode")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletstatus=(Option.map~f:VpcEndpointStatus.of_xml)(Xml.childxml_arg0"status")inletsecurityGroupIds=(Option.map~f:SecurityGroupIds.of_xml)(Xml.childxml_arg0"securityGroupIds")inletsubnetIds=(Option.map~f:SubnetIds.of_xml)(Xml.childxml_arg0"subnetIds")inletvpcId=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcId")inletname=(Option.map~f:VpcEndpointName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"id")inmake?failureMessage?failureCode?createdDate?status?securityGroupIds?subnetIds?vpcId?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletfailureCode=field_mapjson__"failureCode"String_.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletstatus=field_mapjson__"status"VpcEndpointStatus.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupIds.of_jsoninletsubnetIds=field_mapjson__"subnetIds"SubnetIds.of_jsoninletvpcId=field_mapjson__"vpcId"VpcId.of_jsoninletname=field_mapjson__"name"VpcEndpointName.of_jsoninletid=field_mapjson__"id"VpcEndpointId.of_jsoninmake?failureMessage?failureCode?createdDate?status?securityGroupIds?subnetIds?vpcId?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about an OpenSearch Serverless-managed interface endpoint."]moduleVpcEndpointErrorDetail=structtypenonrect={id:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the VPC endpoint."];errorMessage:String_.toption[@ocaml.doc"An error message describing the reason for the failure."];errorCode:String_.toption[@ocaml.doc"The error code for the failed request."]}letmake?id=fun?errorMessage->fun?errorCode->fun()->{id;errorMessage;errorCode}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:VpcEndpointId.to_value));("errorMessage",(Option.mapx.errorMessage~f:String_.to_value));("errorCode",(Option.mapx.errorCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorCode")inleterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorMessage")inletid=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"id")inmake?errorCode?errorMessage?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorCode=field_mapjson__"errorCode"String_.of_jsoninleterrorMessage=field_mapjson__"errorMessage"String_.of_jsoninletid=field_mapjson__"id"VpcEndpointId.of_jsoninmake?errorCode?errorMessage?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information for a failed BatchGetVpcEndpoint request."]moduleLifecyclePolicyDetail=structtypenonrect={type_:LifecyclePolicyType.toption[@ocaml.doc"The type of lifecycle policy."];name:PolicyName.toption[@ocaml.doc"The name of the lifecycle policy."];policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the lifecycle policy."];description:PolicyDescription.toption[@ocaml.doc"The description of the lifecycle policy."];policy:Document.toption[@ocaml.doc"The JSON policy document without any whitespaces."];createdDate:Long.toption[@ocaml.doc"The date the lifecycle policy was created."];lastModifiedDate:Long.toption[@ocaml.doc"The timestamp of when the lifecycle policy was last modified."]}letmake?type_=fun?name->fun?policyVersion->fun?description->fun?policy->fun?createdDate->fun?lastModifiedDate->fun()->{type_;name;policyVersion;description;policy;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:LifecyclePolicyType.to_value));("name",(Option.mapx.name~f:PolicyName.to_value));("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Option.mapx.policy~f:Document.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletpolicy=(Option.map~f:Document.of_xml)(Xml.childxml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inletname=(Option.map~f:PolicyName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:LifecyclePolicyType.of_xml)(Xml.childxml_arg0"type")inmake?lastModifiedDate?createdDate?policy?description?policyVersion?name?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletpolicy=field_mapjson__"policy"Document.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninletname=field_mapjson__"name"PolicyName.of_jsoninlettype_=field_mapjson__"type"LifecyclePolicyType.of_jsoninmake?lastModifiedDate?createdDate?policy?description?policyVersion?name?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about an OpenSearch Serverless lifecycle policy."]moduleLifecyclePolicyErrorDetail=structtypenonrect={type_:LifecyclePolicyType.toption[@ocaml.doc"The type of lifecycle policy."];name:PolicyName.toption[@ocaml.doc"The name of the lifecycle policy."];errorMessage:String_.toption[@ocaml.doc"A description of the error. For example, The specified Lifecycle Policy is not found."];errorCode:String_.toption[@ocaml.doc"The error code for the request. For example, NOT_FOUND."]}letmake?type_=fun?name->fun?errorMessage->fun?errorCode->fun()->{type_;name;errorMessage;errorCode}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:LifecyclePolicyType.to_value));("name",(Option.mapx.name~f:PolicyName.to_value));("errorMessage",(Option.mapx.errorMessage~f:String_.to_value));("errorCode",(Option.mapx.errorCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorCode")inleterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorMessage")inletname=(Option.map~f:PolicyName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:LifecyclePolicyType.of_xml)(Xml.childxml_arg0"type")inmake?errorCode?errorMessage?name?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorCode=field_mapjson__"errorCode"String_.of_jsoninleterrorMessage=field_mapjson__"errorMessage"String_.of_jsoninletname=field_mapjson__"name"PolicyName.of_jsoninlettype_=field_mapjson__"type"LifecyclePolicyType.of_jsoninmake?errorCode?errorMessage?name?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information for an OpenSearch Serverless request."]moduleLifecyclePolicyIdentifier=structtypenonrect={type_:LifecyclePolicyType.t[@ocaml.doc"The type of lifecycle policy."];name:PolicyName.t[@ocaml.doc"The name of the lifecycle policy."]}letcontext_="LifecyclePolicyIdentifier"letmake~type_=fun~name->fun()->{type_;name}letto_valuex=structure_to_value[("type",(Some(LifecyclePolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=LifecyclePolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"LifecyclePolicyType.of_jsoninmake~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The unique identifiers of policy types and policy names."]moduleEffectiveLifecyclePolicyDetail=structtypenonrect={type_:LifecyclePolicyType.toption[@ocaml.doc"The type of lifecycle policy."];resource:Resource.toption[@ocaml.doc"The name of the OpenSearch Serverless index resource."];policyName:PolicyName.toption[@ocaml.doc"The name of the lifecycle policy."];resourceType:ResourceType.toption[@ocaml.doc"The type of OpenSearch Serverless resource. Currently, the only supported resource is index."];retentionPeriod:String_.toption[@ocaml.doc"The minimum number of index retention in days or hours. This is an optional parameter that will return only if it\226\128\153s set."];noMinRetentionPeriod:Boolean.toption[@ocaml.doc"The minimum number of index retention days set. That is an optional param that will return as true if the minimum number of days or hours is not set to a index resource."]}letmake?type_=fun?resource->fun?policyName->fun?resourceType->fun?retentionPeriod->fun?noMinRetentionPeriod->fun()->{type_;resource;policyName;resourceType;retentionPeriod;noMinRetentionPeriod}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:LifecyclePolicyType.to_value));("resource",(Option.mapx.resource~f:Resource.to_value));("policyName",(Option.mapx.policyName~f:PolicyName.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value));("retentionPeriod",(Option.mapx.retentionPeriod~f:String_.to_value));("noMinRetentionPeriod",(Option.mapx.noMinRetentionPeriod~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnoMinRetentionPeriod=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"noMinRetentionPeriod")inletretentionPeriod=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"retentionPeriod")inletresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletpolicyName=(Option.map~f:PolicyName.of_xml)(Xml.childxml_arg0"policyName")inletresource=(Option.map~f:Resource.of_xml)(Xml.childxml_arg0"resource")inlettype_=(Option.map~f:LifecyclePolicyType.of_xml)(Xml.childxml_arg0"type")inmake?noMinRetentionPeriod?retentionPeriod?resourceType?policyName?resource?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnoMinRetentionPeriod=field_mapjson__"noMinRetentionPeriod"Boolean.of_jsoninletretentionPeriod=field_mapjson__"retentionPeriod"String_.of_jsoninletresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletpolicyName=field_mapjson__"policyName"PolicyName.of_jsoninletresource=field_mapjson__"resource"Resource.of_jsoninlettype_=field_mapjson__"type"LifecyclePolicyType.of_jsoninmake?noMinRetentionPeriod?retentionPeriod?resourceType?policyName?resource?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information for an OpenSearch Serverless request."]moduleEffectiveLifecyclePolicyErrorDetail=structtypenonrect={type_:LifecyclePolicyType.toption[@ocaml.doc"The type of lifecycle policy."];resource:Resource.toption[@ocaml.doc"The name of OpenSearch Serverless index resource."];errorMessage:String_.toption[@ocaml.doc"A description of the error. For example, The specified Index resource is not found."];errorCode:String_.toption[@ocaml.doc"The error code for the request."]}letmake?type_=fun?resource->fun?errorMessage->fun?errorCode->fun()->{type_;resource;errorMessage;errorCode}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:LifecyclePolicyType.to_value));("resource",(Option.mapx.resource~f:Resource.to_value));("errorMessage",(Option.mapx.errorMessage~f:String_.to_value));("errorCode",(Option.mapx.errorCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorCode")inleterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorMessage")inletresource=(Option.map~f:Resource.of_xml)(Xml.childxml_arg0"resource")inlettype_=(Option.map~f:LifecyclePolicyType.of_xml)(Xml.childxml_arg0"type")inmake?errorCode?errorMessage?resource?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorCode=field_mapjson__"errorCode"String_.of_jsoninleterrorMessage=field_mapjson__"errorMessage"String_.of_jsoninletresource=field_mapjson__"resource"Resource.of_jsoninlettype_=field_mapjson__"type"LifecyclePolicyType.of_jsoninmake?errorCode?errorMessage?resource?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information for an OpenSearch Serverless request."]moduleLifecyclePolicyResourceIdentifier=structtypenonrect={type_:LifecyclePolicyType.t[@ocaml.doc"The type of lifecycle policy."];resource:ResourceName.t[@ocaml.doc"The name of the OpenSearch Serverless ilndex resource."]}letcontext_="LifecyclePolicyResourceIdentifier"letmake~type_=fun~resource->fun()->{type_;resource}letto_valuex=structure_to_value[("type",(Some(LifecyclePolicyType.to_valuex.type_)));("resource",(Some(ResourceName.to_valuex.resource)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresource=ResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"resource")inlettype_=LifecyclePolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake~resource~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresource=field_map_exnjson__"resource"ResourceName.of_jsoninlettype_=field_map_exnjson__"type"LifecyclePolicyType.of_jsoninmake~resource~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The unique identifiers of policy types and resource names."]moduleCollectionDetail=structtypenonrect={id:CollectionId.toption[@ocaml.doc"A unique identifier for the collection."];name:CollectionName.toption[@ocaml.doc"The name of the collection."];status:CollectionStatus.toption[@ocaml.doc"The current status of the collection."];type_:CollectionType.toption[@ocaml.doc"The type of collection."];description:String_.toption[@ocaml.doc"A description of the collection."];arn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the collection."];kmsKeyArn:String_.toption[@ocaml.doc"The ARN of the Amazon Web Services KMS key used to encrypt the collection."];standbyReplicas:StandbyReplicas.toption[@ocaml.doc"Details about an OpenSearch Serverless collection."];vectorOptions:VectorOptions.toption[@ocaml.doc"Configuration options for vector search capabilities in the collection."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the collection was created."];lastModifiedDate:Long.toption[@ocaml.doc"The date and time when the collection was last modified."];collectionEndpoint:String_.toption[@ocaml.doc"Collection-specific endpoint used to submit index, search, and data upload requests to an OpenSearch Serverless collection."];dashboardEndpoint:String_.toption[@ocaml.doc"Collection-specific endpoint used to access OpenSearch Dashboards."];fipsEndpoints:FipsEndpoints.toption[@ocaml.doc"FIPS-compliant endpoints for the collection. These endpoints use FIPS 140-3 validated cryptographic modules and are required for federal government workloads that must comply with FedRAMP security standards."];failureCode:String_.toption[@ocaml.doc"A failure code associated with the request."];failureMessage:String_.toption[@ocaml.doc"A message associated with the failure code."];collectionGroupName:CollectionGroupName.toption[@ocaml.doc"The name of the collection group that contains this collection."]}letmake?id=fun?name->fun?status->fun?type_->fun?description->fun?arn->fun?kmsKeyArn->fun?standbyReplicas->fun?vectorOptions->fun?createdDate->fun?lastModifiedDate->fun?collectionEndpoint->fun?dashboardEndpoint->fun?fipsEndpoints->fun?failureCode->fun?failureMessage->fun?collectionGroupName->fun()->{id;name;status;type_;description;arn;kmsKeyArn;standbyReplicas;vectorOptions;createdDate;lastModifiedDate;collectionEndpoint;dashboardEndpoint;fipsEndpoints;failureCode;failureMessage;collectionGroupName}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionId.to_value));("name",(Option.mapx.name~f:CollectionName.to_value));("status",(Option.mapx.status~f:CollectionStatus.to_value));("type",(Option.mapx.type_~f:CollectionType.to_value));("description",(Option.mapx.description~f:String_.to_value));("arn",(Option.mapx.arn~f:String_.to_value));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:String_.to_value));("standbyReplicas",(Option.mapx.standbyReplicas~f:StandbyReplicas.to_value));("vectorOptions",(Option.mapx.vectorOptions~f:VectorOptions.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value));("collectionEndpoint",(Option.mapx.collectionEndpoint~f:String_.to_value));("dashboardEndpoint",(Option.mapx.dashboardEndpoint~f:String_.to_value));("fipsEndpoints",(Option.mapx.fipsEndpoints~f:FipsEndpoints.to_value));("failureCode",(Option.mapx.failureCode~f:String_.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value));("collectionGroupName",(Option.mapx.collectionGroupName~f:CollectionGroupName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcollectionGroupName=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"collectionGroupName")inletfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletfailureCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureCode")inletfipsEndpoints=(Option.map~f:FipsEndpoints.of_xml)(Xml.childxml_arg0"fipsEndpoints")inletdashboardEndpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"dashboardEndpoint")inletcollectionEndpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"collectionEndpoint")inletlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletvectorOptions=(Option.map~f:VectorOptions.of_xml)(Xml.childxml_arg0"vectorOptions")inletstandbyReplicas=(Option.map~f:StandbyReplicas.of_xml)(Xml.childxml_arg0"standbyReplicas")inletkmsKeyArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletarn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"arn")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inlettype_=(Option.map~f:CollectionType.of_xml)(Xml.childxml_arg0"type")inletstatus=(Option.map~f:CollectionStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:CollectionName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:CollectionId.of_xml)(Xml.childxml_arg0"id")inmake?collectionGroupName?failureMessage?failureCode?fipsEndpoints?dashboardEndpoint?collectionEndpoint?lastModifiedDate?createdDate?vectorOptions?standbyReplicas?kmsKeyArn?arn?description?type_?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcollectionGroupName=field_mapjson__"collectionGroupName"CollectionGroupName.of_jsoninletfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletfailureCode=field_mapjson__"failureCode"String_.of_jsoninletfipsEndpoints=field_mapjson__"fipsEndpoints"FipsEndpoints.of_jsoninletdashboardEndpoint=field_mapjson__"dashboardEndpoint"String_.of_jsoninletcollectionEndpoint=field_mapjson__"collectionEndpoint"String_.of_jsoninletlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletvectorOptions=field_mapjson__"vectorOptions"VectorOptions.of_jsoninletstandbyReplicas=field_mapjson__"standbyReplicas"StandbyReplicas.of_jsoninletkmsKeyArn=field_mapjson__"kmsKeyArn"String_.of_jsoninletarn=field_mapjson__"arn"String_.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninlettype_=field_mapjson__"type"CollectionType.of_jsoninletstatus=field_mapjson__"status"CollectionStatus.of_jsoninletname=field_mapjson__"name"CollectionName.of_jsoninletid=field_mapjson__"id"CollectionId.of_jsoninmake?collectionGroupName?failureMessage?failureCode?fipsEndpoints?dashboardEndpoint?collectionEndpoint?lastModifiedDate?createdDate?vectorOptions?standbyReplicas?kmsKeyArn?arn?description?type_?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about each OpenSearch Serverless collection, including the collection endpoint, the OpenSearch Dashboards endpoint, and FIPS-compliant endpoints for federal government workloads."]moduleCollectionErrorDetail=structtypenonrect={id:CollectionId.toption[@ocaml.doc"If the request contains collection IDs, the response includes the IDs provided in the request."];name:CollectionName.toption[@ocaml.doc"If the request contains collection names, the response includes the names provided in the request."];errorMessage:String_.toption[@ocaml.doc"A description of the error. For example, The specified Collection is not found."];errorCode:String_.toption[@ocaml.doc"The error code for the request. For example, NOT_FOUND."]}letmake?id=fun?name->fun?errorMessage->fun?errorCode->fun()->{id;name;errorMessage;errorCode}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionId.to_value));("name",(Option.mapx.name~f:CollectionName.to_value));("errorMessage",(Option.mapx.errorMessage~f:String_.to_value));("errorCode",(Option.mapx.errorCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorCode")inleterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorMessage")inletname=(Option.map~f:CollectionName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:CollectionId.of_xml)(Xml.childxml_arg0"id")inmake?errorCode?errorMessage?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorCode=field_mapjson__"errorCode"String_.of_jsoninleterrorMessage=field_mapjson__"errorMessage"String_.of_jsoninletname=field_mapjson__"name"CollectionName.of_jsoninletid=field_mapjson__"id"CollectionId.of_jsoninmake?errorCode?errorMessage?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information for an OpenSearch Serverless request."]moduleCollectionGroupDetail=structtypenonrect={id:CollectionGroupId.toption[@ocaml.doc"The unique identifier of the collection group."];arn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the collection group."];name:CollectionGroupName.toption[@ocaml.doc"The name of the collection group."];standbyReplicas:StandbyReplicas.toption[@ocaml.doc"Indicates whether standby replicas are used for the collection group."];description:String_.toption[@ocaml.doc"The description of the collection group."];tags:Tags.toption[@ocaml.doc"A map of key-value pairs associated with the collection group."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the collection group was created."];capacityLimits:CollectionGroupCapacityLimits.toption[@ocaml.doc"The capacity limits for the collection group, in OpenSearch Compute Units (OCUs)."];numberOfCollections:Integer.toption[@ocaml.doc"The number of collections associated with the collection group."]}letmake?id=fun?arn->fun?name->fun?standbyReplicas->fun?description->fun?tags->fun?createdDate->fun?capacityLimits->fun?numberOfCollections->fun()->{id;arn;name;standbyReplicas;description;tags;createdDate;capacityLimits;numberOfCollections}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionGroupId.to_value));("arn",(Option.mapx.arn~f:String_.to_value));("name",(Option.mapx.name~f:CollectionGroupName.to_value));("standbyReplicas",(Option.mapx.standbyReplicas~f:StandbyReplicas.to_value));("description",(Option.mapx.description~f:String_.to_value));("tags",(Option.mapx.tags~f:Tags.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("capacityLimits",(Option.mapx.capacityLimits~f:CollectionGroupCapacityLimits.to_value));("numberOfCollections",(Option.mapx.numberOfCollections~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnumberOfCollections=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"numberOfCollections")inletcapacityLimits=(Option.map~f:CollectionGroupCapacityLimits.of_xml)(Xml.childxml_arg0"capacityLimits")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inlettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inletstandbyReplicas=(Option.map~f:StandbyReplicas.of_xml)(Xml.childxml_arg0"standbyReplicas")inletname=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:CollectionGroupId.of_xml)(Xml.childxml_arg0"id")inmake?numberOfCollections?capacityLimits?createdDate?tags?description?standbyReplicas?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnumberOfCollections=field_mapjson__"numberOfCollections"Integer.of_jsoninletcapacityLimits=field_mapjson__"capacityLimits"CollectionGroupCapacityLimits.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninlettags=field_mapjson__"tags"Tags.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninletstandbyReplicas=field_mapjson__"standbyReplicas"StandbyReplicas.of_jsoninletname=field_mapjson__"name"CollectionGroupName.of_jsoninletarn=field_mapjson__"arn"String_.of_jsoninletid=field_mapjson__"id"CollectionGroupId.of_jsoninmake?numberOfCollections?capacityLimits?createdDate?tags?description?standbyReplicas?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about a collection group."]moduleCollectionGroupErrorDetail=structtypenonrect={id:CollectionGroupId.toption[@ocaml.doc"If the request contains collection group IDs, the response includes the IDs provided in the request."];name:CollectionGroupName.toption[@ocaml.doc"If the request contains collection group names, the response includes the names provided in the request."];errorMessage:String_.toption[@ocaml.doc"A description of the error. For example, The specified Collection Group is not found."];errorCode:String_.toption[@ocaml.doc"The error code for the request. For example, NOT_FOUND."]}letmake?id=fun?name->fun?errorMessage->fun?errorCode->fun()->{id;name;errorMessage;errorCode}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionGroupId.to_value));("name",(Option.mapx.name~f:CollectionGroupName.to_value));("errorMessage",(Option.mapx.errorMessage~f:String_.to_value));("errorCode",(Option.mapx.errorCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorCode")inleterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorMessage")inletname=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:CollectionGroupId.of_xml)(Xml.childxml_arg0"id")inmake?errorCode?errorMessage?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorCode=field_mapjson__"errorCode"String_.of_jsoninleterrorMessage=field_mapjson__"errorMessage"String_.of_jsoninletname=field_mapjson__"name"CollectionGroupName.of_jsoninletid=field_mapjson__"id"CollectionGroupId.of_jsoninmake?errorCode?errorMessage?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error details for a collection group operation."]moduleConflictException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"When creating a resource, thrown when a resource with the same name already exists or is being created. When deleting a resource, thrown when the resource is not in the ACTIVE, FAILED, or UPDATE_FAILED state."]moduleInternalServerException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Thrown when an error internal to the service occurs while processing a request."]moduleUpdateVpcEndpointDetail=structtypenonrect={id:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the endpoint."];name:VpcEndpointName.toption[@ocaml.doc"The name of the endpoint."];status:VpcEndpointStatus.toption[@ocaml.doc"The current status of the endpoint update process."];subnetIds:SubnetIds.toption[@ocaml.doc"The ID of the subnets from which you access OpenSearch Serverless."];securityGroupIds:SecurityGroupIds.toption[@ocaml.doc"The unique identifiers of the security groups that define the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint."];lastModifiedDate:Long.toption[@ocaml.doc"The timestamp of when the endpoint was last modified."]}letmake?id=fun?name->fun?status->fun?subnetIds->fun?securityGroupIds->fun?lastModifiedDate->fun()->{id;name;status;subnetIds;securityGroupIds;lastModifiedDate}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:VpcEndpointId.to_value));("name",(Option.mapx.name~f:VpcEndpointName.to_value));("status",(Option.mapx.status~f:VpcEndpointStatus.to_value));("subnetIds",(Option.mapx.subnetIds~f:SubnetIds.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupIds.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletsecurityGroupIds=(Option.map~f:SecurityGroupIds.of_xml)(Xml.childxml_arg0"securityGroupIds")inletsubnetIds=(Option.map~f:SubnetIds.of_xml)(Xml.childxml_arg0"subnetIds")inletstatus=(Option.map~f:VpcEndpointStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:VpcEndpointName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"id")inmake?lastModifiedDate?securityGroupIds?subnetIds?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupIds.of_jsoninletsubnetIds=field_mapjson__"subnetIds"SubnetIds.of_jsoninletstatus=field_mapjson__"status"VpcEndpointStatus.of_jsoninletname=field_mapjson__"name"VpcEndpointName.of_jsoninletid=field_mapjson__"id"VpcEndpointId.of_jsoninmake?lastModifiedDate?securityGroupIds?subnetIds?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Update details for an OpenSearch Serverless-managed interface endpoint."]moduleValidationException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Thrown when the HTTP request contains invalid input or is missing required input."]moduleClientToken=structtypenonrect=stringletcontext_="ClientToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:512)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ClientToken"jletto_json=simple_to_jsonto_valueendmoduleResourceNotFoundException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Thrown when accessing or deleting a resource that does not exist."]moduleSecurityPolicyDetail=structtypenonrect={type_:SecurityPolicyType.toption[@ocaml.doc"The type of security policy."];name:PolicyName.toption[@ocaml.doc"The name of the policy."];policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the policy."];description:PolicyDescription.toption[@ocaml.doc"The description of the security policy."];policy:Document.toption[@ocaml.doc"The JSON policy document without any whitespaces."];createdDate:Long.toption[@ocaml.doc"The date the policy was created."];lastModifiedDate:Long.toption[@ocaml.doc"The timestamp of when the policy was last modified."]}letmake?type_=fun?name->fun?policyVersion->fun?description->fun?policy->fun?createdDate->fun?lastModifiedDate->fun()->{type_;name;policyVersion;description;policy;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:SecurityPolicyType.to_value));("name",(Option.mapx.name~f:PolicyName.to_value));("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Option.mapx.policy~f:Document.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletpolicy=(Option.map~f:Document.of_xml)(Xml.childxml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inletname=(Option.map~f:PolicyName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:SecurityPolicyType.of_xml)(Xml.childxml_arg0"type")inmake?lastModifiedDate?createdDate?policy?description?policyVersion?name?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletpolicy=field_mapjson__"policy"Document.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninletname=field_mapjson__"name"PolicyName.of_jsoninlettype_=field_mapjson__"type"SecurityPolicyType.of_jsoninmake?lastModifiedDate?createdDate?policy?description?policyVersion?name?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about an OpenSearch Serverless security policy."]moduleServiceQuotaExceededException=structtypenonrect={message:String_.toption[@ocaml.doc"Description of the error."];resourceId:String_.toption[@ocaml.doc"Identifier of the resource affected."];resourceType:String_.toption[@ocaml.doc"Type of the resource affected."];serviceCode:String_.toption[@ocaml.doc"Service Quotas requirement to identify originating service."];quotaCode:String_.toption[@ocaml.doc"Service Quotas requirement to identify originating quota."]}letmake?message=fun?resourceId->fun?resourceType->fun?serviceCode->fun?quotaCode->fun()->{message;resourceId;resourceType;serviceCode;quotaCode}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("resourceId",(Option.mapx.resourceId~f:String_.to_value));("resourceType",(Option.mapx.resourceType~f:String_.to_value));("serviceCode",(Option.mapx.serviceCode~f:String_.to_value));("quotaCode",(Option.mapx.quotaCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letquotaCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"quotaCode")inletserviceCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"serviceCode")inletresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?quotaCode?serviceCode?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letquotaCode=field_mapjson__"quotaCode"String_.of_jsoninletserviceCode=field_mapjson__"serviceCode"String_.of_jsoninletresourceType=field_mapjson__"resourceType"String_.of_jsoninletresourceId=field_mapjson__"resourceId"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?quotaCode?serviceCode?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Thrown when you attempt to create more resources than the service allows based on service quotas."]modulePolicyDocument=structtypenonrect=stringletcontext_="PolicyDocument"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:20480)>>=(fun()->check_patterni~pattern:".*[\\u0009\\u000A\\u000D\\u0020-\\u007E\\u00A1-\\u00FF]+.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PolicyDocument"jletto_json=simple_to_jsonto_valueendmoduleSecurityConfigDetail=structtypenonrect={id:SecurityConfigId.toption[@ocaml.doc"The unique identifier of the security configuration."];type_:SecurityConfigType.toption[@ocaml.doc"The type of security configuration."];configVersion:PolicyVersion.toption[@ocaml.doc"The version of the security configuration."];description:ConfigDescription.toption[@ocaml.doc"The description of the security configuration."];samlOptions:SamlConfigOptions.toption[@ocaml.doc"SAML options for the security configuration in the form of a key-value map."];iamIdentityCenterOptions:IamIdentityCenterConfigOptions.toption[@ocaml.doc"Describes IAM Identity Center options in the form of a key-value map."];iamFederationOptions:IamFederationConfigOptions.toption[@ocaml.doc"Describes IAM federation options in the form of a key-value map. Contains configuration details about how OpenSearch Serverless integrates with external identity providers through federation."];createdDate:Long.toption[@ocaml.doc"The date the configuration was created."];lastModifiedDate:Long.toption[@ocaml.doc"The timestamp of when the configuration was last modified."]}letmake?id=fun?type_->fun?configVersion->fun?description->fun?samlOptions->fun?iamIdentityCenterOptions->fun?iamFederationOptions->fun?createdDate->fun?lastModifiedDate->fun()->{id;type_;configVersion;description;samlOptions;iamIdentityCenterOptions;iamFederationOptions;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:SecurityConfigId.to_value));("type",(Option.mapx.type_~f:SecurityConfigType.to_value));("configVersion",(Option.mapx.configVersion~f:PolicyVersion.to_value));("description",(Option.mapx.description~f:ConfigDescription.to_value));("samlOptions",(Option.mapx.samlOptions~f:SamlConfigOptions.to_value));("iamIdentityCenterOptions",(Option.mapx.iamIdentityCenterOptions~f:IamIdentityCenterConfigOptions.to_value));("iamFederationOptions",(Option.mapx.iamFederationOptions~f:IamFederationConfigOptions.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletiamFederationOptions=(Option.map~f:IamFederationConfigOptions.of_xml)(Xml.childxml_arg0"iamFederationOptions")inletiamIdentityCenterOptions=(Option.map~f:IamIdentityCenterConfigOptions.of_xml)(Xml.childxml_arg0"iamIdentityCenterOptions")inletsamlOptions=(Option.map~f:SamlConfigOptions.of_xml)(Xml.childxml_arg0"samlOptions")inletdescription=(Option.map~f:ConfigDescription.of_xml)(Xml.childxml_arg0"description")inletconfigVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"configVersion")inlettype_=(Option.map~f:SecurityConfigType.of_xml)(Xml.childxml_arg0"type")inletid=(Option.map~f:SecurityConfigId.of_xml)(Xml.childxml_arg0"id")inmake?lastModifiedDate?createdDate?iamFederationOptions?iamIdentityCenterOptions?samlOptions?description?configVersion?type_?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletiamFederationOptions=field_mapjson__"iamFederationOptions"IamFederationConfigOptions.of_jsoninletiamIdentityCenterOptions=field_mapjson__"iamIdentityCenterOptions"IamIdentityCenterConfigOptions.of_jsoninletsamlOptions=field_mapjson__"samlOptions"SamlConfigOptions.of_jsoninletdescription=field_mapjson__"description"ConfigDescription.of_jsoninletconfigVersion=field_mapjson__"configVersion"PolicyVersion.of_jsoninlettype_=field_mapjson__"type"SecurityConfigType.of_jsoninletid=field_mapjson__"id"SecurityConfigId.of_jsoninmake?lastModifiedDate?createdDate?iamFederationOptions?iamIdentityCenterOptions?samlOptions?description?configVersion?type_?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about a security configuration for OpenSearch Serverless."]moduleUpdateIamIdentityCenterConfigOptions=structtypenonrect={userAttribute:IamIdentityCenterUserAttribute.toption[@ocaml.doc"The user attribute for this IAM Identity Center integration. Defaults to UserId."];groupAttribute:IamIdentityCenterGroupAttribute.toption[@ocaml.doc"The group attribute for this IAM Identity Center integration. Defaults to GroupId."]}letmake?userAttribute=fun?groupAttribute->fun()->{userAttribute;groupAttribute}letto_valuex=structure_to_value[("userAttribute",(Option.mapx.userAttribute~f:IamIdentityCenterUserAttribute.to_value));("groupAttribute",(Option.mapx.groupAttribute~f:IamIdentityCenterGroupAttribute.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupAttribute=(Option.map~f:IamIdentityCenterGroupAttribute.of_xml)(Xml.childxml_arg0"groupAttribute")inletuserAttribute=(Option.map~f:IamIdentityCenterUserAttribute.of_xml)(Xml.childxml_arg0"userAttribute")inmake?groupAttribute?userAttribute()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupAttribute=field_mapjson__"groupAttribute"IamIdentityCenterGroupAttribute.of_jsoninletuserAttribute=field_mapjson__"userAttribute"IamIdentityCenterUserAttribute.of_jsoninmake?groupAttribute?userAttribute()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes IAM Identity Center options for updating an OpenSearch Serverless security configuration in the form of a key-value map."]moduleIndexName=structtypenonrect=stringletcontext_="IndexName"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IndexName"jletto_json=simple_to_jsonto_valueendmoduleIndexSchema=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevendmoduleUpdateCollectionDetail=structtypenonrect={id:CollectionId.toption[@ocaml.doc"The unique identifier of the collection."];name:CollectionName.toption[@ocaml.doc"The name of the collection."];status:CollectionStatus.toption[@ocaml.doc"The current status of the collection."];type_:CollectionType.toption[@ocaml.doc"The collection type."];description:String_.toption[@ocaml.doc"The description of the collection."];vectorOptions:VectorOptions.toption[@ocaml.doc"Configuration options for vector search capabilities in the collection."];arn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the collection."];createdDate:Long.toption[@ocaml.doc"The date and time when the collection was created."];lastModifiedDate:Long.toption[@ocaml.doc"The date and time when the collection was last modified."]}letmake?id=fun?name->fun?status->fun?type_->fun?description->fun?vectorOptions->fun?arn->fun?createdDate->fun?lastModifiedDate->fun()->{id;name;status;type_;description;vectorOptions;arn;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionId.to_value));("name",(Option.mapx.name~f:CollectionName.to_value));("status",(Option.mapx.status~f:CollectionStatus.to_value));("type",(Option.mapx.type_~f:CollectionType.to_value));("description",(Option.mapx.description~f:String_.to_value));("vectorOptions",(Option.mapx.vectorOptions~f:VectorOptions.to_value));("arn",(Option.mapx.arn~f:String_.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletarn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"arn")inletvectorOptions=(Option.map~f:VectorOptions.of_xml)(Xml.childxml_arg0"vectorOptions")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inlettype_=(Option.map~f:CollectionType.of_xml)(Xml.childxml_arg0"type")inletstatus=(Option.map~f:CollectionStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:CollectionName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:CollectionId.of_xml)(Xml.childxml_arg0"id")inmake?lastModifiedDate?createdDate?arn?vectorOptions?description?type_?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletarn=field_mapjson__"arn"String_.of_jsoninletvectorOptions=field_mapjson__"vectorOptions"VectorOptions.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninlettype_=field_mapjson__"type"CollectionType.of_jsoninletstatus=field_mapjson__"status"CollectionStatus.of_jsoninletname=field_mapjson__"name"CollectionName.of_jsoninletid=field_mapjson__"id"CollectionId.of_jsoninmake?lastModifiedDate?createdDate?arn?vectorOptions?description?type_?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about an updated OpenSearch Serverless collection."]moduleUpdateCollectionRequestDescriptionString=structtypenonrect=stringletcontext_="UpdateCollectionRequestDescriptionString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"UpdateCollectionRequestDescriptionString"jletto_json=simple_to_jsonto_valueendmoduleUpdateCollectionGroupDetail=structtypenonrect={id:CollectionGroupId.toption[@ocaml.doc"The unique identifier of the collection group."];arn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the collection group."];name:CollectionGroupName.toption[@ocaml.doc"The name of the collection group."];description:String_.toption[@ocaml.doc"The description of the collection group."];capacityLimits:CollectionGroupCapacityLimits.toption[@ocaml.doc"The capacity limits for the collection group, in OpenSearch Compute Units (OCUs)."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the collection group was created."];lastModifiedDate:Long.toption[@ocaml.doc"The date and time when the collection group was last modified."]}letmake?id=fun?arn->fun?name->fun?description->fun?capacityLimits->fun?createdDate->fun?lastModifiedDate->fun()->{id;arn;name;description;capacityLimits;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionGroupId.to_value));("arn",(Option.mapx.arn~f:String_.to_value));("name",(Option.mapx.name~f:CollectionGroupName.to_value));("description",(Option.mapx.description~f:String_.to_value));("capacityLimits",(Option.mapx.capacityLimits~f:CollectionGroupCapacityLimits.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletcapacityLimits=(Option.map~f:CollectionGroupCapacityLimits.of_xml)(Xml.childxml_arg0"capacityLimits")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:CollectionGroupId.of_xml)(Xml.childxml_arg0"id")inmake?lastModifiedDate?createdDate?capacityLimits?description?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletcapacityLimits=field_mapjson__"capacityLimits"CollectionGroupCapacityLimits.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninletname=field_mapjson__"name"CollectionGroupName.of_jsoninletarn=field_mapjson__"arn"String_.of_jsoninletid=field_mapjson__"id"CollectionGroupId.of_jsoninmake?lastModifiedDate?createdDate?capacityLimits?description?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about the updated collection group."]moduleUpdateCollectionGroupRequestDescriptionString=structtypenonrect=stringletcontext_="UpdateCollectionGroupRequestDescriptionString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"UpdateCollectionGroupRequestDescriptionString"jletto_json=simple_to_jsonto_valueendmoduleAccountSettingsDetail=structtypenonrect={capacityLimits:CapacityLimits.toption}letmake?capacityLimits=fun()->{capacityLimits}letto_valuex=structure_to_value[("capacityLimits",(Option.mapx.capacityLimits~f:CapacityLimits.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcapacityLimits=(Option.map~f:CapacityLimits.of_xml)(Xml.childxml_arg0"capacityLimits")inmake?capacityLimits()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcapacityLimits=field_mapjson__"capacityLimits"CapacityLimits.of_jsoninmake?capacityLimits()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"OpenSearch Serverless-related information for the current account."]moduleAccessPolicyDetail=structtypenonrect={type_:AccessPolicyType.toption[@ocaml.doc"The type of access policy."];name:PolicyName.toption[@ocaml.doc"The name of the policy."];policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the policy."];description:PolicyDescription.toption[@ocaml.doc"The description of the policy."];policy:Document.toption[@ocaml.doc"The JSON policy document without any whitespaces."];createdDate:Long.toption[@ocaml.doc"The date the policy was created."];lastModifiedDate:Long.toption[@ocaml.doc"The timestamp of when the policy was last modified."]}letmake?type_=fun?name->fun?policyVersion->fun?description->fun?policy->fun?createdDate->fun?lastModifiedDate->fun()->{type_;name;policyVersion;description;policy;createdDate;lastModifiedDate}letto_valuex=structure_to_value[("type",(Option.mapx.type_~f:AccessPolicyType.to_value));("name",(Option.mapx.name~f:PolicyName.to_value));("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Option.mapx.policy~f:Document.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletpolicy=(Option.map~f:Document.of_xml)(Xml.childxml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inletname=(Option.map~f:PolicyName.of_xml)(Xml.childxml_arg0"name")inlettype_=(Option.map~f:AccessPolicyType.of_xml)(Xml.childxml_arg0"type")inmake?lastModifiedDate?createdDate?policy?description?policyVersion?name?type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletpolicy=field_mapjson__"policy"Document.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninletname=field_mapjson__"name"PolicyName.of_jsoninlettype_=field_mapjson__"type"AccessPolicyType.of_jsoninmake?lastModifiedDate?createdDate?policy?description?policyVersion?name?type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about an OpenSearch Serverless access policy."]moduleArn=structtypenonrect=stringletcontext_="Arn"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1011)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Arn"jletto_json=simple_to_jsonto_valueendmoduleTagKeys=structtypenonrect=TagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TagKey.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:TagKey.of_xml)letof_jsonj=list_of_json~kind:"TagKeys"~of_json:TagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVpcEndpointSummaries=structtypenonrect=VpcEndpointSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VpcEndpointSummary.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:VpcEndpointSummary.of_xml)letof_jsonj=list_of_json~kind:"VpcEndpointSummaries"~of_json:VpcEndpointSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListVpcEndpointsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ListVpcEndpointsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleVpcEndpointFilters=structtypenonrect={status:VpcEndpointStatus.toption[@ocaml.doc"The current status of the endpoint."]}letmake?status=fun()->{status}letto_valuex=structure_to_value[("status",(Option.mapx.status~f:VpcEndpointStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:VpcEndpointStatus.of_xml)(Xml.childxml_arg0"status")inmake?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"VpcEndpointStatus.of_jsoninmake?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Filter the results of a ListVpcEndpoints request."]moduleSecurityPolicySummaries=structtypenonrect=SecurityPolicySummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityPolicySummary.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityPolicySummary.of_xml)letof_jsonj=list_of_json~kind:"SecurityPolicySummaries"~of_json:SecurityPolicySummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListSecurityPoliciesRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ListSecurityPoliciesRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListSecurityPoliciesRequestResourceList=structtypenonrect=Resource.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1000)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Resource.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Resource.of_xml)letof_jsonj=list_of_json~kind:"ListSecurityPoliciesRequestResourceList"~of_json:Resource.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSecurityConfigSummaries=structtypenonrect=SecurityConfigSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityConfigSummary.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityConfigSummary.of_xml)letof_jsonj=list_of_json~kind:"SecurityConfigSummaries"~of_json:SecurityConfigSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListSecurityConfigsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ListSecurityConfigsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleLifecyclePolicySummaries=structtypenonrect=LifecyclePolicySummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:LifecyclePolicySummary.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:LifecyclePolicySummary.of_xml)letof_jsonj=list_of_json~kind:"LifecyclePolicySummaries"~of_json:LifecyclePolicySummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListLifecyclePoliciesRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ListLifecyclePoliciesRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListLifecyclePoliciesRequestResourcesList=structtypenonrect=LifecycleResource.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1000)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:LifecycleResource.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:LifecycleResource.of_xml)letof_jsonj=list_of_json~kind:"ListLifecyclePoliciesRequestResourcesList"~of_json:LifecycleResource.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionSummaries=structtypenonrect=CollectionSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionSummary.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionSummary.of_xml)letof_jsonj=list_of_json~kind:"CollectionSummaries"~of_json:CollectionSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionFilters=structtypenonrect={name:CollectionName.toption[@ocaml.doc"The name of the collection."];status:CollectionStatus.toption[@ocaml.doc"The current status of the collection."];collectionGroupName:CollectionGroupName.toption[@ocaml.doc"The name of the collection group to filter by."]}letmake?name=fun?status->fun?collectionGroupName->fun()->{name;status;collectionGroupName}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:CollectionName.to_value));("status",(Option.mapx.status~f:CollectionStatus.to_value));("collectionGroupName",(Option.mapx.collectionGroupName~f:CollectionGroupName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcollectionGroupName=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"collectionGroupName")inletstatus=(Option.map~f:CollectionStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:CollectionName.of_xml)(Xml.childxml_arg0"name")inmake?collectionGroupName?status?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcollectionGroupName=field_mapjson__"collectionGroupName"CollectionGroupName.of_jsoninletstatus=field_mapjson__"status"CollectionStatus.of_jsoninletname=field_mapjson__"name"CollectionName.of_jsoninmake?collectionGroupName?status?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A list of filter keys that you can use for LIST, UPDATE, and DELETE requests to OpenSearch Serverless collections."]moduleListCollectionsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ListCollectionsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleCollectionGroupSummaries=structtypenonrect=CollectionGroupSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionGroupSummary.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionGroupSummary.of_xml)letof_jsonj=list_of_json~kind:"CollectionGroupSummaries"~of_json:CollectionGroupSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListCollectionGroupsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ListCollectionGroupsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleAccessPolicySummaries=structtypenonrect=AccessPolicySummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AccessPolicySummary.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:AccessPolicySummary.of_xml)letof_jsonj=list_of_json~kind:"AccessPolicySummaries"~of_json:AccessPolicySummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListAccessPoliciesRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for ListAccessPoliciesRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListAccessPoliciesRequestResourceList=structtypenonrect=Resource.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1000)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Resource.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:Resource.of_xml)letof_jsonj=list_of_json~kind:"ListAccessPoliciesRequestResourceList"~of_json:Resource.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAccessPolicyStats=structtypenonrect={dataPolicyCount:Long.toption[@ocaml.doc"The number of data access policies in the current account."]}letmake?dataPolicyCount=fun()->{dataPolicyCount}letto_valuex=structure_to_value[("DataPolicyCount",(Option.mapx.dataPolicyCount~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdataPolicyCount=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"DataPolicyCount")inmake?dataPolicyCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdataPolicyCount=field_mapjson__"DataPolicyCount"Long.of_jsoninmake?dataPolicyCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Statistics for an OpenSearch Serverless access policy."]moduleLifecyclePolicyStats=structtypenonrect={retentionPolicyCount:Long.toption[@ocaml.doc"The number of retention lifecycle policies in the current account."]}letmake?retentionPolicyCount=fun()->{retentionPolicyCount}letto_valuex=structure_to_value[("RetentionPolicyCount",(Option.mapx.retentionPolicyCount~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letretentionPolicyCount=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"RetentionPolicyCount")inmake?retentionPolicyCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letretentionPolicyCount=field_mapjson__"RetentionPolicyCount"Long.of_jsoninmake?retentionPolicyCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Statistics for an OpenSearch Serverless lifecycle policy."]moduleSecurityConfigStats=structtypenonrect={samlConfigCount:Long.toption[@ocaml.doc"The number of security configurations in the current account."]}letmake?samlConfigCount=fun()->{samlConfigCount}letto_valuex=structure_to_value[("SamlConfigCount",(Option.mapx.samlConfigCount~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsamlConfigCount=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"SamlConfigCount")inmake?samlConfigCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsamlConfigCount=field_mapjson__"SamlConfigCount"Long.of_jsoninmake?samlConfigCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Statistics for an OpenSearch Serverless security configuration."]moduleSecurityPolicyStats=structtypenonrect={encryptionPolicyCount:Long.toption[@ocaml.doc"The number of encryption policies in the current account."];networkPolicyCount:Long.toption[@ocaml.doc"The number of network policies in the current account."]}letmake?encryptionPolicyCount=fun?networkPolicyCount->fun()->{encryptionPolicyCount;networkPolicyCount}letto_valuex=structure_to_value[("EncryptionPolicyCount",(Option.mapx.encryptionPolicyCount~f:Long.to_value));("NetworkPolicyCount",(Option.mapx.networkPolicyCount~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnetworkPolicyCount=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"NetworkPolicyCount")inletencryptionPolicyCount=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"EncryptionPolicyCount")inmake?networkPolicyCount?encryptionPolicyCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnetworkPolicyCount=field_mapjson__"NetworkPolicyCount"Long.of_jsoninletencryptionPolicyCount=field_mapjson__"EncryptionPolicyCount"Long.of_jsoninmake?networkPolicyCount?encryptionPolicyCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Statistics for an OpenSearch Serverless security policy."]moduleDeleteVpcEndpointDetail=structtypenonrect={id:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the endpoint."];name:VpcEndpointName.toption[@ocaml.doc"The name of the endpoint."];status:VpcEndpointStatus.toption[@ocaml.doc"The current status of the endpoint deletion process."]}letmake?id=fun?name->fun?status->fun()->{id;name;status}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:VpcEndpointId.to_value));("name",(Option.mapx.name~f:VpcEndpointName.to_value));("status",(Option.mapx.status~f:VpcEndpointStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:VpcEndpointStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:VpcEndpointName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"id")inmake?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"VpcEndpointStatus.of_jsoninletname=field_mapjson__"name"VpcEndpointName.of_jsoninletid=field_mapjson__"id"VpcEndpointId.of_jsoninmake?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletion details for an OpenSearch Serverless-managed interface endpoint."]moduleDeleteCollectionDetail=structtypenonrect={id:CollectionId.toption[@ocaml.doc"The unique identifier of the collection."];name:CollectionName.toption[@ocaml.doc"The name of the collection."];status:CollectionStatus.toption[@ocaml.doc"The current status of the collection."]}letmake?id=fun?name->fun?status->fun()->{id;name;status}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionId.to_value));("name",(Option.mapx.name~f:CollectionName.to_value));("status",(Option.mapx.status~f:CollectionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:CollectionStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:CollectionName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:CollectionId.of_xml)(Xml.childxml_arg0"id")inmake?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"CollectionStatus.of_jsoninletname=field_mapjson__"name"CollectionName.of_jsoninletid=field_mapjson__"id"CollectionId.of_jsoninmake?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about a deleted OpenSearch Serverless collection."]moduleCreateVpcEndpointDetail=structtypenonrect={id:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the endpoint."];name:VpcEndpointName.toption[@ocaml.doc"The name of the endpoint."];status:VpcEndpointStatus.toption[@ocaml.doc"The current status in the endpoint creation process."]}letmake?id=fun?name->fun?status->fun()->{id;name;status}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:VpcEndpointId.to_value));("name",(Option.mapx.name~f:VpcEndpointName.to_value));("status",(Option.mapx.status~f:VpcEndpointStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:VpcEndpointStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:VpcEndpointName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"id")inmake?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"VpcEndpointStatus.of_jsoninletname=field_mapjson__"name"VpcEndpointName.of_jsoninletid=field_mapjson__"id"VpcEndpointId.of_jsoninmake?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creation details for an OpenSearch Serverless-managed interface endpoint. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleConfigName=structtypenonrect=stringletcontext_="ConfigName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"[a-z][a-z0-9-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ConfigName"jletto_json=simple_to_jsonto_valueendmoduleCreateIamIdentityCenterConfigOptions=structtypenonrect={instanceArn:IamIdentityCenterInstanceArn.t[@ocaml.doc"The ARN of the IAM Identity Center instance used to integrate with OpenSearch Serverless."];userAttribute:IamIdentityCenterUserAttribute.toption[@ocaml.doc"The user attribute for this IAM Identity Center integration. Defaults to UserId."];groupAttribute:IamIdentityCenterGroupAttribute.toption[@ocaml.doc"The group attribute for this IAM Identity Center integration. Defaults to GroupId."]}letcontext_="CreateIamIdentityCenterConfigOptions"letmake?userAttribute=fun?groupAttribute->fun~instanceArn->fun()->{userAttribute;groupAttribute;instanceArn}letto_valuex=structure_to_value[("instanceArn",(Some(IamIdentityCenterInstanceArn.to_valuex.instanceArn)));("userAttribute",(Option.mapx.userAttribute~f:IamIdentityCenterUserAttribute.to_value));("groupAttribute",(Option.mapx.groupAttribute~f:IamIdentityCenterGroupAttribute.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupAttribute=(Option.map~f:IamIdentityCenterGroupAttribute.of_xml)(Xml.childxml_arg0"groupAttribute")inletuserAttribute=(Option.map~f:IamIdentityCenterUserAttribute.of_xml)(Xml.childxml_arg0"userAttribute")inletinstanceArn=IamIdentityCenterInstanceArn.of_xml(Xml.child_exn~context:context_xml_arg0"instanceArn")inmake?groupAttribute?userAttribute~instanceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupAttribute=field_mapjson__"groupAttribute"IamIdentityCenterGroupAttribute.of_jsoninletuserAttribute=field_mapjson__"userAttribute"IamIdentityCenterUserAttribute.of_jsoninletinstanceArn=field_map_exnjson__"instanceArn"IamIdentityCenterInstanceArn.of_jsoninmake?groupAttribute?userAttribute~instanceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes IAM Identity Center options for creating an OpenSearch Serverless security configuration in the form of a key-value map."]moduleCreateCollectionDetail=structtypenonrect={id:CollectionId.toption[@ocaml.doc"The unique identifier of the collection."];name:CollectionName.toption[@ocaml.doc"The name of the collection."];status:CollectionStatus.toption[@ocaml.doc"The current status of the collection."];type_:CollectionType.toption[@ocaml.doc"The type of collection."];description:String_.toption[@ocaml.doc"A description of the collection."];arn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the collection."];kmsKeyArn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the KMS key with which to encrypt the collection."];standbyReplicas:StandbyReplicas.toption[@ocaml.doc"Creates details about an OpenSearch Serverless collection."];vectorOptions:VectorOptions.toption[@ocaml.doc"Configuration options for vector search capabilities in the collection."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the collection was created."];lastModifiedDate:Long.toption[@ocaml.doc"The date and time when the collection was last modified."];collectionGroupName:CollectionGroupName.toption[@ocaml.doc"The name of the collection group that contains this collection."]}letmake?id=fun?name->fun?status->fun?type_->fun?description->fun?arn->fun?kmsKeyArn->fun?standbyReplicas->fun?vectorOptions->fun?createdDate->fun?lastModifiedDate->fun?collectionGroupName->fun()->{id;name;status;type_;description;arn;kmsKeyArn;standbyReplicas;vectorOptions;createdDate;lastModifiedDate;collectionGroupName}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionId.to_value));("name",(Option.mapx.name~f:CollectionName.to_value));("status",(Option.mapx.status~f:CollectionStatus.to_value));("type",(Option.mapx.type_~f:CollectionType.to_value));("description",(Option.mapx.description~f:String_.to_value));("arn",(Option.mapx.arn~f:String_.to_value));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:String_.to_value));("standbyReplicas",(Option.mapx.standbyReplicas~f:StandbyReplicas.to_value));("vectorOptions",(Option.mapx.vectorOptions~f:VectorOptions.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("lastModifiedDate",(Option.mapx.lastModifiedDate~f:Long.to_value));("collectionGroupName",(Option.mapx.collectionGroupName~f:CollectionGroupName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcollectionGroupName=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"collectionGroupName")inletlastModifiedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"lastModifiedDate")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inletvectorOptions=(Option.map~f:VectorOptions.of_xml)(Xml.childxml_arg0"vectorOptions")inletstandbyReplicas=(Option.map~f:StandbyReplicas.of_xml)(Xml.childxml_arg0"standbyReplicas")inletkmsKeyArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletarn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"arn")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inlettype_=(Option.map~f:CollectionType.of_xml)(Xml.childxml_arg0"type")inletstatus=(Option.map~f:CollectionStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:CollectionName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:CollectionId.of_xml)(Xml.childxml_arg0"id")inmake?collectionGroupName?lastModifiedDate?createdDate?vectorOptions?standbyReplicas?kmsKeyArn?arn?description?type_?status?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcollectionGroupName=field_mapjson__"collectionGroupName"CollectionGroupName.of_jsoninletlastModifiedDate=field_mapjson__"lastModifiedDate"Long.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninletvectorOptions=field_mapjson__"vectorOptions"VectorOptions.of_jsoninletstandbyReplicas=field_mapjson__"standbyReplicas"StandbyReplicas.of_jsoninletkmsKeyArn=field_mapjson__"kmsKeyArn"String_.of_jsoninletarn=field_mapjson__"arn"String_.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninlettype_=field_mapjson__"type"CollectionType.of_jsoninletstatus=field_mapjson__"status"CollectionStatus.of_jsoninletname=field_mapjson__"name"CollectionName.of_jsoninletid=field_mapjson__"id"CollectionId.of_jsoninmake?collectionGroupName?lastModifiedDate?createdDate?vectorOptions?standbyReplicas?kmsKeyArn?arn?description?type_?status?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about the created OpenSearch Serverless collection."]moduleOcuLimitExceededException=structtypenonrect={message:String_.toption[@ocaml.doc"Description of the error."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Thrown when the collection you're attempting to create results in a number of search or indexing OCUs that exceeds the account limit."]moduleCreateCollectionRequestDescriptionString=structtypenonrect=stringletcontext_="CreateCollectionRequestDescriptionString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CreateCollectionRequestDescriptionString"jletto_json=simple_to_jsonto_valueendmoduleEncryptionConfig=structtypenonrect={aWSOwnedKey:Boolean.toption[@ocaml.doc"Indicates whether to use an Amazon Web Services-owned key for encryption."];kmsKeyArn:EncryptionConfigKmsKeyArnString.toption[@ocaml.doc"The ARN of the Amazon Web Services Key Management Service key used to encrypt the collection."]}letmake?aWSOwnedKey=fun?kmsKeyArn->fun()->{aWSOwnedKey;kmsKeyArn}letto_valuex=structure_to_value[("aWSOwnedKey",(Option.mapx.aWSOwnedKey~f:Boolean.to_value));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:EncryptionConfigKmsKeyArnString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkmsKeyArn=(Option.map~f:EncryptionConfigKmsKeyArnString.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletaWSOwnedKey=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"aWSOwnedKey")inmake?kmsKeyArn?aWSOwnedKey()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkmsKeyArn=field_mapjson__"kmsKeyArn"EncryptionConfigKmsKeyArnString.of_jsoninletaWSOwnedKey=field_mapjson__"aWSOwnedKey"Boolean.of_jsoninmake?kmsKeyArn?aWSOwnedKey()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Encryption settings for a collection."]moduleCreateCollectionGroupDetail=structtypenonrect={id:CollectionGroupId.toption[@ocaml.doc"The unique identifier of the collection group."];arn:String_.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the collection group."];name:CollectionGroupName.toption[@ocaml.doc"The name of the collection group."];standbyReplicas:StandbyReplicas.toption[@ocaml.doc"Indicates whether standby replicas are used for the collection group."];description:String_.toption[@ocaml.doc"The description of the collection group."];tags:Tags.toption[@ocaml.doc"A map of key-value pairs associated with the collection group."];createdDate:Long.toption[@ocaml.doc"The Epoch time when the collection group was created."];capacityLimits:CollectionGroupCapacityLimits.toption[@ocaml.doc"The capacity limits for the collection group, in OpenSearch Compute Units (OCUs)."]}letmake?id=fun?arn->fun?name->fun?standbyReplicas->fun?description->fun?tags->fun?createdDate->fun?capacityLimits->fun()->{id;arn;name;standbyReplicas;description;tags;createdDate;capacityLimits}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:CollectionGroupId.to_value));("arn",(Option.mapx.arn~f:String_.to_value));("name",(Option.mapx.name~f:CollectionGroupName.to_value));("standbyReplicas",(Option.mapx.standbyReplicas~f:StandbyReplicas.to_value));("description",(Option.mapx.description~f:String_.to_value));("tags",(Option.mapx.tags~f:Tags.to_value));("createdDate",(Option.mapx.createdDate~f:Long.to_value));("capacityLimits",(Option.mapx.capacityLimits~f:CollectionGroupCapacityLimits.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcapacityLimits=(Option.map~f:CollectionGroupCapacityLimits.of_xml)(Xml.childxml_arg0"capacityLimits")inletcreatedDate=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"createdDate")inlettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"description")inletstandbyReplicas=(Option.map~f:StandbyReplicas.of_xml)(Xml.childxml_arg0"standbyReplicas")inletname=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:CollectionGroupId.of_xml)(Xml.childxml_arg0"id")inmake?capacityLimits?createdDate?tags?description?standbyReplicas?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcapacityLimits=field_mapjson__"capacityLimits"CollectionGroupCapacityLimits.of_jsoninletcreatedDate=field_mapjson__"createdDate"Long.of_jsoninlettags=field_mapjson__"tags"Tags.of_jsoninletdescription=field_mapjson__"description"String_.of_jsoninletstandbyReplicas=field_mapjson__"standbyReplicas"StandbyReplicas.of_jsoninletname=field_mapjson__"name"CollectionGroupName.of_jsoninletarn=field_mapjson__"arn"String_.of_jsoninletid=field_mapjson__"id"CollectionGroupId.of_jsoninmake?capacityLimits?createdDate?tags?description?standbyReplicas?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about the created collection group."]moduleCreateCollectionGroupRequestDescriptionString=structtypenonrect=stringletcontext_="CreateCollectionGroupRequestDescriptionString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CreateCollectionGroupRequestDescriptionString"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointDetails=structtypenonrect=VpcEndpointDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VpcEndpointDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:VpcEndpointDetail.of_xml)letof_jsonj=list_of_json~kind:"VpcEndpointDetails"~of_json:VpcEndpointDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVpcEndpointErrorDetails=structtypenonrect=VpcEndpointErrorDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VpcEndpointErrorDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:VpcEndpointErrorDetail.of_xml)letof_jsonj=list_of_json~kind:"VpcEndpointErrorDetails"~of_json:VpcEndpointErrorDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVpcEndpointIds=structtypenonrect=VpcEndpointId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VpcEndpointId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:VpcEndpointId.of_xml)letof_jsonj=list_of_json~kind:"VpcEndpointIds"~of_json:VpcEndpointId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLifecyclePolicyDetails=structtypenonrect=LifecyclePolicyDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:LifecyclePolicyDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:LifecyclePolicyDetail.of_xml)letof_jsonj=list_of_json~kind:"LifecyclePolicyDetails"~of_json:LifecyclePolicyDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLifecyclePolicyErrorDetails=structtypenonrect=LifecyclePolicyErrorDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:LifecyclePolicyErrorDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:LifecyclePolicyErrorDetail.of_xml)letof_jsonj=list_of_json~kind:"LifecyclePolicyErrorDetails"~of_json:LifecyclePolicyErrorDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLifecyclePolicyIdentifiers=structtypenonrect=LifecyclePolicyIdentifier.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:40)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:LifecyclePolicyIdentifier.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:LifecyclePolicyIdentifier.of_xml)letof_jsonj=list_of_json~kind:"LifecyclePolicyIdentifiers"~of_json:LifecyclePolicyIdentifier.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEffectiveLifecyclePolicyDetails=structtypenonrect=EffectiveLifecyclePolicyDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EffectiveLifecyclePolicyDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:EffectiveLifecyclePolicyDetail.of_xml)letof_jsonj=list_of_json~kind:"EffectiveLifecyclePolicyDetails"~of_json:EffectiveLifecyclePolicyDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEffectiveLifecyclePolicyErrorDetails=structtypenonrect=EffectiveLifecyclePolicyErrorDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EffectiveLifecyclePolicyErrorDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:EffectiveLifecyclePolicyErrorDetail.of_xml)letof_jsonj=list_of_json~kind:"EffectiveLifecyclePolicyErrorDetails"~of_json:EffectiveLifecyclePolicyErrorDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLifecyclePolicyResourceIdentifiers=structtypenonrect=LifecyclePolicyResourceIdentifier.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:LifecyclePolicyResourceIdentifier.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:LifecyclePolicyResourceIdentifier.of_xml)letof_jsonj=list_of_json~kind:"LifecyclePolicyResourceIdentifiers"~of_json:LifecyclePolicyResourceIdentifier.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionDetails=structtypenonrect=CollectionDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionDetail.of_xml)letof_jsonj=list_of_json~kind:"CollectionDetails"~of_json:CollectionDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionErrorDetails=structtypenonrect=CollectionErrorDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionErrorDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionErrorDetail.of_xml)letof_jsonj=list_of_json~kind:"CollectionErrorDetails"~of_json:CollectionErrorDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionIds=structtypenonrect=CollectionId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionId.of_xml)letof_jsonj=list_of_json~kind:"CollectionIds"~of_json:CollectionId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionNames=structtypenonrect=CollectionName.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionName.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionName.of_xml)letof_jsonj=list_of_json~kind:"CollectionNames"~of_json:CollectionName.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionGroupDetails=structtypenonrect=CollectionGroupDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionGroupDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionGroupDetail.of_xml)letof_jsonj=list_of_json~kind:"CollectionGroupDetails"~of_json:CollectionGroupDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionGroupErrorDetails=structtypenonrect=CollectionGroupErrorDetail.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionGroupErrorDetail.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionGroupErrorDetail.of_xml)letof_jsonj=list_of_json~kind:"CollectionGroupErrorDetails"~of_json:CollectionGroupErrorDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionGroupIds=structtypenonrect=CollectionGroupId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionGroupId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionGroupId.of_xml)letof_jsonj=list_of_json~kind:"CollectionGroupIds"~of_json:CollectionGroupId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCollectionGroupNames=structtypenonrect=CollectionGroupName.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CollectionGroupName.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:CollectionGroupName.of_xml)letof_jsonj=list_of_json~kind:"CollectionGroupNames"~of_json:CollectionGroupName.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateVpcEndpointResponse=structtypenonrect={updateVpcEndpointDetail:UpdateVpcEndpointDetail.toption[@ocaml.doc"Details about the updated VPC endpoint."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?updateVpcEndpointDetail=fun()->{updateVpcEndpointDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("UpdateVpcEndpointDetail",(Option.mapx.updateVpcEndpointDetail~f:UpdateVpcEndpointDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdateVpcEndpointDetail=(Option.map~f:UpdateVpcEndpointDetail.of_xml)(Xml.childxml_arg0"UpdateVpcEndpointDetail")inmake?updateVpcEndpointDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdateVpcEndpointDetail=field_mapjson__"UpdateVpcEndpointDetail"UpdateVpcEndpointDetail.of_jsoninmake?updateVpcEndpointDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless-managed interface endpoint. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleUpdateVpcEndpointRequest=structtypenonrect={id:VpcEndpointId.t[@ocaml.doc"The unique identifier of the interface endpoint to update."];addSubnetIds:SubnetIds.toption[@ocaml.doc"The ID of one or more subnets to add to the endpoint."];removeSubnetIds:SubnetIds.toption[@ocaml.doc"The unique identifiers of the subnets to remove from the endpoint."];addSecurityGroupIds:SecurityGroupIds.toption[@ocaml.doc"The unique identifiers of the security groups to add to the endpoint. Security groups define the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint."];removeSecurityGroupIds:SecurityGroupIds.toption[@ocaml.doc"The unique identifiers of the security groups to remove from the endpoint."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="UpdateVpcEndpointRequest"letmake?addSubnetIds=fun?removeSubnetIds->fun?addSecurityGroupIds->fun?removeSecurityGroupIds->fun?clientToken->fun~id->fun()->{addSubnetIds;removeSubnetIds;addSecurityGroupIds;removeSecurityGroupIds;clientToken;id}letto_valuex=structure_to_value[("id",(Some(VpcEndpointId.to_valuex.id)));("addSubnetIds",(Option.mapx.addSubnetIds~f:SubnetIds.to_value));("removeSubnetIds",(Option.mapx.removeSubnetIds~f:SubnetIds.to_value));("addSecurityGroupIds",(Option.mapx.addSecurityGroupIds~f:SecurityGroupIds.to_value));("removeSecurityGroupIds",(Option.mapx.removeSecurityGroupIds~f:SecurityGroupIds.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletremoveSecurityGroupIds=(Option.map~f:SecurityGroupIds.of_xml)(Xml.childxml_arg0"removeSecurityGroupIds")inletaddSecurityGroupIds=(Option.map~f:SecurityGroupIds.of_xml)(Xml.childxml_arg0"addSecurityGroupIds")inletremoveSubnetIds=(Option.map~f:SubnetIds.of_xml)(Xml.childxml_arg0"removeSubnetIds")inletaddSubnetIds=(Option.map~f:SubnetIds.of_xml)(Xml.childxml_arg0"addSubnetIds")inletid=VpcEndpointId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken?removeSecurityGroupIds?addSecurityGroupIds?removeSubnetIds?addSubnetIds~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletremoveSecurityGroupIds=field_mapjson__"removeSecurityGroupIds"SecurityGroupIds.of_jsoninletaddSecurityGroupIds=field_mapjson__"addSecurityGroupIds"SecurityGroupIds.of_jsoninletremoveSubnetIds=field_mapjson__"removeSubnetIds"SubnetIds.of_jsoninletaddSubnetIds=field_mapjson__"addSubnetIds"SubnetIds.of_jsoninletid=field_map_exnjson__"id"VpcEndpointId.of_jsoninmake?clientToken?removeSecurityGroupIds?addSecurityGroupIds?removeSubnetIds?addSubnetIds~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless-managed interface endpoint. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleUpdateSecurityPolicyResponse=structtypenonrect={securityPolicyDetail:SecurityPolicyDetail.toption[@ocaml.doc"Details about the updated security policy."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityPolicyDetail=fun()->{securityPolicyDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityPolicyDetail",(Option.mapx.securityPolicyDetail~f:SecurityPolicyDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityPolicyDetail=(Option.map~f:SecurityPolicyDetail.of_xml)(Xml.childxml_arg0"securityPolicyDetail")inmake?securityPolicyDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityPolicyDetail=field_mapjson__"securityPolicyDetail"SecurityPolicyDetail.of_jsoninmake?securityPolicyDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless security policy. For more information, see Network access for Amazon OpenSearch Serverless and Encryption at rest for Amazon OpenSearch Serverless."]moduleUpdateSecurityPolicyRequest=structtypenonrect={type_:SecurityPolicyType.t[@ocaml.doc"The type of access policy."];name:PolicyName.t[@ocaml.doc"The name of the policy."];policyVersion:PolicyVersion.t[@ocaml.doc"The version of the policy being updated."];description:PolicyDescription.toption[@ocaml.doc"A description of the policy. Typically used to store information about the permissions defined in the policy."];policy:PolicyDocument.toption[@ocaml.doc"The JSON policy document to use as the content for the new policy."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="UpdateSecurityPolicyRequest"letmake?description=fun?policy->fun?clientToken->fun~type_->fun~name->fun~policyVersion->fun()->{description;policy;clientToken;type_;name;policyVersion}letto_valuex=structure_to_value[("type",(Some(SecurityPolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("policyVersion",(Some(PolicyVersion.to_valuex.policyVersion)));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Option.mapx.policy~f:PolicyDocument.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletpolicy=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=PolicyVersion.of_xml(Xml.child_exn~context:context_xml_arg0"policyVersion")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=SecurityPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken?policy?description~policyVersion~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletpolicy=field_mapjson__"policy"PolicyDocument.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_map_exnjson__"policyVersion"PolicyVersion.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"SecurityPolicyType.of_jsoninmake?clientToken?policy?description~policyVersion~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless security policy. For more information, see Network access for Amazon OpenSearch Serverless and Encryption at rest for Amazon OpenSearch Serverless."]moduleUpdateSecurityConfigResponse=structtypenonrect={securityConfigDetail:SecurityConfigDetail.toption[@ocaml.doc"Details about the updated security configuration."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityConfigDetail=fun()->{securityConfigDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityConfigDetail",(Option.mapx.securityConfigDetail~f:SecurityConfigDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityConfigDetail=(Option.map~f:SecurityConfigDetail.of_xml)(Xml.childxml_arg0"securityConfigDetail")inmake?securityConfigDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityConfigDetail=field_mapjson__"securityConfigDetail"SecurityConfigDetail.of_jsoninmake?securityConfigDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a security configuration for OpenSearch Serverless. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleUpdateSecurityConfigRequest=structtypenonrect={id:SecurityConfigId.t[@ocaml.doc"The security configuration identifier. For SAML the ID will be saml/<accountId>/<idpProviderName>. For example, saml/123456789123/OKTADev."];configVersion:PolicyVersion.t[@ocaml.doc"The version of the security configuration to be updated. You can find the most recent version of a security configuration using the GetSecurityPolicy command."];description:ConfigDescription.toption[@ocaml.doc"A description of the security configuration."];samlOptions:SamlConfigOptions.toption[@ocaml.doc"SAML options in in the form of a key-value map."];iamIdentityCenterOptionsUpdates:UpdateIamIdentityCenterConfigOptions.toption[@ocaml.doc"Describes IAM Identity Center options in the form of a key-value map."];iamFederationOptions:IamFederationConfigOptions.toption[@ocaml.doc"Describes IAM federation options in the form of a key-value map for updating an existing security configuration. Use this field to modify IAM federation settings for the security configuration."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="UpdateSecurityConfigRequest"letmake?description=fun?samlOptions->fun?iamIdentityCenterOptionsUpdates->fun?iamFederationOptions->fun?clientToken->fun~id->fun~configVersion->fun()->{description;samlOptions;iamIdentityCenterOptionsUpdates;iamFederationOptions;clientToken;id;configVersion}letto_valuex=structure_to_value[("id",(Some(SecurityConfigId.to_valuex.id)));("configVersion",(Some(PolicyVersion.to_valuex.configVersion)));("description",(Option.mapx.description~f:ConfigDescription.to_value));("samlOptions",(Option.mapx.samlOptions~f:SamlConfigOptions.to_value));("iamIdentityCenterOptionsUpdates",(Option.mapx.iamIdentityCenterOptionsUpdates~f:UpdateIamIdentityCenterConfigOptions.to_value));("iamFederationOptions",(Option.mapx.iamFederationOptions~f:IamFederationConfigOptions.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletiamFederationOptions=(Option.map~f:IamFederationConfigOptions.of_xml)(Xml.childxml_arg0"iamFederationOptions")inletiamIdentityCenterOptionsUpdates=(Option.map~f:UpdateIamIdentityCenterConfigOptions.of_xml)(Xml.childxml_arg0"iamIdentityCenterOptionsUpdates")inletsamlOptions=(Option.map~f:SamlConfigOptions.of_xml)(Xml.childxml_arg0"samlOptions")inletdescription=(Option.map~f:ConfigDescription.of_xml)(Xml.childxml_arg0"description")inletconfigVersion=PolicyVersion.of_xml(Xml.child_exn~context:context_xml_arg0"configVersion")inletid=SecurityConfigId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken?iamFederationOptions?iamIdentityCenterOptionsUpdates?samlOptions?description~configVersion~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletiamFederationOptions=field_mapjson__"iamFederationOptions"IamFederationConfigOptions.of_jsoninletiamIdentityCenterOptionsUpdates=field_mapjson__"iamIdentityCenterOptionsUpdates"UpdateIamIdentityCenterConfigOptions.of_jsoninletsamlOptions=field_mapjson__"samlOptions"SamlConfigOptions.of_jsoninletdescription=field_mapjson__"description"ConfigDescription.of_jsoninletconfigVersion=field_map_exnjson__"configVersion"PolicyVersion.of_jsoninletid=field_map_exnjson__"id"SecurityConfigId.of_jsoninmake?clientToken?iamFederationOptions?iamIdentityCenterOptionsUpdates?samlOptions?description~configVersion~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a security configuration for OpenSearch Serverless. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleUpdateLifecyclePolicyResponse=structtypenonrect={lifecyclePolicyDetail:LifecyclePolicyDetail.toption[@ocaml.doc"Details about the updated lifecycle policy."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?lifecyclePolicyDetail=fun()->{lifecyclePolicyDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("lifecyclePolicyDetail",(Option.mapx.lifecyclePolicyDetail~f:LifecyclePolicyDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlifecyclePolicyDetail=(Option.map~f:LifecyclePolicyDetail.of_xml)(Xml.childxml_arg0"lifecyclePolicyDetail")inmake?lifecyclePolicyDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlifecyclePolicyDetail=field_mapjson__"lifecyclePolicyDetail"LifecyclePolicyDetail.of_jsoninmake?lifecyclePolicyDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless access policy. For more information, see Updating data lifecycle policies."]moduleUpdateLifecyclePolicyRequest=structtypenonrect={type_:LifecyclePolicyType.t[@ocaml.doc"The type of lifecycle policy."];name:PolicyName.t[@ocaml.doc"The name of the policy."];policyVersion:PolicyVersion.t[@ocaml.doc"The version of the policy being updated."];description:PolicyDescription.toption[@ocaml.doc"A description of the lifecycle policy."];policy:PolicyDocument.toption[@ocaml.doc"The JSON policy document to use as the content for the lifecycle policy."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="UpdateLifecyclePolicyRequest"letmake?description=fun?policy->fun?clientToken->fun~type_->fun~name->fun~policyVersion->fun()->{description;policy;clientToken;type_;name;policyVersion}letto_valuex=structure_to_value[("type",(Some(LifecyclePolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("policyVersion",(Some(PolicyVersion.to_valuex.policyVersion)));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Option.mapx.policy~f:PolicyDocument.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletpolicy=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=PolicyVersion.of_xml(Xml.child_exn~context:context_xml_arg0"policyVersion")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=LifecyclePolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken?policy?description~policyVersion~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletpolicy=field_mapjson__"policy"PolicyDocument.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_map_exnjson__"policyVersion"PolicyVersion.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"LifecyclePolicyType.of_jsoninmake?clientToken?policy?description~policyVersion~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless access policy. For more information, see Updating data lifecycle policies."]moduleUpdateIndexResponse=structtypenonrect=unittypenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing index in an OpenSearch Serverless collection. This operation allows you to modify the index schema, including adding new fields or changing field mappings. You can also enable automatic semantic enrichment ingestion and search. For more information, see About automatic semantic enrichment."]moduleUpdateIndexRequest=structtypenonrect={id:CollectionId.t[@ocaml.doc"The unique identifier of the collection containing the index to update."];indexName:IndexName.t[@ocaml.doc"The name of the index to update."];indexSchema:IndexSchema.toption[@ocaml.doc"The updated JSON schema definition for the index, including field mappings and settings."]}letcontext_="UpdateIndexRequest"letmake?indexSchema=fun~id->fun~indexName->fun()->{indexSchema;id;indexName}letto_valuex=structure_to_value[("id",(Some(CollectionId.to_valuex.id)));("indexName",(Some(IndexName.to_valuex.indexName)));("indexSchema",(Option.mapx.indexSchema~f:IndexSchema.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letindexSchema=(Option.map~f:IndexSchema.of_xml)(Xml.childxml_arg0"indexSchema")inletindexName=IndexName.of_xml(Xml.child_exn~context:context_xml_arg0"indexName")inletid=CollectionId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?indexSchema~indexName~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letindexSchema=field_mapjson__"indexSchema"IndexSchema.of_jsoninletindexName=field_map_exnjson__"indexName"IndexName.of_jsoninletid=field_map_exnjson__"id"CollectionId.of_jsoninmake?indexSchema~indexName~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing index in an OpenSearch Serverless collection. This operation allows you to modify the index schema, including adding new fields or changing field mappings. You can also enable automatic semantic enrichment ingestion and search. For more information, see About automatic semantic enrichment."]moduleUpdateCollectionResponse=structtypenonrect={updateCollectionDetail:UpdateCollectionDetail.toption[@ocaml.doc"Details about the updated collection."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?updateCollectionDetail=fun()->{updateCollectionDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("updateCollectionDetail",(Option.mapx.updateCollectionDetail~f:UpdateCollectionDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdateCollectionDetail=(Option.map~f:UpdateCollectionDetail.of_xml)(Xml.childxml_arg0"updateCollectionDetail")inmake?updateCollectionDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdateCollectionDetail=field_mapjson__"updateCollectionDetail"UpdateCollectionDetail.of_jsoninmake?updateCollectionDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless collection."]moduleUpdateCollectionRequest=structtypenonrect={id:CollectionId.t[@ocaml.doc"The unique identifier of the collection."];description:UpdateCollectionRequestDescriptionString.toption[@ocaml.doc"A description of the collection."];vectorOptions:VectorOptions.toption[@ocaml.doc"Configuration options for vector search capabilities in the collection."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="UpdateCollectionRequest"letmake?description=fun?vectorOptions->fun?clientToken->fun~id->fun()->{description;vectorOptions;clientToken;id}letto_valuex=structure_to_value[("id",(Some(CollectionId.to_valuex.id)));("description",(Option.mapx.description~f:UpdateCollectionRequestDescriptionString.to_value));("vectorOptions",(Option.mapx.vectorOptions~f:VectorOptions.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletvectorOptions=(Option.map~f:VectorOptions.of_xml)(Xml.childxml_arg0"vectorOptions")inletdescription=(Option.map~f:UpdateCollectionRequestDescriptionString.of_xml)(Xml.childxml_arg0"description")inletid=CollectionId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken?vectorOptions?description~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletvectorOptions=field_mapjson__"vectorOptions"VectorOptions.of_jsoninletdescription=field_mapjson__"description"UpdateCollectionRequestDescriptionString.of_jsoninletid=field_map_exnjson__"id"CollectionId.of_jsoninmake?clientToken?vectorOptions?description~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless collection."]moduleUpdateCollectionGroupResponse=structtypenonrect={updateCollectionGroupDetail:UpdateCollectionGroupDetail.toption[@ocaml.doc"Details about the updated collection group."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?updateCollectionGroupDetail=fun()->{updateCollectionGroupDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("updateCollectionGroupDetail",(Option.mapx.updateCollectionGroupDetail~f:UpdateCollectionGroupDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdateCollectionGroupDetail=(Option.map~f:UpdateCollectionGroupDetail.of_xml)(Xml.childxml_arg0"updateCollectionGroupDetail")inmake?updateCollectionGroupDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdateCollectionGroupDetail=field_mapjson__"updateCollectionGroupDetail"UpdateCollectionGroupDetail.of_jsoninmake?updateCollectionGroupDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the description and capacity limits of a collection group."]moduleUpdateCollectionGroupRequest=structtypenonrect={id:CollectionGroupId.t[@ocaml.doc"The unique identifier of the collection group to update."];description:UpdateCollectionGroupRequestDescriptionString.toption[@ocaml.doc"A new description for the collection group."];capacityLimits:CollectionGroupCapacityLimits.toption[@ocaml.doc"Updated capacity limits for the collection group, in OpenSearch Compute Units (OCUs)."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="UpdateCollectionGroupRequest"letmake?description=fun?capacityLimits->fun?clientToken->fun~id->fun()->{description;capacityLimits;clientToken;id}letto_valuex=structure_to_value[("id",(Some(CollectionGroupId.to_valuex.id)));("description",(Option.mapx.description~f:UpdateCollectionGroupRequestDescriptionString.to_value));("capacityLimits",(Option.mapx.capacityLimits~f:CollectionGroupCapacityLimits.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletcapacityLimits=(Option.map~f:CollectionGroupCapacityLimits.of_xml)(Xml.childxml_arg0"capacityLimits")inletdescription=(Option.map~f:UpdateCollectionGroupRequestDescriptionString.of_xml)(Xml.childxml_arg0"description")inletid=CollectionGroupId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken?capacityLimits?description~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletcapacityLimits=field_mapjson__"capacityLimits"CollectionGroupCapacityLimits.of_jsoninletdescription=field_mapjson__"description"UpdateCollectionGroupRequestDescriptionString.of_jsoninletid=field_map_exnjson__"id"CollectionGroupId.of_jsoninmake?clientToken?capacityLimits?description~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the description and capacity limits of a collection group."]moduleUpdateAccountSettingsResponse=structtypenonrect={accountSettingsDetail:AccountSettingsDetail.toption[@ocaml.doc"OpenSearch Serverless-related settings for the current Amazon Web Services account."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accountSettingsDetail=fun()->{accountSettingsDetail}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("accountSettingsDetail",(Option.mapx.accountSettingsDetail~f:AccountSettingsDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountSettingsDetail=(Option.map~f:AccountSettingsDetail.of_xml)(Xml.childxml_arg0"accountSettingsDetail")inmake?accountSettingsDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountSettingsDetail=field_mapjson__"accountSettingsDetail"AccountSettingsDetail.of_jsoninmake?accountSettingsDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Update the OpenSearch Serverless settings for the current Amazon Web Services account. For more information, see Managing capacity limits for Amazon OpenSearch Serverless."]moduleUpdateAccountSettingsRequest=structtypenonrect={capacityLimits:CapacityLimits.toption}letmake?capacityLimits=fun()->{capacityLimits}letto_valuex=structure_to_value[("capacityLimits",(Option.mapx.capacityLimits~f:CapacityLimits.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcapacityLimits=(Option.map~f:CapacityLimits.of_xml)(Xml.childxml_arg0"capacityLimits")inmake?capacityLimits()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcapacityLimits=field_mapjson__"capacityLimits"CapacityLimits.of_jsoninmake?capacityLimits()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Update the OpenSearch Serverless settings for the current Amazon Web Services account. For more information, see Managing capacity limits for Amazon OpenSearch Serverless."]moduleUpdateAccessPolicyResponse=structtypenonrect={accessPolicyDetail:AccessPolicyDetail.toption[@ocaml.doc"Details about the updated access policy."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accessPolicyDetail=fun()->{accessPolicyDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("accessPolicyDetail",(Option.mapx.accessPolicyDetail~f:AccessPolicyDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccessPolicyDetail=(Option.map~f:AccessPolicyDetail.of_xml)(Xml.childxml_arg0"accessPolicyDetail")inmake?accessPolicyDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccessPolicyDetail=field_mapjson__"accessPolicyDetail"AccessPolicyDetail.of_jsoninmake?accessPolicyDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless access policy. For more information, see Data access control for Amazon OpenSearch Serverless."]moduleUpdateAccessPolicyRequest=structtypenonrect={type_:AccessPolicyType.t[@ocaml.doc"The type of policy."];name:PolicyName.t[@ocaml.doc"The name of the policy."];policyVersion:PolicyVersion.t[@ocaml.doc"The version of the policy being updated."];description:PolicyDescription.toption[@ocaml.doc"A description of the policy. Typically used to store information about the permissions defined in the policy."];policy:PolicyDocument.toption[@ocaml.doc"The JSON policy document to use as the content for the policy."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="UpdateAccessPolicyRequest"letmake?description=fun?policy->fun?clientToken->fun~type_->fun~name->fun~policyVersion->fun()->{description;policy;clientToken;type_;name;policyVersion}letto_valuex=structure_to_value[("type",(Some(AccessPolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("policyVersion",(Some(PolicyVersion.to_valuex.policyVersion)));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Option.mapx.policy~f:PolicyDocument.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletpolicy=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletpolicyVersion=PolicyVersion.of_xml(Xml.child_exn~context:context_xml_arg0"policyVersion")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=AccessPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken?policy?description~policyVersion~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletpolicy=field_mapjson__"policy"PolicyDocument.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletpolicyVersion=field_map_exnjson__"policyVersion"PolicyVersion.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"AccessPolicyType.of_jsoninmake?clientToken?policy?description~policyVersion~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an OpenSearch Serverless access policy. For more information, see Data access control for Amazon OpenSearch Serverless."]moduleUntagResourceResponse=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag or set of tags from an OpenSearch Serverless resource. For more information, see Tagging Amazon OpenSearch Serverless collections."]moduleUntagResourceRequest=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource to remove tags from. The resource must be active (not in the DELETING state), and must be owned by the account ID included in the request."];tagKeys:TagKeys.t[@ocaml.doc"The tag or set of tags to remove from the resource. All tag keys in the request must be unique."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)));("tagKeys",(Some(TagKeys.to_valuex.tagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagKeys=TagKeys.of_xml(Xml.child_exn~context:context_xml_arg0"tagKeys")inletresourceArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tagKeys~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"tagKeys"TagKeys.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag or set of tags from an OpenSearch Serverless resource. For more information, see Tagging Amazon OpenSearch Serverless collections."]moduleTagResourceResponse=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates tags with an OpenSearch Serverless resource. For more information, see Tagging Amazon OpenSearch Serverless collections."]moduleTagResourceRequest=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource. The resource must be active (not in the DELETING state), and must be owned by the account ID included in the request."];tags:Tags.t[@ocaml.doc"A list of tags (key-value pairs) to add to the resource. All tag keys in the request must be unique."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)));("tags",(Some(Tags.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=Tags.of_xml(Xml.child_exn~context:context_xml_arg0"tags")inletresourceArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tags~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_map_exnjson__"tags"Tags.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates tags with an OpenSearch Serverless resource. For more information, see Tagging Amazon OpenSearch Serverless collections."]moduleListVpcEndpointsResponse=structtypenonrect={vpcEndpointSummaries:VpcEndpointSummaries.toption[@ocaml.doc"Details about each VPC endpoint, including the name and current status."];nextToken:String_.toption[@ocaml.doc"When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?vpcEndpointSummaries=fun?nextToken->fun()->{vpcEndpointSummaries;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("vpcEndpointSummaries",(Option.mapx.vpcEndpointSummaries~f:VpcEndpointSummaries.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletvpcEndpointSummaries=(Option.map~f:VpcEndpointSummaries.of_xml)(Xml.childxml_arg0"vpcEndpointSummaries")inmake?nextToken?vpcEndpointSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletvpcEndpointSummaries=field_mapjson__"vpcEndpointSummaries"VpcEndpointSummaries.of_jsoninmake?nextToken?vpcEndpointSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the OpenSearch Serverless-managed interface VPC endpoints associated with the current account. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleListVpcEndpointsRequest=structtypenonrect={vpcEndpointFilters:VpcEndpointFilters.toption[@ocaml.doc"Filter the results according to the current status of the VPC endpoint. Possible statuses are CREATING, DELETING, UPDATING, ACTIVE, and FAILED."];nextToken:String_.toption[@ocaml.doc"If your initial ListVpcEndpoints operation returns a nextToken, you can include the returned nextToken in subsequent ListVpcEndpoints operations, which returns results in the next page."];maxResults:ListVpcEndpointsRequestMaxResultsInteger.toption[@ocaml.doc"An optional parameter that specifies the maximum number of results to return. You can use nextToken to get the next page of results. The default is 20."]}letmake?vpcEndpointFilters=fun?nextToken->fun?maxResults->fun()->{vpcEndpointFilters;nextToken;maxResults}letto_valuex=structure_to_value[("vpcEndpointFilters",(Option.mapx.vpcEndpointFilters~f:VpcEndpointFilters.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ListVpcEndpointsRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListVpcEndpointsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletvpcEndpointFilters=(Option.map~f:VpcEndpointFilters.of_xml)(Xml.childxml_arg0"vpcEndpointFilters")inmake?maxResults?nextToken?vpcEndpointFilters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListVpcEndpointsRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletvpcEndpointFilters=field_mapjson__"vpcEndpointFilters"VpcEndpointFilters.of_jsoninmake?maxResults?nextToken?vpcEndpointFilters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the OpenSearch Serverless-managed interface VPC endpoints associated with the current account. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleListTagsForResourceResponse=structtypenonrect={tags:Tags.toption[@ocaml.doc"The tags associated with the resource."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inmake?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"Tags.of_jsoninmake?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the tags for an OpenSearch Serverless resource. For more information, see Tagging Amazon OpenSearch Serverless collections."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource. The resource must be active (not in the DELETING state), and must be owned by the account ID included in the request."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the tags for an OpenSearch Serverless resource. For more information, see Tagging Amazon OpenSearch Serverless collections."]moduleListSecurityPoliciesResponse=structtypenonrect={securityPolicySummaries:SecurityPolicySummaries.toption[@ocaml.doc"Details about the security policies in your account."];nextToken:String_.toption[@ocaml.doc"When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityPolicySummaries=fun?nextToken->fun()->{securityPolicySummaries;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityPolicySummaries",(Option.mapx.securityPolicySummaries~f:SecurityPolicySummaries.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletsecurityPolicySummaries=(Option.map~f:SecurityPolicySummaries.of_xml)(Xml.childxml_arg0"securityPolicySummaries")inmake?nextToken?securityPolicySummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletsecurityPolicySummaries=field_mapjson__"securityPolicySummaries"SecurityPolicySummaries.of_jsoninmake?nextToken?securityPolicySummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about configured OpenSearch Serverless security policies."]moduleListSecurityPoliciesRequest=structtypenonrect={type_:SecurityPolicyType.t[@ocaml.doc"The type of policy."];resource:ListSecurityPoliciesRequestResourceList.toption[@ocaml.doc"Resource filters (can be collection or indexes) that policies can apply to."];nextToken:String_.toption[@ocaml.doc"If your initial ListSecurityPolicies operation returns a nextToken, you can include the returned nextToken in subsequent ListSecurityPolicies operations, which returns results in the next page."];maxResults:ListSecurityPoliciesRequestMaxResultsInteger.toption[@ocaml.doc"An optional parameter that specifies the maximum number of results to return. You can use nextToken to get the next page of results. The default is 20."]}letcontext_="ListSecurityPoliciesRequest"letmake?resource=fun?nextToken->fun?maxResults->fun~type_->fun()->{resource;nextToken;maxResults;type_}letto_valuex=structure_to_value[("type",(Some(SecurityPolicyType.to_valuex.type_)));("resource",(Option.mapx.resource~f:ListSecurityPoliciesRequestResourceList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ListSecurityPoliciesRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListSecurityPoliciesRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletresource=(Option.map~f:ListSecurityPoliciesRequestResourceList.of_xml)(Xml.childxml_arg0"resource")inlettype_=SecurityPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?maxResults?nextToken?resource~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListSecurityPoliciesRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletresource=field_mapjson__"resource"ListSecurityPoliciesRequestResourceList.of_jsoninlettype_=field_map_exnjson__"type"SecurityPolicyType.of_jsoninmake?maxResults?nextToken?resource~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about configured OpenSearch Serverless security policies."]moduleListSecurityConfigsResponse=structtypenonrect={securityConfigSummaries:SecurityConfigSummaries.toption[@ocaml.doc"Details about the security configurations in your account."];nextToken:String_.toption[@ocaml.doc"When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityConfigSummaries=fun?nextToken->fun()->{securityConfigSummaries;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityConfigSummaries",(Option.mapx.securityConfigSummaries~f:SecurityConfigSummaries.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletsecurityConfigSummaries=(Option.map~f:SecurityConfigSummaries.of_xml)(Xml.childxml_arg0"securityConfigSummaries")inmake?nextToken?securityConfigSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletsecurityConfigSummaries=field_mapjson__"securityConfigSummaries"SecurityConfigSummaries.of_jsoninmake?nextToken?securityConfigSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about configured OpenSearch Serverless security configurations. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleListSecurityConfigsRequest=structtypenonrect={type_:SecurityConfigType.t[@ocaml.doc"The type of security configuration."];nextToken:String_.toption[@ocaml.doc"If your initial ListSecurityConfigs operation returns a nextToken, you can include the returned nextToken in subsequent ListSecurityConfigs operations, which returns results in the next page."];maxResults:ListSecurityConfigsRequestMaxResultsInteger.toption[@ocaml.doc"An optional parameter that specifies the maximum number of results to return. You can use nextToken to get the next page of results. The default is 20."]}letcontext_="ListSecurityConfigsRequest"letmake?nextToken=fun?maxResults->fun~type_->fun()->{nextToken;maxResults;type_}letto_valuex=structure_to_value[("type",(Some(SecurityConfigType.to_valuex.type_)));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ListSecurityConfigsRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListSecurityConfigsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inlettype_=SecurityConfigType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?maxResults?nextToken~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListSecurityConfigsRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninlettype_=field_map_exnjson__"type"SecurityConfigType.of_jsoninmake?maxResults?nextToken~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about configured OpenSearch Serverless security configurations. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleListLifecyclePoliciesResponse=structtypenonrect={lifecyclePolicySummaries:LifecyclePolicySummaries.toption[@ocaml.doc"Details about the requested lifecycle policies."];nextToken:String_.toption[@ocaml.doc"When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?lifecyclePolicySummaries=fun?nextToken->fun()->{lifecyclePolicySummaries;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("lifecyclePolicySummaries",(Option.mapx.lifecyclePolicySummaries~f:LifecyclePolicySummaries.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletlifecyclePolicySummaries=(Option.map~f:LifecyclePolicySummaries.of_xml)(Xml.childxml_arg0"lifecyclePolicySummaries")inmake?nextToken?lifecyclePolicySummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletlifecyclePolicySummaries=field_mapjson__"lifecyclePolicySummaries"LifecyclePolicySummaries.of_jsoninmake?nextToken?lifecyclePolicySummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of OpenSearch Serverless lifecycle policies. For more information, see Viewing data lifecycle policies."]moduleListLifecyclePoliciesRequest=structtypenonrect={type_:LifecyclePolicyType.t[@ocaml.doc"The type of lifecycle policy."];resources:ListLifecyclePoliciesRequestResourcesList.toption[@ocaml.doc"Resource filters that policies can apply to. Currently, the only supported resource type is index."];nextToken:String_.toption[@ocaml.doc"If your initial ListLifecyclePolicies operation returns a nextToken, you can include the returned nextToken in subsequent ListLifecyclePolicies operations, which returns results in the next page."];maxResults:ListLifecyclePoliciesRequestMaxResultsInteger.toption[@ocaml.doc"An optional parameter that specifies the maximum number of results to return. You can use use nextToken to get the next page of results. The default is 10."]}letcontext_="ListLifecyclePoliciesRequest"letmake?resources=fun?nextToken->fun?maxResults->fun~type_->fun()->{resources;nextToken;maxResults;type_}letto_valuex=structure_to_value[("type",(Some(LifecyclePolicyType.to_valuex.type_)));("resources",(Option.mapx.resources~f:ListLifecyclePoliciesRequestResourcesList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ListLifecyclePoliciesRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListLifecyclePoliciesRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletresources=(Option.map~f:ListLifecyclePoliciesRequestResourcesList.of_xml)(Xml.childxml_arg0"resources")inlettype_=LifecyclePolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?maxResults?nextToken?resources~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListLifecyclePoliciesRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletresources=field_mapjson__"resources"ListLifecyclePoliciesRequestResourcesList.of_jsoninlettype_=field_map_exnjson__"type"LifecyclePolicyType.of_jsoninmake?maxResults?nextToken?resources~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of OpenSearch Serverless lifecycle policies. For more information, see Viewing data lifecycle policies."]moduleListCollectionsResponse=structtypenonrect={collectionSummaries:CollectionSummaries.toption[@ocaml.doc"Details about each collection."];nextToken:String_.toption[@ocaml.doc"When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?collectionSummaries=fun?nextToken->fun()->{collectionSummaries;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("collectionSummaries",(Option.mapx.collectionSummaries~f:CollectionSummaries.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletcollectionSummaries=(Option.map~f:CollectionSummaries.of_xml)(Xml.childxml_arg0"collectionSummaries")inmake?nextToken?collectionSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletcollectionSummaries=field_mapjson__"collectionSummaries"CollectionSummaries.of_jsoninmake?nextToken?collectionSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all OpenSearch Serverless collections. For more information, see Creating and managing Amazon OpenSearch Serverless collections. Make sure to include an empty request body \\{\\} if you don't include any collection filters in the request."]moduleListCollectionsRequest=structtypenonrect={collectionFilters:CollectionFilters.toption[@ocaml.doc"A list of filter names and values that you can use for requests."];nextToken:String_.toption[@ocaml.doc"If your initial ListCollections operation returns a nextToken, you can include the returned nextToken in subsequent ListCollections operations, which returns results in the next page."];maxResults:ListCollectionsRequestMaxResultsInteger.toption[@ocaml.doc"The maximum number of results to return. Default is 20. You can use nextToken to get the next page of results."]}letmake?collectionFilters=fun?nextToken->fun?maxResults->fun()->{collectionFilters;nextToken;maxResults}letto_valuex=structure_to_value[("collectionFilters",(Option.mapx.collectionFilters~f:CollectionFilters.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ListCollectionsRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListCollectionsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletcollectionFilters=(Option.map~f:CollectionFilters.of_xml)(Xml.childxml_arg0"collectionFilters")inmake?maxResults?nextToken?collectionFilters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListCollectionsRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletcollectionFilters=field_mapjson__"collectionFilters"CollectionFilters.of_jsoninmake?maxResults?nextToken?collectionFilters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all OpenSearch Serverless collections. For more information, see Creating and managing Amazon OpenSearch Serverless collections. Make sure to include an empty request body \\{\\} if you don't include any collection filters in the request."]moduleListCollectionGroupsResponse=structtypenonrect={collectionGroupSummaries:CollectionGroupSummaries.toption[@ocaml.doc"Details about each collection group."];nextToken:String_.toption[@ocaml.doc"When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?collectionGroupSummaries=fun?nextToken->fun()->{collectionGroupSummaries;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("collectionGroupSummaries",(Option.mapx.collectionGroupSummaries~f:CollectionGroupSummaries.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletcollectionGroupSummaries=(Option.map~f:CollectionGroupSummaries.of_xml)(Xml.childxml_arg0"collectionGroupSummaries")inmake?nextToken?collectionGroupSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletcollectionGroupSummaries=field_mapjson__"collectionGroupSummaries"CollectionGroupSummaries.of_jsoninmake?nextToken?collectionGroupSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of collection groups. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleListCollectionGroupsRequest=structtypenonrect={nextToken:String_.toption[@ocaml.doc"If your initial ListCollectionGroups operation returns a nextToken, you can include the returned nextToken in subsequent ListCollectionGroups operations, which returns results in the next page."];maxResults:ListCollectionGroupsRequestMaxResultsInteger.toption[@ocaml.doc"The maximum number of results to return. Default is 20. You can use nextToken to get the next page of results."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ListCollectionGroupsRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListCollectionGroupsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListCollectionGroupsRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of collection groups. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleListAccessPoliciesResponse=structtypenonrect={accessPolicySummaries:AccessPolicySummaries.toption[@ocaml.doc"Details about the requested access policies."];nextToken:String_.toption[@ocaml.doc"When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accessPolicySummaries=fun?nextToken->fun()->{accessPolicySummaries;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("accessPolicySummaries",(Option.mapx.accessPolicySummaries~f:AccessPolicySummaries.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletaccessPolicySummaries=(Option.map~f:AccessPolicySummaries.of_xml)(Xml.childxml_arg0"accessPolicySummaries")inmake?nextToken?accessPolicySummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletaccessPolicySummaries=field_mapjson__"accessPolicySummaries"AccessPolicySummaries.of_jsoninmake?nextToken?accessPolicySummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about a list of OpenSearch Serverless access policies."]moduleListAccessPoliciesRequest=structtypenonrect={type_:AccessPolicyType.t[@ocaml.doc"The type of access policy."];resource:ListAccessPoliciesRequestResourceList.toption[@ocaml.doc"Resource filters (can be collections or indexes) that policies can apply to."];nextToken:String_.toption[@ocaml.doc"If your initial ListAccessPolicies operation returns a nextToken, you can include the returned nextToken in subsequent ListAccessPolicies operations, which returns results in the next page."];maxResults:ListAccessPoliciesRequestMaxResultsInteger.toption[@ocaml.doc"An optional parameter that specifies the maximum number of results to return. You can use nextToken to get the next page of results. The default is 20."]}letcontext_="ListAccessPoliciesRequest"letmake?resource=fun?nextToken->fun?maxResults->fun~type_->fun()->{resource;nextToken;maxResults;type_}letto_valuex=structure_to_value[("type",(Some(AccessPolicyType.to_valuex.type_)));("resource",(Option.mapx.resource~f:ListAccessPoliciesRequestResourceList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value));("maxResults",(Option.mapx.maxResults~f:ListAccessPoliciesRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListAccessPoliciesRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletresource=(Option.map~f:ListAccessPoliciesRequestResourceList.of_xml)(Xml.childxml_arg0"resource")inlettype_=AccessPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?maxResults?nextToken?resource~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListAccessPoliciesRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninletresource=field_mapjson__"resource"ListAccessPoliciesRequestResourceList.of_jsoninlettype_=field_map_exnjson__"type"AccessPolicyType.of_jsoninmake?maxResults?nextToken?resource~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about a list of OpenSearch Serverless access policies."]moduleGetSecurityPolicyResponse=structtypenonrect={securityPolicyDetail:SecurityPolicyDetail.toption[@ocaml.doc"Details about the requested security policy."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityPolicyDetail=fun()->{securityPolicyDetail}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityPolicyDetail",(Option.mapx.securityPolicyDetail~f:SecurityPolicyDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityPolicyDetail=(Option.map~f:SecurityPolicyDetail.of_xml)(Xml.childxml_arg0"securityPolicyDetail")inmake?securityPolicyDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityPolicyDetail=field_mapjson__"securityPolicyDetail"SecurityPolicyDetail.of_jsoninmake?securityPolicyDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about a configured OpenSearch Serverless security policy. For more information, see Network access for Amazon OpenSearch Serverless and Encryption at rest for Amazon OpenSearch Serverless."]moduleGetSecurityPolicyRequest=structtypenonrect={type_:SecurityPolicyType.t[@ocaml.doc"The type of security policy."];name:PolicyName.t[@ocaml.doc"The name of the security policy."]}letcontext_="GetSecurityPolicyRequest"letmake~type_=fun~name->fun()->{type_;name}letto_valuex=structure_to_value[("type",(Some(SecurityPolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=SecurityPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"SecurityPolicyType.of_jsoninmake~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about a configured OpenSearch Serverless security policy. For more information, see Network access for Amazon OpenSearch Serverless and Encryption at rest for Amazon OpenSearch Serverless."]moduleGetSecurityConfigResponse=structtypenonrect={securityConfigDetail:SecurityConfigDetail.toption[@ocaml.doc"Details of the requested security configuration."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityConfigDetail=fun()->{securityConfigDetail}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityConfigDetail",(Option.mapx.securityConfigDetail~f:SecurityConfigDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityConfigDetail=(Option.map~f:SecurityConfigDetail.of_xml)(Xml.childxml_arg0"securityConfigDetail")inmake?securityConfigDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityConfigDetail=field_mapjson__"securityConfigDetail"SecurityConfigDetail.of_jsoninmake?securityConfigDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about an OpenSearch Serverless security configuration. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleGetSecurityConfigRequest=structtypenonrect={id:SecurityConfigId.t[@ocaml.doc"The unique identifier of the security configuration."]}letcontext_="GetSecurityConfigRequest"letmake~id=fun()->{id}letto_valuex=structure_to_value[("id",(Some(SecurityConfigId.to_valuex.id)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=SecurityConfigId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_map_exnjson__"id"SecurityConfigId.of_jsoninmake~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about an OpenSearch Serverless security configuration. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleGetPoliciesStatsResponse=structtypenonrect={accessPolicyStats:AccessPolicyStats.toption[@ocaml.doc"Information about the data access policies in your account."];securityPolicyStats:SecurityPolicyStats.toption[@ocaml.doc"Information about the security policies in your account."];securityConfigStats:SecurityConfigStats.toption[@ocaml.doc"Information about the security configurations in your account."];lifecyclePolicyStats:LifecyclePolicyStats.toption[@ocaml.doc"Information about the lifecycle policies in your account."];totalPolicyCount:Long.toption[@ocaml.doc"The total number of OpenSearch Serverless security policies and configurations in your account."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accessPolicyStats=fun?securityPolicyStats->fun?securityConfigStats->fun?lifecyclePolicyStats->fun?totalPolicyCount->fun()->{accessPolicyStats;securityPolicyStats;securityConfigStats;lifecyclePolicyStats;totalPolicyCount}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("AccessPolicyStats",(Option.mapx.accessPolicyStats~f:AccessPolicyStats.to_value));("SecurityPolicyStats",(Option.mapx.securityPolicyStats~f:SecurityPolicyStats.to_value));("SecurityConfigStats",(Option.mapx.securityConfigStats~f:SecurityConfigStats.to_value));("LifecyclePolicyStats",(Option.mapx.lifecyclePolicyStats~f:LifecyclePolicyStats.to_value));("TotalPolicyCount",(Option.mapx.totalPolicyCount~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotalPolicyCount=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"TotalPolicyCount")inletlifecyclePolicyStats=(Option.map~f:LifecyclePolicyStats.of_xml)(Xml.childxml_arg0"LifecyclePolicyStats")inletsecurityConfigStats=(Option.map~f:SecurityConfigStats.of_xml)(Xml.childxml_arg0"SecurityConfigStats")inletsecurityPolicyStats=(Option.map~f:SecurityPolicyStats.of_xml)(Xml.childxml_arg0"SecurityPolicyStats")inletaccessPolicyStats=(Option.map~f:AccessPolicyStats.of_xml)(Xml.childxml_arg0"AccessPolicyStats")inmake?totalPolicyCount?lifecyclePolicyStats?securityConfigStats?securityPolicyStats?accessPolicyStats()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotalPolicyCount=field_mapjson__"TotalPolicyCount"Long.of_jsoninletlifecyclePolicyStats=field_mapjson__"LifecyclePolicyStats"LifecyclePolicyStats.of_jsoninletsecurityConfigStats=field_mapjson__"SecurityConfigStats"SecurityConfigStats.of_jsoninletsecurityPolicyStats=field_mapjson__"SecurityPolicyStats"SecurityPolicyStats.of_jsoninletaccessPolicyStats=field_mapjson__"AccessPolicyStats"AccessPolicyStats.of_jsoninmake?totalPolicyCount?lifecyclePolicyStats?securityConfigStats?securityPolicyStats?accessPolicyStats()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns statistical information about your OpenSearch Serverless access policies, security configurations, and security policies."]moduleGetPoliciesStatsRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns statistical information about your OpenSearch Serverless access policies, security configurations, and security policies."]moduleGetIndexResponse=structtypenonrect={indexSchema:IndexSchema.toption[@ocaml.doc"The JSON schema definition for the index, including field mappings and settings."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?indexSchema=fun()->{indexSchema}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("indexSchema",(Option.mapx.indexSchema~f:IndexSchema.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letindexSchema=(Option.map~f:IndexSchema.of_xml)(Xml.childxml_arg0"indexSchema")inmake?indexSchema()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letindexSchema=field_mapjson__"indexSchema"IndexSchema.of_jsoninmake?indexSchema()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about an index in an OpenSearch Serverless collection, including its schema definition. The index might be configured to conduct automatic semantic enrichment ingestion and search. For more information, see About automatic semantic enrichment."]moduleGetIndexRequest=structtypenonrect={id:CollectionId.t[@ocaml.doc"The unique identifier of the collection containing the index."];indexName:IndexName.t[@ocaml.doc"The name of the index to retrieve information about."]}letcontext_="GetIndexRequest"letmake~id=fun~indexName->fun()->{id;indexName}letto_valuex=structure_to_value[("id",(Some(CollectionId.to_valuex.id)));("indexName",(Some(IndexName.to_valuex.indexName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letindexName=IndexName.of_xml(Xml.child_exn~context:context_xml_arg0"indexName")inletid=CollectionId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~indexName~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letindexName=field_map_exnjson__"indexName"IndexName.of_jsoninletid=field_map_exnjson__"id"CollectionId.of_jsoninmake~indexName~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about an index in an OpenSearch Serverless collection, including its schema definition. The index might be configured to conduct automatic semantic enrichment ingestion and search. For more information, see About automatic semantic enrichment."]moduleGetAccountSettingsResponse=structtypenonrect={accountSettingsDetail:AccountSettingsDetail.toption[@ocaml.doc"OpenSearch Serverless-related details for the current account."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accountSettingsDetail=fun()->{accountSettingsDetail}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("accountSettingsDetail",(Option.mapx.accountSettingsDetail~f:AccountSettingsDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountSettingsDetail=(Option.map~f:AccountSettingsDetail.of_xml)(Xml.childxml_arg0"accountSettingsDetail")inmake?accountSettingsDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountSettingsDetail=field_mapjson__"accountSettingsDetail"AccountSettingsDetail.of_jsoninmake?accountSettingsDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns account-level settings related to OpenSearch Serverless."]moduleGetAccountSettingsRequest=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns account-level settings related to OpenSearch Serverless."]moduleGetAccessPolicyResponse=structtypenonrect={accessPolicyDetail:AccessPolicyDetail.toption[@ocaml.doc"Details about the requested access policy."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accessPolicyDetail=fun()->{accessPolicyDetail}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("accessPolicyDetail",(Option.mapx.accessPolicyDetail~f:AccessPolicyDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccessPolicyDetail=(Option.map~f:AccessPolicyDetail.of_xml)(Xml.childxml_arg0"accessPolicyDetail")inmake?accessPolicyDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccessPolicyDetail=field_mapjson__"accessPolicyDetail"AccessPolicyDetail.of_jsoninmake?accessPolicyDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns an OpenSearch Serverless access policy. For more information, see Data access control for Amazon OpenSearch Serverless."]moduleGetAccessPolicyRequest=structtypenonrect={type_:AccessPolicyType.t[@ocaml.doc"Tye type of policy. Currently, the only supported value is data."];name:PolicyName.t[@ocaml.doc"The name of the access policy."]}letcontext_="GetAccessPolicyRequest"letmake~type_=fun~name->fun()->{type_;name}letto_valuex=structure_to_value[("type",(Some(AccessPolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=AccessPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"AccessPolicyType.of_jsoninmake~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns an OpenSearch Serverless access policy. For more information, see Data access control for Amazon OpenSearch Serverless."]moduleDeleteVpcEndpointResponse=structtypenonrect={deleteVpcEndpointDetail:DeleteVpcEndpointDetail.toption[@ocaml.doc"Details about the deleted endpoint."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?deleteVpcEndpointDetail=fun()->{deleteVpcEndpointDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("deleteVpcEndpointDetail",(Option.mapx.deleteVpcEndpointDetail~f:DeleteVpcEndpointDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeleteVpcEndpointDetail=(Option.map~f:DeleteVpcEndpointDetail.of_xml)(Xml.childxml_arg0"deleteVpcEndpointDetail")inmake?deleteVpcEndpointDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeleteVpcEndpointDetail=field_mapjson__"deleteVpcEndpointDetail"DeleteVpcEndpointDetail.of_jsoninmake?deleteVpcEndpointDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless-managed interface endpoint. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleDeleteVpcEndpointRequest=structtypenonrect={id:VpcEndpointId.t[@ocaml.doc"The VPC endpoint identifier."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="DeleteVpcEndpointRequest"letmake?clientToken=fun~id->fun()->{clientToken;id}letto_valuex=structure_to_value[("id",(Some(VpcEndpointId.to_valuex.id)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletid=VpcEndpointId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletid=field_map_exnjson__"id"VpcEndpointId.of_jsoninmake?clientToken~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless-managed interface endpoint. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleDeleteSecurityPolicyResponse=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless security policy."]moduleDeleteSecurityPolicyRequest=structtypenonrect={type_:SecurityPolicyType.t[@ocaml.doc"The type of policy."];name:PolicyName.t[@ocaml.doc"The name of the policy to delete."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="DeleteSecurityPolicyRequest"letmake?clientToken=fun~type_->fun~name->fun()->{clientToken;type_;name}letto_valuex=structure_to_value[("type",(Some(SecurityPolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=SecurityPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"SecurityPolicyType.of_jsoninmake?clientToken~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless security policy."]moduleDeleteSecurityConfigResponse=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a security configuration for OpenSearch Serverless. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleDeleteSecurityConfigRequest=structtypenonrect={id:SecurityConfigId.t[@ocaml.doc"The security configuration identifier. For SAML the ID will be saml/<accountId>/<idpProviderName>. For example, saml/123456789123/OKTADev."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="DeleteSecurityConfigRequest"letmake?clientToken=fun~id->fun()->{clientToken;id}letto_valuex=structure_to_value[("id",(Some(SecurityConfigId.to_valuex.id)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletid=SecurityConfigId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletid=field_map_exnjson__"id"SecurityConfigId.of_jsoninmake?clientToken~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a security configuration for OpenSearch Serverless. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleDeleteLifecyclePolicyResponse=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless lifecycle policy. For more information, see Deleting data lifecycle policies."]moduleDeleteLifecyclePolicyRequest=structtypenonrect={type_:LifecyclePolicyType.t[@ocaml.doc"The type of lifecycle policy."];name:PolicyName.t[@ocaml.doc"The name of the policy to delete."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="DeleteLifecyclePolicyRequest"letmake?clientToken=fun~type_->fun~name->fun()->{clientToken;type_;name}letto_valuex=structure_to_value[("type",(Some(LifecyclePolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=LifecyclePolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"LifecyclePolicyType.of_jsoninmake?clientToken~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless lifecycle policy. For more information, see Deleting data lifecycle policies."]moduleDeleteIndexResponse=structtypenonrect=unittypenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an index from an OpenSearch Serverless collection. Be aware that the index might be configured to conduct automatic semantic enrichment ingestion and search. For more information, see About automatic semantic enrichment."]moduleDeleteIndexRequest=structtypenonrect={id:CollectionId.t[@ocaml.doc"The unique identifier of the collection containing the index to delete."];indexName:IndexName.t[@ocaml.doc"The name of the index to delete."]}letcontext_="DeleteIndexRequest"letmake~id=fun~indexName->fun()->{id;indexName}letto_valuex=structure_to_value[("id",(Some(CollectionId.to_valuex.id)));("indexName",(Some(IndexName.to_valuex.indexName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letindexName=IndexName.of_xml(Xml.child_exn~context:context_xml_arg0"indexName")inletid=CollectionId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~indexName~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letindexName=field_map_exnjson__"indexName"IndexName.of_jsoninletid=field_map_exnjson__"id"CollectionId.of_jsoninmake~indexName~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an index from an OpenSearch Serverless collection. Be aware that the index might be configured to conduct automatic semantic enrichment ingestion and search. For more information, see About automatic semantic enrichment."]moduleDeleteCollectionResponse=structtypenonrect={deleteCollectionDetail:DeleteCollectionDetail.toption[@ocaml.doc"Details of the deleted collection."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?deleteCollectionDetail=fun()->{deleteCollectionDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("deleteCollectionDetail",(Option.mapx.deleteCollectionDetail~f:DeleteCollectionDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeleteCollectionDetail=(Option.map~f:DeleteCollectionDetail.of_xml)(Xml.childxml_arg0"deleteCollectionDetail")inmake?deleteCollectionDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeleteCollectionDetail=field_mapjson__"deleteCollectionDetail"DeleteCollectionDetail.of_jsoninmake?deleteCollectionDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless collection. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleDeleteCollectionRequest=structtypenonrect={id:CollectionId.t[@ocaml.doc"The unique identifier of the collection. For example, 1iu5usc406kd. The ID is part of the collection endpoint. You can also retrieve it using the ListCollections API."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="DeleteCollectionRequest"letmake?clientToken=fun~id->fun()->{clientToken;id}letto_valuex=structure_to_value[("id",(Some(CollectionId.to_valuex.id)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletid=CollectionId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletid=field_map_exnjson__"id"CollectionId.of_jsoninmake?clientToken~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless collection. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleDeleteCollectionGroupResponse=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a collection group. You can only delete empty collection groups that contain no collections. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleDeleteCollectionGroupRequest=structtypenonrect={id:CollectionGroupId.t[@ocaml.doc"The unique identifier of the collection group to delete."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="DeleteCollectionGroupRequest"letmake?clientToken=fun~id->fun()->{clientToken;id}letto_valuex=structure_to_value[("id",(Some(CollectionGroupId.to_valuex.id)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletid=CollectionGroupId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?clientToken~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletid=field_map_exnjson__"id"CollectionGroupId.of_jsoninmake?clientToken~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a collection group. You can only delete empty collection groups that contain no collections. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleDeleteAccessPolicyResponse=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless access policy. For more information, see Data access control for Amazon OpenSearch Serverless."]moduleDeleteAccessPolicyRequest=structtypenonrect={type_:AccessPolicyType.t[@ocaml.doc"The type of policy."];name:PolicyName.t[@ocaml.doc"The name of the policy to delete."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="DeleteAccessPolicyRequest"letmake?clientToken=fun~type_->fun~name->fun()->{clientToken;type_;name}letto_valuex=structure_to_value[("type",(Some(AccessPolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=AccessPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"AccessPolicyType.of_jsoninmake?clientToken~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an OpenSearch Serverless access policy. For more information, see Data access control for Amazon OpenSearch Serverless."]moduleCreateVpcEndpointResponse=structtypenonrect={createVpcEndpointDetail:CreateVpcEndpointDetail.toption[@ocaml.doc"Details about the created interface VPC endpoint."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?createVpcEndpointDetail=fun()->{createVpcEndpointDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("createVpcEndpointDetail",(Option.mapx.createVpcEndpointDetail~f:CreateVpcEndpointDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreateVpcEndpointDetail=(Option.map~f:CreateVpcEndpointDetail.of_xml)(Xml.childxml_arg0"createVpcEndpointDetail")inmake?createVpcEndpointDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreateVpcEndpointDetail=field_mapjson__"createVpcEndpointDetail"CreateVpcEndpointDetail.of_jsoninmake?createVpcEndpointDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an OpenSearch Serverless-managed interface VPC endpoint. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleCreateVpcEndpointRequest=structtypenonrect={name:VpcEndpointName.t[@ocaml.doc"The name of the interface endpoint."];vpcId:VpcId.t[@ocaml.doc"The ID of the VPC from which you'll access OpenSearch Serverless."];subnetIds:SubnetIds.t[@ocaml.doc"The ID of one or more subnets from which you'll access OpenSearch Serverless."];securityGroupIds:SecurityGroupIds.toption[@ocaml.doc"The unique identifiers of the security groups that define the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="CreateVpcEndpointRequest"letmake?securityGroupIds=fun?clientToken->fun~name->fun~vpcId->fun~subnetIds->fun()->{securityGroupIds;clientToken;name;vpcId;subnetIds}letto_valuex=structure_to_value[("name",(Some(VpcEndpointName.to_valuex.name)));("vpcId",(Some(VpcId.to_valuex.vpcId)));("subnetIds",(Some(SubnetIds.to_valuex.subnetIds)));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupIds.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletsecurityGroupIds=(Option.map~f:SecurityGroupIds.of_xml)(Xml.childxml_arg0"securityGroupIds")inletsubnetIds=SubnetIds.of_xml(Xml.child_exn~context:context_xml_arg0"subnetIds")inletvpcId=VpcId.of_xml(Xml.child_exn~context:context_xml_arg0"vpcId")inletname=VpcEndpointName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?clientToken?securityGroupIds~subnetIds~vpcId~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupIds.of_jsoninletsubnetIds=field_map_exnjson__"subnetIds"SubnetIds.of_jsoninletvpcId=field_map_exnjson__"vpcId"VpcId.of_jsoninletname=field_map_exnjson__"name"VpcEndpointName.of_jsoninmake?clientToken?securityGroupIds~subnetIds~vpcId~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an OpenSearch Serverless-managed interface VPC endpoint. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleCreateSecurityPolicyResponse=structtypenonrect={securityPolicyDetail:SecurityPolicyDetail.toption[@ocaml.doc"Details about the created security policy."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityPolicyDetail=fun()->{securityPolicyDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityPolicyDetail",(Option.mapx.securityPolicyDetail~f:SecurityPolicyDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityPolicyDetail=(Option.map~f:SecurityPolicyDetail.of_xml)(Xml.childxml_arg0"securityPolicyDetail")inmake?securityPolicyDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityPolicyDetail=field_mapjson__"securityPolicyDetail"SecurityPolicyDetail.of_jsoninmake?securityPolicyDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a security policy to be used by one or more OpenSearch Serverless collections. Security policies provide access to a collection and its OpenSearch Dashboards endpoint from public networks or specific VPC endpoints. They also allow you to secure a collection with a KMS encryption key. For more information, see Network access for Amazon OpenSearch Serverless and Encryption at rest for Amazon OpenSearch Serverless."]moduleCreateSecurityPolicyRequest=structtypenonrect={type_:SecurityPolicyType.t[@ocaml.doc"The type of security policy."];name:PolicyName.t[@ocaml.doc"The name of the policy."];description:PolicyDescription.toption[@ocaml.doc"A description of the policy. Typically used to store information about the permissions defined in the policy."];policy:PolicyDocument.t[@ocaml.doc"The JSON policy document to use as the content for the new policy."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="CreateSecurityPolicyRequest"letmake?description=fun?clientToken->fun~type_->fun~name->fun~policy->fun()->{description;clientToken;type_;name;policy}letto_valuex=structure_to_value[("type",(Some(SecurityPolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Some(PolicyDocument.to_valuex.policy)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletpolicy=PolicyDocument.of_xml(Xml.child_exn~context:context_xml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=SecurityPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken~policy?description~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletpolicy=field_map_exnjson__"policy"PolicyDocument.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"SecurityPolicyType.of_jsoninmake?clientToken~policy?description~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a security policy to be used by one or more OpenSearch Serverless collections. Security policies provide access to a collection and its OpenSearch Dashboards endpoint from public networks or specific VPC endpoints. They also allow you to secure a collection with a KMS encryption key. For more information, see Network access for Amazon OpenSearch Serverless and Encryption at rest for Amazon OpenSearch Serverless."]moduleCreateSecurityConfigResponse=structtypenonrect={securityConfigDetail:SecurityConfigDetail.toption[@ocaml.doc"Details about the created security configuration."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?securityConfigDetail=fun()->{securityConfigDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("securityConfigDetail",(Option.mapx.securityConfigDetail~f:SecurityConfigDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityConfigDetail=(Option.map~f:SecurityConfigDetail.of_xml)(Xml.childxml_arg0"securityConfigDetail")inmake?securityConfigDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityConfigDetail=field_mapjson__"securityConfigDetail"SecurityConfigDetail.of_jsoninmake?securityConfigDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies a security configuration for OpenSearch Serverless. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleCreateSecurityConfigRequest=structtypenonrect={type_:SecurityConfigType.t[@ocaml.doc"The type of security configuration."];name:ConfigName.t[@ocaml.doc"The name of the security configuration."];description:ConfigDescription.toption[@ocaml.doc"A description of the security configuration."];samlOptions:SamlConfigOptions.toption[@ocaml.doc"Describes SAML options in the form of a key-value map. This field is required if you specify SAML for the type parameter."];iamIdentityCenterOptions:CreateIamIdentityCenterConfigOptions.toption[@ocaml.doc"Describes IAM Identity Center options in the form of a key-value map. This field is required if you specify iamidentitycenter for the type parameter."];iamFederationOptions:IamFederationConfigOptions.toption[@ocaml.doc"Describes IAM federation options in the form of a key-value map. This field is required if you specify iamFederation for the type parameter."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="CreateSecurityConfigRequest"letmake?description=fun?samlOptions->fun?iamIdentityCenterOptions->fun?iamFederationOptions->fun?clientToken->fun~type_->fun~name->fun()->{description;samlOptions;iamIdentityCenterOptions;iamFederationOptions;clientToken;type_;name}letto_valuex=structure_to_value[("type",(Some(SecurityConfigType.to_valuex.type_)));("name",(Some(ConfigName.to_valuex.name)));("description",(Option.mapx.description~f:ConfigDescription.to_value));("samlOptions",(Option.mapx.samlOptions~f:SamlConfigOptions.to_value));("iamIdentityCenterOptions",(Option.mapx.iamIdentityCenterOptions~f:CreateIamIdentityCenterConfigOptions.to_value));("iamFederationOptions",(Option.mapx.iamFederationOptions~f:IamFederationConfigOptions.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletiamFederationOptions=(Option.map~f:IamFederationConfigOptions.of_xml)(Xml.childxml_arg0"iamFederationOptions")inletiamIdentityCenterOptions=(Option.map~f:CreateIamIdentityCenterConfigOptions.of_xml)(Xml.childxml_arg0"iamIdentityCenterOptions")inletsamlOptions=(Option.map~f:SamlConfigOptions.of_xml)(Xml.childxml_arg0"samlOptions")inletdescription=(Option.map~f:ConfigDescription.of_xml)(Xml.childxml_arg0"description")inletname=ConfigName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=SecurityConfigType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken?iamFederationOptions?iamIdentityCenterOptions?samlOptions?description~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletiamFederationOptions=field_mapjson__"iamFederationOptions"IamFederationConfigOptions.of_jsoninletiamIdentityCenterOptions=field_mapjson__"iamIdentityCenterOptions"CreateIamIdentityCenterConfigOptions.of_jsoninletsamlOptions=field_mapjson__"samlOptions"SamlConfigOptions.of_jsoninletdescription=field_mapjson__"description"ConfigDescription.of_jsoninletname=field_map_exnjson__"name"ConfigName.of_jsoninlettype_=field_map_exnjson__"type"SecurityConfigType.of_jsoninmake?clientToken?iamFederationOptions?iamIdentityCenterOptions?samlOptions?description~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies a security configuration for OpenSearch Serverless. For more information, see SAML authentication for Amazon OpenSearch Serverless."]moduleCreateLifecyclePolicyResponse=structtypenonrect={lifecyclePolicyDetail:LifecyclePolicyDetail.toption[@ocaml.doc"Details about the created lifecycle policy."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?lifecyclePolicyDetail=fun()->{lifecyclePolicyDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("lifecyclePolicyDetail",(Option.mapx.lifecyclePolicyDetail~f:LifecyclePolicyDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlifecyclePolicyDetail=(Option.map~f:LifecyclePolicyDetail.of_xml)(Xml.childxml_arg0"lifecyclePolicyDetail")inmake?lifecyclePolicyDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlifecyclePolicyDetail=field_mapjson__"lifecyclePolicyDetail"LifecyclePolicyDetail.of_jsoninmake?lifecyclePolicyDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a lifecyle policy to be applied to OpenSearch Serverless indexes. Lifecycle policies define the number of days or hours to retain the data on an OpenSearch Serverless index. For more information, see Creating data lifecycle policies."]moduleCreateLifecyclePolicyRequest=structtypenonrect={type_:LifecyclePolicyType.t[@ocaml.doc"The type of lifecycle policy."];name:PolicyName.t[@ocaml.doc"The name of the lifecycle policy."];description:PolicyDescription.toption[@ocaml.doc"A description of the lifecycle policy."];policy:PolicyDocument.t[@ocaml.doc"The JSON policy document to use as the content for the lifecycle policy."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="CreateLifecyclePolicyRequest"letmake?description=fun?clientToken->fun~type_->fun~name->fun~policy->fun()->{description;clientToken;type_;name;policy}letto_valuex=structure_to_value[("type",(Some(LifecyclePolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Some(PolicyDocument.to_valuex.policy)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletpolicy=PolicyDocument.of_xml(Xml.child_exn~context:context_xml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=LifecyclePolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken~policy?description~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletpolicy=field_map_exnjson__"policy"PolicyDocument.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"LifecyclePolicyType.of_jsoninmake?clientToken~policy?description~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a lifecyle policy to be applied to OpenSearch Serverless indexes. Lifecycle policies define the number of days or hours to retain the data on an OpenSearch Serverless index. For more information, see Creating data lifecycle policies."]moduleCreateIndexResponse=structtypenonrect=unittypenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an index within an OpenSearch Serverless collection. Unlike other OpenSearch indexes, indexes created by this API are automatically configured to conduct automatic semantic enrichment ingestion and search. For more information, see About automatic semantic enrichment in the OpenSearch User Guide."]moduleCreateIndexRequest=structtypenonrect={id:CollectionId.t[@ocaml.doc"The unique identifier of the collection in which to create the index."];indexName:IndexName.t[@ocaml.doc"The name of the index to create. Index names must be lowercase and can't begin with underscores (_) or hyphens (-)."];indexSchema:IndexSchema.toption[@ocaml.doc"The JSON schema definition for the index, including field mappings and settings."]}letcontext_="CreateIndexRequest"letmake?indexSchema=fun~id->fun~indexName->fun()->{indexSchema;id;indexName}letto_valuex=structure_to_value[("id",(Some(CollectionId.to_valuex.id)));("indexName",(Some(IndexName.to_valuex.indexName)));("indexSchema",(Option.mapx.indexSchema~f:IndexSchema.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letindexSchema=(Option.map~f:IndexSchema.of_xml)(Xml.childxml_arg0"indexSchema")inletindexName=IndexName.of_xml(Xml.child_exn~context:context_xml_arg0"indexName")inletid=CollectionId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?indexSchema~indexName~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letindexSchema=field_mapjson__"indexSchema"IndexSchema.of_jsoninletindexName=field_map_exnjson__"indexName"IndexName.of_jsoninletid=field_map_exnjson__"id"CollectionId.of_jsoninmake?indexSchema~indexName~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates an index within an OpenSearch Serverless collection. Unlike other OpenSearch indexes, indexes created by this API are automatically configured to conduct automatic semantic enrichment ingestion and search. For more information, see About automatic semantic enrichment in the OpenSearch User Guide."]moduleCreateCollectionResponse=structtypenonrect={createCollectionDetail:CreateCollectionDetail.toption[@ocaml.doc"Details about the collection."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`OcuLimitExceededExceptionofOcuLimitExceededException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?createCollectionDetail=fun()->{createCollectionDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"OcuLimitExceededException"->`OcuLimitExceededException(OcuLimitExceededException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"OcuLimitExceededException"->`OcuLimitExceededException(OcuLimitExceededException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`OcuLimitExceededExceptione->`Assoc[("error",(`String"OcuLimitExceededException"));("details",(OcuLimitExceededException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("createCollectionDetail",(Option.mapx.createCollectionDetail~f:CreateCollectionDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreateCollectionDetail=(Option.map~f:CreateCollectionDetail.of_xml)(Xml.childxml_arg0"createCollectionDetail")inmake?createCollectionDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreateCollectionDetail=field_mapjson__"createCollectionDetail"CreateCollectionDetail.of_jsoninmake?createCollectionDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new OpenSearch Serverless collection. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleCreateCollectionRequest=structtypenonrect={name:CollectionName.t[@ocaml.doc"Name of the collection."];type_:CollectionType.toption[@ocaml.doc"The type of collection."];description:CreateCollectionRequestDescriptionString.toption[@ocaml.doc"Description of the collection."];tags:Tags.toption[@ocaml.doc"An arbitrary set of tags (key\226\128\147value pairs) to associate with the OpenSearch Serverless collection."];standbyReplicas:StandbyReplicas.toption[@ocaml.doc"Indicates whether standby replicas should be used for a collection."];vectorOptions:VectorOptions.toption[@ocaml.doc"Configuration options for vector search capabilities in the collection."];collectionGroupName:CollectionGroupName.toption[@ocaml.doc"The name of the collection group to associate with the collection."];encryptionConfig:EncryptionConfig.toption[@ocaml.doc"Encryption settings for the collection."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="CreateCollectionRequest"letmake?type_=fun?description->fun?tags->fun?standbyReplicas->fun?vectorOptions->fun?collectionGroupName->fun?encryptionConfig->fun?clientToken->fun~name->fun()->{type_;description;tags;standbyReplicas;vectorOptions;collectionGroupName;encryptionConfig;clientToken;name}letto_valuex=structure_to_value[("name",(Some(CollectionName.to_valuex.name)));("type",(Option.mapx.type_~f:CollectionType.to_value));("description",(Option.mapx.description~f:CreateCollectionRequestDescriptionString.to_value));("tags",(Option.mapx.tags~f:Tags.to_value));("standbyReplicas",(Option.mapx.standbyReplicas~f:StandbyReplicas.to_value));("vectorOptions",(Option.mapx.vectorOptions~f:VectorOptions.to_value));("collectionGroupName",(Option.mapx.collectionGroupName~f:CollectionGroupName.to_value));("encryptionConfig",(Option.mapx.encryptionConfig~f:EncryptionConfig.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletencryptionConfig=(Option.map~f:EncryptionConfig.of_xml)(Xml.childxml_arg0"encryptionConfig")inletcollectionGroupName=(Option.map~f:CollectionGroupName.of_xml)(Xml.childxml_arg0"collectionGroupName")inletvectorOptions=(Option.map~f:VectorOptions.of_xml)(Xml.childxml_arg0"vectorOptions")inletstandbyReplicas=(Option.map~f:StandbyReplicas.of_xml)(Xml.childxml_arg0"standbyReplicas")inlettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletdescription=(Option.map~f:CreateCollectionRequestDescriptionString.of_xml)(Xml.childxml_arg0"description")inlettype_=(Option.map~f:CollectionType.of_xml)(Xml.childxml_arg0"type")inletname=CollectionName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?clientToken?encryptionConfig?collectionGroupName?vectorOptions?standbyReplicas?tags?description?type_~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletencryptionConfig=field_mapjson__"encryptionConfig"EncryptionConfig.of_jsoninletcollectionGroupName=field_mapjson__"collectionGroupName"CollectionGroupName.of_jsoninletvectorOptions=field_mapjson__"vectorOptions"VectorOptions.of_jsoninletstandbyReplicas=field_mapjson__"standbyReplicas"StandbyReplicas.of_jsoninlettags=field_mapjson__"tags"Tags.of_jsoninletdescription=field_mapjson__"description"CreateCollectionRequestDescriptionString.of_jsoninlettype_=field_mapjson__"type"CollectionType.of_jsoninletname=field_map_exnjson__"name"CollectionName.of_jsoninmake?clientToken?encryptionConfig?collectionGroupName?vectorOptions?standbyReplicas?tags?description?type_~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new OpenSearch Serverless collection. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleCreateCollectionGroupResponse=structtypenonrect={createCollectionGroupDetail:CreateCollectionGroupDetail.toption[@ocaml.doc"Details about the created collection group."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?createCollectionGroupDetail=fun()->{createCollectionGroupDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("createCollectionGroupDetail",(Option.mapx.createCollectionGroupDetail~f:CreateCollectionGroupDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreateCollectionGroupDetail=(Option.map~f:CreateCollectionGroupDetail.of_xml)(Xml.childxml_arg0"createCollectionGroupDetail")inmake?createCollectionGroupDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreateCollectionGroupDetail=field_mapjson__"createCollectionGroupDetail"CreateCollectionGroupDetail.of_jsoninmake?createCollectionGroupDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a collection group within OpenSearch Serverless. Collection groups let you manage OpenSearch Compute Units (OCUs) at a group level, with multiple collections sharing the group's capacity limits. For more information, see Managing collection groups."]moduleCreateCollectionGroupRequest=structtypenonrect={name:CollectionGroupName.t[@ocaml.doc"The name of the collection group."];standbyReplicas:StandbyReplicas.t[@ocaml.doc"Indicates whether standby replicas should be used for a collection group."];description:CreateCollectionGroupRequestDescriptionString.toption[@ocaml.doc"A description of the collection group."];tags:Tags.toption[@ocaml.doc"An arbitrary set of tags (key\226\128\147value pairs) to associate with the OpenSearch Serverless collection group."];capacityLimits:CollectionGroupCapacityLimits.toption[@ocaml.doc"The capacity limits for the collection group, in OpenSearch Compute Units (OCUs). These limits control the maximum and minimum capacity for collections within the group."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="CreateCollectionGroupRequest"letmake?description=fun?tags->fun?capacityLimits->fun?clientToken->fun~name->fun~standbyReplicas->fun()->{description;tags;capacityLimits;clientToken;name;standbyReplicas}letto_valuex=structure_to_value[("name",(Some(CollectionGroupName.to_valuex.name)));("standbyReplicas",(Some(StandbyReplicas.to_valuex.standbyReplicas)));("description",(Option.mapx.description~f:CreateCollectionGroupRequestDescriptionString.to_value));("tags",(Option.mapx.tags~f:Tags.to_value));("capacityLimits",(Option.mapx.capacityLimits~f:CollectionGroupCapacityLimits.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletcapacityLimits=(Option.map~f:CollectionGroupCapacityLimits.of_xml)(Xml.childxml_arg0"capacityLimits")inlettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"tags")inletdescription=(Option.map~f:CreateCollectionGroupRequestDescriptionString.of_xml)(Xml.childxml_arg0"description")inletstandbyReplicas=StandbyReplicas.of_xml(Xml.child_exn~context:context_xml_arg0"standbyReplicas")inletname=CollectionGroupName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?clientToken?capacityLimits?tags?description~standbyReplicas~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletcapacityLimits=field_mapjson__"capacityLimits"CollectionGroupCapacityLimits.of_jsoninlettags=field_mapjson__"tags"Tags.of_jsoninletdescription=field_mapjson__"description"CreateCollectionGroupRequestDescriptionString.of_jsoninletstandbyReplicas=field_map_exnjson__"standbyReplicas"StandbyReplicas.of_jsoninletname=field_map_exnjson__"name"CollectionGroupName.of_jsoninmake?clientToken?capacityLimits?tags?description~standbyReplicas~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a collection group within OpenSearch Serverless. Collection groups let you manage OpenSearch Compute Units (OCUs) at a group level, with multiple collections sharing the group's capacity limits. For more information, see Managing collection groups."]moduleCreateAccessPolicyResponse=structtypenonrect={accessPolicyDetail:AccessPolicyDetail.toption[@ocaml.doc"Details about the created access policy."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accessPolicyDetail=fun()->{accessPolicyDetail}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("accessPolicyDetail",(Option.mapx.accessPolicyDetail~f:AccessPolicyDetail.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccessPolicyDetail=(Option.map~f:AccessPolicyDetail.of_xml)(Xml.childxml_arg0"accessPolicyDetail")inmake?accessPolicyDetail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccessPolicyDetail=field_mapjson__"accessPolicyDetail"AccessPolicyDetail.of_jsoninmake?accessPolicyDetail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a data access policy for OpenSearch Serverless. Access policies limit access to collections and the resources within them, and allow a user to access that data irrespective of the access mechanism or network source. For more information, see Data access control for Amazon OpenSearch Serverless."]moduleCreateAccessPolicyRequest=structtypenonrect={type_:AccessPolicyType.t[@ocaml.doc"The type of policy."];name:PolicyName.t[@ocaml.doc"The name of the policy."];description:PolicyDescription.toption[@ocaml.doc"A description of the policy. Typically used to store information about the permissions defined in the policy."];policy:PolicyDocument.t[@ocaml.doc"The JSON policy document to use as the content for the policy."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="CreateAccessPolicyRequest"letmake?description=fun?clientToken->fun~type_->fun~name->fun~policy->fun()->{description;clientToken;type_;name;policy}letto_valuex=structure_to_value[("type",(Some(AccessPolicyType.to_valuex.type_)));("name",(Some(PolicyName.to_valuex.name)));("description",(Option.mapx.description~f:PolicyDescription.to_value));("policy",(Some(PolicyDocument.to_valuex.policy)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletpolicy=PolicyDocument.of_xml(Xml.child_exn~context:context_xml_arg0"policy")inletdescription=(Option.map~f:PolicyDescription.of_xml)(Xml.childxml_arg0"description")inletname=PolicyName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inlettype_=AccessPolicyType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inmake?clientToken~policy?description~name~type_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletpolicy=field_map_exnjson__"policy"PolicyDocument.of_jsoninletdescription=field_mapjson__"description"PolicyDescription.of_jsoninletname=field_map_exnjson__"name"PolicyName.of_jsoninlettype_=field_map_exnjson__"type"AccessPolicyType.of_jsoninmake?clientToken~policy?description~name~type_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a data access policy for OpenSearch Serverless. Access policies limit access to collections and the resources within them, and allow a user to access that data irrespective of the access mechanism or network source. For more information, see Data access control for Amazon OpenSearch Serverless."]moduleBatchGetVpcEndpointResponse=structtypenonrect={vpcEndpointDetails:VpcEndpointDetails.toption[@ocaml.doc"Details about the specified VPC endpoint."];vpcEndpointErrorDetails:VpcEndpointErrorDetails.toption[@ocaml.doc"Error information for a failed request."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?vpcEndpointDetails=fun?vpcEndpointErrorDetails->fun()->{vpcEndpointDetails;vpcEndpointErrorDetails}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("vpcEndpointDetails",(Option.mapx.vpcEndpointDetails~f:VpcEndpointDetails.to_value));("vpcEndpointErrorDetails",(Option.mapx.vpcEndpointErrorDetails~f:VpcEndpointErrorDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcEndpointErrorDetails=(Option.map~f:VpcEndpointErrorDetails.of_xml)(Xml.childxml_arg0"vpcEndpointErrorDetails")inletvpcEndpointDetails=(Option.map~f:VpcEndpointDetails.of_xml)(Xml.childxml_arg0"vpcEndpointDetails")inmake?vpcEndpointErrorDetails?vpcEndpointDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcEndpointErrorDetails=field_mapjson__"vpcEndpointErrorDetails"VpcEndpointErrorDetails.of_jsoninletvpcEndpointDetails=field_mapjson__"vpcEndpointDetails"VpcEndpointDetails.of_jsoninmake?vpcEndpointErrorDetails?vpcEndpointDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns attributes for one or more VPC endpoints associated with the current account. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleBatchGetVpcEndpointRequest=structtypenonrect={ids:VpcEndpointIds.t[@ocaml.doc"A list of VPC endpoint identifiers."]}letcontext_="BatchGetVpcEndpointRequest"letmake~ids=fun()->{ids}letto_valuex=structure_to_value[("ids",(Some(VpcEndpointIds.to_valuex.ids)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letids=VpcEndpointIds.of_xml(Xml.child_exn~context:context_xml_arg0"ids")inmake~ids()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letids=field_map_exnjson__"ids"VpcEndpointIds.of_jsoninmake~ids()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns attributes for one or more VPC endpoints associated with the current account. For more information, see Access Amazon OpenSearch Serverless using an interface endpoint."]moduleBatchGetLifecyclePolicyResponse=structtypenonrect={lifecyclePolicyDetails:LifecyclePolicyDetails.toption[@ocaml.doc"A list of lifecycle policies matched to the input policy name and policy type."];lifecyclePolicyErrorDetails:LifecyclePolicyErrorDetails.toption[@ocaml.doc"A list of lifecycle policy names and policy types for which retrieval failed."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?lifecyclePolicyDetails=fun?lifecyclePolicyErrorDetails->fun()->{lifecyclePolicyDetails;lifecyclePolicyErrorDetails}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("lifecyclePolicyDetails",(Option.mapx.lifecyclePolicyDetails~f:LifecyclePolicyDetails.to_value));("lifecyclePolicyErrorDetails",(Option.mapx.lifecyclePolicyErrorDetails~f:LifecyclePolicyErrorDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlifecyclePolicyErrorDetails=(Option.map~f:LifecyclePolicyErrorDetails.of_xml)(Xml.childxml_arg0"lifecyclePolicyErrorDetails")inletlifecyclePolicyDetails=(Option.map~f:LifecyclePolicyDetails.of_xml)(Xml.childxml_arg0"lifecyclePolicyDetails")inmake?lifecyclePolicyErrorDetails?lifecyclePolicyDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlifecyclePolicyErrorDetails=field_mapjson__"lifecyclePolicyErrorDetails"LifecyclePolicyErrorDetails.of_jsoninletlifecyclePolicyDetails=field_mapjson__"lifecyclePolicyDetails"LifecyclePolicyDetails.of_jsoninmake?lifecyclePolicyErrorDetails?lifecyclePolicyDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns one or more configured OpenSearch Serverless lifecycle policies. For more information, see Viewing data lifecycle policies."]moduleBatchGetLifecyclePolicyRequest=structtypenonrect={identifiers:LifecyclePolicyIdentifiers.t[@ocaml.doc"The unique identifiers of policy types and policy names."]}letcontext_="BatchGetLifecyclePolicyRequest"letmake~identifiers=fun()->{identifiers}letto_valuex=structure_to_value[("identifiers",(Some(LifecyclePolicyIdentifiers.to_valuex.identifiers)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letidentifiers=LifecyclePolicyIdentifiers.of_xml(Xml.child_exn~context:context_xml_arg0"identifiers")inmake~identifiers()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letidentifiers=field_map_exnjson__"identifiers"LifecyclePolicyIdentifiers.of_jsoninmake~identifiers()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns one or more configured OpenSearch Serverless lifecycle policies. For more information, see Viewing data lifecycle policies."]moduleBatchGetEffectiveLifecyclePolicyResponse=structtypenonrect={effectiveLifecyclePolicyDetails:EffectiveLifecyclePolicyDetails.toption[@ocaml.doc"A list of lifecycle policies applied to the OpenSearch Serverless indexes."];effectiveLifecyclePolicyErrorDetails:EffectiveLifecyclePolicyErrorDetails.toption[@ocaml.doc"A list of resources for which retrieval failed."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?effectiveLifecyclePolicyDetails=fun?effectiveLifecyclePolicyErrorDetails->fun()->{effectiveLifecyclePolicyDetails;effectiveLifecyclePolicyErrorDetails}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("effectiveLifecyclePolicyDetails",(Option.mapx.effectiveLifecyclePolicyDetails~f:EffectiveLifecyclePolicyDetails.to_value));("effectiveLifecyclePolicyErrorDetails",(Option.mapx.effectiveLifecyclePolicyErrorDetails~f:EffectiveLifecyclePolicyErrorDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteffectiveLifecyclePolicyErrorDetails=(Option.map~f:EffectiveLifecyclePolicyErrorDetails.of_xml)(Xml.childxml_arg0"effectiveLifecyclePolicyErrorDetails")inleteffectiveLifecyclePolicyDetails=(Option.map~f:EffectiveLifecyclePolicyDetails.of_xml)(Xml.childxml_arg0"effectiveLifecyclePolicyDetails")inmake?effectiveLifecyclePolicyErrorDetails?effectiveLifecyclePolicyDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteffectiveLifecyclePolicyErrorDetails=field_mapjson__"effectiveLifecyclePolicyErrorDetails"EffectiveLifecyclePolicyErrorDetails.of_jsoninleteffectiveLifecyclePolicyDetails=field_mapjson__"effectiveLifecyclePolicyDetails"EffectiveLifecyclePolicyDetails.of_jsoninmake?effectiveLifecyclePolicyErrorDetails?effectiveLifecyclePolicyDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of successful and failed retrievals for the OpenSearch Serverless indexes. For more information, see Viewing data lifecycle policies."]moduleBatchGetEffectiveLifecyclePolicyRequest=structtypenonrect={resourceIdentifiers:LifecyclePolicyResourceIdentifiers.t[@ocaml.doc"The unique identifiers of policy types and resource names."]}letcontext_="BatchGetEffectiveLifecyclePolicyRequest"letmake~resourceIdentifiers=fun()->{resourceIdentifiers}letto_valuex=structure_to_value[("resourceIdentifiers",(Some(LifecyclePolicyResourceIdentifiers.to_valuex.resourceIdentifiers)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceIdentifiers=LifecyclePolicyResourceIdentifiers.of_xml(Xml.child_exn~context:context_xml_arg0"resourceIdentifiers")inmake~resourceIdentifiers()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceIdentifiers=field_map_exnjson__"resourceIdentifiers"LifecyclePolicyResourceIdentifiers.of_jsoninmake~resourceIdentifiers()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of successful and failed retrievals for the OpenSearch Serverless indexes. For more information, see Viewing data lifecycle policies."]moduleBatchGetCollectionResponse=structtypenonrect={collectionDetails:CollectionDetails.toption[@ocaml.doc"Details about each collection."];collectionErrorDetails:CollectionErrorDetails.toption[@ocaml.doc"Error information for the request."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?collectionDetails=fun?collectionErrorDetails->fun()->{collectionDetails;collectionErrorDetails}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("collectionDetails",(Option.mapx.collectionDetails~f:CollectionDetails.to_value));("collectionErrorDetails",(Option.mapx.collectionErrorDetails~f:CollectionErrorDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcollectionErrorDetails=(Option.map~f:CollectionErrorDetails.of_xml)(Xml.childxml_arg0"collectionErrorDetails")inletcollectionDetails=(Option.map~f:CollectionDetails.of_xml)(Xml.childxml_arg0"collectionDetails")inmake?collectionErrorDetails?collectionDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcollectionErrorDetails=field_mapjson__"collectionErrorDetails"CollectionErrorDetails.of_jsoninletcollectionDetails=field_mapjson__"collectionDetails"CollectionDetails.of_jsoninmake?collectionErrorDetails?collectionDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns attributes for one or more collections, including the collection endpoint, the OpenSearch Dashboards endpoint, and FIPS-compliant endpoints. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleBatchGetCollectionRequest=structtypenonrect={ids:CollectionIds.toption[@ocaml.doc"A list of collection IDs. You can't provide names and IDs in the same request. The ID is part of the collection endpoint. You can also retrieve it using the ListCollections API."];names:CollectionNames.toption[@ocaml.doc"A list of collection names. You can't provide names and IDs in the same request."]}letmake?ids=fun?names->fun()->{ids;names}letto_valuex=structure_to_value[("ids",(Option.mapx.ids~f:CollectionIds.to_value));("names",(Option.mapx.names~f:CollectionNames.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnames=(Option.map~f:CollectionNames.of_xml)(Xml.childxml_arg0"names")inletids=(Option.map~f:CollectionIds.of_xml)(Xml.childxml_arg0"ids")inmake?names?ids()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnames=field_mapjson__"names"CollectionNames.of_jsoninletids=field_mapjson__"ids"CollectionIds.of_jsoninmake?names?ids()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns attributes for one or more collections, including the collection endpoint, the OpenSearch Dashboards endpoint, and FIPS-compliant endpoints. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleBatchGetCollectionGroupResponse=structtypenonrect={collectionGroupDetails:CollectionGroupDetails.toption[@ocaml.doc"Details about each collection group."];collectionGroupErrorDetails:CollectionGroupErrorDetails.toption[@ocaml.doc"Error information for the request."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?collectionGroupDetails=fun?collectionGroupErrorDetails->fun()->{collectionGroupDetails;collectionGroupErrorDetails}leterror_of_jsonnamejson=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("collectionGroupDetails",(Option.mapx.collectionGroupDetails~f:CollectionGroupDetails.to_value));("collectionGroupErrorDetails",(Option.mapx.collectionGroupErrorDetails~f:CollectionGroupErrorDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcollectionGroupErrorDetails=(Option.map~f:CollectionGroupErrorDetails.of_xml)(Xml.childxml_arg0"collectionGroupErrorDetails")inletcollectionGroupDetails=(Option.map~f:CollectionGroupDetails.of_xml)(Xml.childxml_arg0"collectionGroupDetails")inmake?collectionGroupErrorDetails?collectionGroupDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcollectionGroupErrorDetails=field_mapjson__"collectionGroupErrorDetails"CollectionGroupErrorDetails.of_jsoninletcollectionGroupDetails=field_mapjson__"collectionGroupDetails"CollectionGroupDetails.of_jsoninmake?collectionGroupErrorDetails?collectionGroupDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns attributes for one or more collection groups, including capacity limits and the number of collections in each group. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]moduleBatchGetCollectionGroupRequest=structtypenonrect={ids:CollectionGroupIds.toption[@ocaml.doc"A list of collection group IDs. You can't provide names and IDs in the same request."];names:CollectionGroupNames.toption[@ocaml.doc"A list of collection group names. You can't provide names and IDs in the same request."]}letmake?ids=fun?names->fun()->{ids;names}letto_valuex=structure_to_value[("ids",(Option.mapx.ids~f:CollectionGroupIds.to_value));("names",(Option.mapx.names~f:CollectionGroupNames.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnames=(Option.map~f:CollectionGroupNames.of_xml)(Xml.childxml_arg0"names")inletids=(Option.map~f:CollectionGroupIds.of_xml)(Xml.childxml_arg0"ids")inmake?names?ids()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnames=field_mapjson__"names"CollectionGroupNames.of_jsoninletids=field_mapjson__"ids"CollectionGroupIds.of_jsoninmake?names?ids()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns attributes for one or more collection groups, including capacity limits and the number of collections in each group. For more information, see Creating and managing Amazon OpenSearch Serverless collections."]