1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948(* 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.esletapiVersion="2015-01-01"letendpointPrefix="es"letserviceFullName="Amazon Elasticsearch Service"letsignatureVersion="v4"letprotocol="rest_json"letglobalEndpoint=endpointPrefix^".amazonaws.com"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[]))])moduleLimitValue=structtypenonrect=stringletcontext_="LimitValue"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:"LimitValue"jletto_json=simple_to_jsonto_valueendmoduleDurationValue=structtypenonrect=Int64.t[@@ocaml.doc"Integer to specify the value of a maintenance schedule duration. See the Developer Guide for more information."]letmakei=letopenResultinok_or_failwith((check_int64_maxi~max:24L)>>=(fun()->check_int64_mini~min:1L));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_valueend[@@ocaml.doc"Integer to specify the value of a maintenance schedule duration. See the Developer Guide for more information."]moduleTimeUnit=structtypenonrect=|HOURS|Non_static_idofstringletmakei=iletto_string=function|HOURS->"HOURS"|Non_static_ids->sletof_string=function|"HOURS"->HOURS|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 TimeUnit"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TimeUnit"j)letto_json=simple_to_jsonto_valueendmoduleLimitName=structtypenonrect=stringletcontext_="LimitName"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:"LimitName"jletto_json=simple_to_jsonto_valueendmoduleLimitValueList=structtypenonrect=LimitValue.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:LimitValue.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:LimitValue.of_xml)letof_jsonj=list_of_json~kind:"LimitValueList"~of_json:LimitValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSAMLEntityId=structtypenonrect=stringletcontext_="SAMLEntityId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:512)>>=(fun()->check_string_mini~min:8));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SAMLEntityId"jletto_json=simple_to_jsonto_valueendmoduleSAMLMetadata=structtypenonrect=stringletcontext_="SAMLMetadata"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1048576)>>=(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:"SAMLMetadata"jletto_json=simple_to_jsonto_valueendmoduleDuration=structtypenonrect={value:DurationValue.toption[@ocaml.doc"Integer to specify the value of a maintenance schedule duration. See the Developer Guide for more information."];unit:TimeUnit.toption[@ocaml.doc"Specifies the unit of a maintenance schedule duration. Valid value is HOURS. See the Developer Guide for more information."]}letmake?value=fun?unit->fun()->{value;unit}letto_valuex=structure_to_value[("Value",(Option.mapx.value~f:DurationValue.to_value));("Unit",(Option.mapx.unit~f:TimeUnit.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letunit=(Option.map~f:TimeUnit.of_xml)(Xml.childxml_arg0"Unit")inletvalue=(Option.map~f:DurationValue.of_xml)(Xml.childxml_arg0"Value")inmake?unit?value()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letunit=field_mapjson__"Unit"TimeUnit.of_jsoninletvalue=field_mapjson__"Value"DurationValue.of_jsoninmake?unit?value()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies maintenance schedule duration: duration value and duration unit. See the Developer Guide for more information."]moduleStartAt=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_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_valueendmoduleIssue=structtypenonrect=stringletcontext_="Issue"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:"Issue"jletto_json=simple_to_jsonto_valueendmoduleStorageTypeLimit=structtypenonrect={limitName:LimitName.toption[@ocaml.doc"Name of storage limits that are applicable for given storage type. If StorageType is ebs, following storage options are applicable MinimumVolumeSize Minimum amount of volume size that is applicable for given storage type.It can be empty if it is not applicable. MaximumVolumeSize Maximum amount of volume size that is applicable for given storage type.It can be empty if it is not applicable. MaximumIops Maximum amount of Iops that is applicable for given storage type.It can be empty if it is not applicable. MinimumIops Minimum amount of Iops that is applicable for given storage type.It can be empty if it is not applicable. MaximumThroughput Maximum amount of Throughput that is applicable for given storage type.It can be empty if it is not applicable. MinimumThroughput Minimum amount of Throughput that is applicable for given storage type.It can be empty if it is not applicable."];limitValues:LimitValueList.toption[@ocaml.doc"Values for the StorageTypeLimit$LimitName ."]}letmake?limitName=fun?limitValues->fun()->{limitName;limitValues}letto_valuex=structure_to_value[("LimitName",(Option.mapx.limitName~f:LimitName.to_value));("LimitValues",(Option.mapx.limitValues~f:LimitValueList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlimitValues=(Option.map~f:LimitValueList.of_xml)(Xml.childxml_arg0"LimitValues")inletlimitName=(Option.map~f:LimitName.of_xml)(Xml.childxml_arg0"LimitName")inmake?limitValues?limitName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlimitValues=field_mapjson__"LimitValues"LimitValueList.of_jsoninletlimitName=field_mapjson__"LimitName"LimitName.of_jsoninmake?limitValues?limitName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Limits that are applicable for given storage type."]moduleBoolean=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_valueendmoduleIntegerClass=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 IntegerClass"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleSAMLIdp=structtypenonrect={metadataContent:SAMLMetadata.t[@ocaml.doc"The Metadata of the SAML application in xml format."];entityId:SAMLEntityId.t[@ocaml.doc"The unique Entity ID of the application in SAML Identity Provider."]}letcontext_="SAMLIdp"letmake~metadataContent=fun~entityId->fun()->{metadataContent;entityId}letto_valuex=structure_to_value[("MetadataContent",(Some(SAMLMetadata.to_valuex.metadataContent)));("EntityId",(Some(SAMLEntityId.to_valuex.entityId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letentityId=SAMLEntityId.of_xml(Xml.child_exn~context:context_xml_arg0"EntityId")inletmetadataContent=SAMLMetadata.of_xml(Xml.child_exn~context:context_xml_arg0"MetadataContent")inmake~entityId~metadataContent()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letentityId=field_map_exnjson__"EntityId"SAMLEntityId.of_jsoninletmetadataContent=field_map_exnjson__"MetadataContent"SAMLMetadata.of_jsoninmake~entityId~metadataContent()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the SAML Identity Provider's information."]moduleAutoTuneMaintenanceSchedule=structtypenonrect={startAt:StartAt.toption[@ocaml.doc"Specifies timestamp at which Auto-Tune maintenance schedule start."];duration:Duration.toption[@ocaml.doc"Specifies maintenance schedule duration: duration value and duration unit. See the Developer Guide for more information."];cronExpressionForRecurrence:String_.toption[@ocaml.doc"Specifies cron expression for a recurring maintenance schedule. See the Developer Guide for more information."]}letmake?startAt=fun?duration->fun?cronExpressionForRecurrence->fun()->{startAt;duration;cronExpressionForRecurrence}letto_valuex=structure_to_value[("StartAt",(Option.mapx.startAt~f:StartAt.to_value));("Duration",(Option.mapx.duration~f:Duration.to_value));("CronExpressionForRecurrence",(Option.mapx.cronExpressionForRecurrence~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcronExpressionForRecurrence=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"CronExpressionForRecurrence")inletduration=(Option.map~f:Duration.of_xml)(Xml.childxml_arg0"Duration")inletstartAt=(Option.map~f:StartAt.of_xml)(Xml.childxml_arg0"StartAt")inmake?cronExpressionForRecurrence?duration?startAt()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcronExpressionForRecurrence=field_mapjson__"CronExpressionForRecurrence"String_.of_jsoninletduration=field_mapjson__"Duration"Duration.of_jsoninletstartAt=field_mapjson__"StartAt"StartAt.of_jsoninmake?cronExpressionForRecurrence?duration?startAt()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies Auto-Tune maitenance schedule. See the Developer Guide for more information."]moduleCloudWatchLogsLogGroupArn=structtypenonrect=string[@@ocaml.doc"ARN of the Cloudwatch log group to which log needs to be published."]letcontext_="CloudWatchLogsLogGroupArn"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:"CloudWatchLogsLogGroupArn"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"ARN of the Cloudwatch log group to which log needs to be published."]moduleDouble=structtypenonrect=floatletmakei=iletof_string=Float.of_stringletto_valuex=`Doublexletto_queryv=to_queryto_valuevletto_headerx=Stdlib.Float.to_stringxletof_xmlxml_arg0=Float.of_string(string_of_xml~kind:"a double"xml_arg0)letof_jsonj=float_of_json~kind:"a double"jletto_json=simple_to_jsonto_valueendmoduleIssues=structtypenonrect=Issue.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Issue.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:Issue.of_xml)letof_jsonj=list_of_json~kind:"Issues"~of_json:Issue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpgradeStatus=structtypenonrect=|IN_PROGRESS|SUCCEEDED|SUCCEEDED_WITH_ISSUES|FAILED|Non_static_idofstringletmakei=iletto_string=function|IN_PROGRESS->"IN_PROGRESS"|SUCCEEDED->"SUCCEEDED"|SUCCEEDED_WITH_ISSUES->"SUCCEEDED_WITH_ISSUES"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"IN_PROGRESS"->IN_PROGRESS|"SUCCEEDED"->SUCCEEDED|"SUCCEEDED_WITH_ISSUES"->SUCCEEDED_WITH_ISSUES|"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 UpgradeStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"UpgradeStatus"j)letto_json=simple_to_jsonto_valueendmoduleUpgradeStep=structtypenonrect=|PRE_UPGRADE_CHECK|SNAPSHOT|UPGRADE|Non_static_idofstringletmakei=iletto_string=function|PRE_UPGRADE_CHECK->"PRE_UPGRADE_CHECK"|SNAPSHOT->"SNAPSHOT"|UPGRADE->"UPGRADE"|Non_static_ids->sletof_string=function|"PRE_UPGRADE_CHECK"->PRE_UPGRADE_CHECK|"SNAPSHOT"->SNAPSHOT|"UPGRADE"->UPGRADE|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 UpgradeStep"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"UpgradeStep"j)letto_json=simple_to_jsonto_valueendmoduleMaximumInstanceCount=structtypenonrect=int[@@ocaml.doc"Maximum number of Instances that can be instantiated for given InstanceType."]letmakei=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 MaximumInstanceCount"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueend[@@ocaml.doc"Maximum number of Instances that can be instantiated for given InstanceType."]moduleMinimumInstanceCount=structtypenonrect=int[@@ocaml.doc"Minimum number of Instances that can be instantiated for given InstanceType."]letmakei=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 MinimumInstanceCount"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueend[@@ocaml.doc"Minimum number of Instances that can be instantiated for given InstanceType."]moduleStorageSubTypeName=structtypenonrect=string[@@ocaml.doc"SubType of the given storage type. List of available sub-storage options: For \"instance\" storageType we wont have any storageSubType, in case of \"ebs\" storageType we will have following valid storageSubTypes standard gp2 gp3 io1 Refer VolumeType for more information regarding above EBS storage options."]letcontext_="StorageSubTypeName"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:"StorageSubTypeName"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"SubType of the given storage type. List of available sub-storage options: For \"instance\" storageType we wont have any storageSubType, in case of \"ebs\" storageType we will have following valid storageSubTypes standard gp2 gp3 io1 Refer VolumeType for more information regarding above EBS storage options."]moduleStorageTypeLimitList=structtypenonrect=StorageTypeLimit.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:StorageTypeLimit.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:StorageTypeLimit.of_xml)letof_jsonj=list_of_json~kind:"StorageTypeLimitList"~of_json:StorageTypeLimit.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleStorageTypeName=structtypenonrect=string[@@ocaml.doc"Type of the storage. List of available storage options: instance Inbuilt storage available for the given Instance ebs Elastic block storage that would be attached to the given Instance"]letcontext_="StorageTypeName"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:"StorageTypeName"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Type of the storage. List of available storage options: instance Inbuilt storage available for the given Instance ebs Elastic block storage that would be attached to the given Instance"]modulePropertyValueType=structtypenonrect=|PLAIN_TEXT|STRINGIFIED_JSON|Non_static_idofstringletmakei=iletto_string=function|PLAIN_TEXT->"PLAIN_TEXT"|STRINGIFIED_JSON->"STRINGIFIED_JSON"|Non_static_ids->sletof_string=function|"PLAIN_TEXT"->PLAIN_TEXT|"STRINGIFIED_JSON"->STRINGIFIED_JSON|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 PropertyValueType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PropertyValueType"j)letto_json=simple_to_jsonto_valueendmoduleAutoTuneDate=structtypenonrect=string[@@ocaml.doc"Specifies timestamp for the Auto-Tune action scheduled for the domain."]letmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Specifies timestamp for the Auto-Tune action scheduled for the domain."]moduleScheduledAutoTuneActionType=structtypenonrect=|JVM_HEAP_SIZE_TUNING|JVM_YOUNG_GEN_TUNING|Non_static_idofstringletmakei=iletto_string=function|JVM_HEAP_SIZE_TUNING->"JVM_HEAP_SIZE_TUNING"|JVM_YOUNG_GEN_TUNING->"JVM_YOUNG_GEN_TUNING"|Non_static_ids->sletof_string=function|"JVM_HEAP_SIZE_TUNING"->JVM_HEAP_SIZE_TUNING|"JVM_YOUNG_GEN_TUNING"->JVM_YOUNG_GEN_TUNING|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 ScheduledAutoTuneActionType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ScheduledAutoTuneActionType"j)letto_json=simple_to_jsonto_valueendmoduleScheduledAutoTuneDescription=structtypenonrect=string[@@ocaml.doc"Specifies Auto-Tune action description."]letcontext_="ScheduledAutoTuneDescription"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:"ScheduledAutoTuneDescription"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Specifies Auto-Tune action description."]moduleScheduledAutoTuneSeverityType=structtypenonrect=|LOW|MEDIUM|HIGH|Non_static_idofstringletmakei=iletto_string=function|LOW->"LOW"|MEDIUM->"MEDIUM"|HIGH->"HIGH"|Non_static_ids->sletof_string=function|"LOW"->LOW|"MEDIUM"->MEDIUM|"HIGH"->HIGH|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 ScheduledAutoTuneSeverityType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ScheduledAutoTuneSeverityType"j)letto_json=simple_to_jsonto_valueendmoduleOptionState=structtypenonrect=|RequiresIndexDocuments|Processing|Active|Non_static_idofstringletmakei=iletto_string=function|RequiresIndexDocuments->"RequiresIndexDocuments"|Processing->"Processing"|Active->"Active"|Non_static_ids->sletof_string=function|"RequiresIndexDocuments"->RequiresIndexDocuments|"Processing"->Processing|"Active"->Active|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 OptionState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OptionState"j)letto_json=simple_to_jsonto_valueendmoduleUIntValue=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:0);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 UIntValue"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleUpdateTimestamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleDisableTimestamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleSAMLOptionsOutput=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"True if SAML is enabled."];idp:SAMLIdp.toption[@ocaml.doc"Describes the SAML Identity Provider's information."];subjectKey:String_.toption[@ocaml.doc"The key used for matching the SAML Subject attribute."];rolesKey:String_.toption[@ocaml.doc"The key used for matching the SAML Roles attribute."];sessionTimeoutMinutes:IntegerClass.toption[@ocaml.doc"The duration, in minutes, after which a user session becomes inactive."]}letmake?enabled=fun?idp->fun?subjectKey->fun?rolesKey->fun?sessionTimeoutMinutes->fun()->{enabled;idp;subjectKey;rolesKey;sessionTimeoutMinutes}letto_valuex=structure_to_value[("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("Idp",(Option.mapx.idp~f:SAMLIdp.to_value));("SubjectKey",(Option.mapx.subjectKey~f:String_.to_value));("RolesKey",(Option.mapx.rolesKey~f:String_.to_value));("SessionTimeoutMinutes",(Option.mapx.sessionTimeoutMinutes~f:IntegerClass.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsessionTimeoutMinutes=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"SessionTimeoutMinutes")inletrolesKey=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RolesKey")inletsubjectKey=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"SubjectKey")inletidp=(Option.map~f:SAMLIdp.of_xml)(Xml.childxml_arg0"Idp")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inmake?sessionTimeoutMinutes?rolesKey?subjectKey?idp?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsessionTimeoutMinutes=field_mapjson__"SessionTimeoutMinutes"IntegerClass.of_jsoninletrolesKey=field_mapjson__"RolesKey"String_.of_jsoninletsubjectKey=field_mapjson__"SubjectKey"String_.of_jsoninletidp=field_mapjson__"Idp"SAMLIdp.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninmake?sessionTimeoutMinutes?rolesKey?subjectKey?idp?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the SAML application configured for the domain."]moduleAutoTuneDesiredState=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 AutoTuneDesiredState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AutoTuneDesiredState"j)letto_json=simple_to_jsonto_valueendmoduleAutoTuneMaintenanceScheduleList=structtypenonrect=AutoTuneMaintenanceSchedule.tlistletmakei=letopenResultinok_or_failwith(check_list_maxi~max:100);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AutoTuneMaintenanceSchedule.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:AutoTuneMaintenanceSchedule.of_xml)letof_jsonj=list_of_json~kind:"AutoTuneMaintenanceScheduleList"~of_json:AutoTuneMaintenanceSchedule.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRollbackOnDisable=structtypenonrect=|NO_ROLLBACK|DEFAULT_ROLLBACK|Non_static_idofstringletmakei=iletto_string=function|NO_ROLLBACK->"NO_ROLLBACK"|DEFAULT_ROLLBACK->"DEFAULT_ROLLBACK"|Non_static_ids->sletof_string=function|"NO_ROLLBACK"->NO_ROLLBACK|"DEFAULT_ROLLBACK"->DEFAULT_ROLLBACK|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 RollbackOnDisable"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RollbackOnDisable"j)letto_json=simple_to_jsonto_valueendmoduleAutoTuneState=structtypenonrect=|ENABLED|DISABLED|ENABLE_IN_PROGRESS|DISABLE_IN_PROGRESS|DISABLED_AND_ROLLBACK_SCHEDULED|DISABLED_AND_ROLLBACK_IN_PROGRESS|DISABLED_AND_ROLLBACK_COMPLETE|DISABLED_AND_ROLLBACK_ERROR|ERROR|Non_static_idofstringletmakei=iletto_string=function|ENABLED->"ENABLED"|DISABLED->"DISABLED"|ENABLE_IN_PROGRESS->"ENABLE_IN_PROGRESS"|DISABLE_IN_PROGRESS->"DISABLE_IN_PROGRESS"|DISABLED_AND_ROLLBACK_SCHEDULED->"DISABLED_AND_ROLLBACK_SCHEDULED"|DISABLED_AND_ROLLBACK_IN_PROGRESS->"DISABLED_AND_ROLLBACK_IN_PROGRESS"|DISABLED_AND_ROLLBACK_COMPLETE->"DISABLED_AND_ROLLBACK_COMPLETE"|DISABLED_AND_ROLLBACK_ERROR->"DISABLED_AND_ROLLBACK_ERROR"|ERROR->"ERROR"|Non_static_ids->sletof_string=function|"ENABLED"->ENABLED|"DISABLED"->DISABLED|"ENABLE_IN_PROGRESS"->ENABLE_IN_PROGRESS|"DISABLE_IN_PROGRESS"->DISABLE_IN_PROGRESS|"DISABLED_AND_ROLLBACK_SCHEDULED"->DISABLED_AND_ROLLBACK_SCHEDULED|"DISABLED_AND_ROLLBACK_IN_PROGRESS"->DISABLED_AND_ROLLBACK_IN_PROGRESS|"DISABLED_AND_ROLLBACK_COMPLETE"->DISABLED_AND_ROLLBACK_COMPLETE|"DISABLED_AND_ROLLBACK_ERROR"->DISABLED_AND_ROLLBACK_ERROR|"ERROR"->ERROR|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 AutoTuneState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AutoTuneState"j)letto_json=simple_to_jsonto_valueendmodulePauseState=structtypenonrect=|Active|Completed|Scheduled|Disabled|Non_static_idofstringletmakei=iletto_string=function|Active->"Active"|Completed->"Completed"|Scheduled->"Scheduled"|Disabled->"Disabled"|Non_static_ids->sletof_string=function|"Active"->Active|"Completed"->Completed|"Scheduled"->Scheduled|"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 PauseState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PauseState"j)letto_json=simple_to_jsonto_valueendmoduleIdentityPoolId=structtypenonrect=stringletcontext_="IdentityPoolId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:55)>>=(fun()->check_patterni~pattern:"[\\w-]+:[0-9a-f-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IdentityPoolId"jletto_json=simple_to_jsonto_valueendmoduleRoleArn=structtypenonrect=stringletcontext_="RoleArn"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(fun()->check_string_mini~min:20));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RoleArn"jletto_json=simple_to_jsonto_valueendmoduleUserPoolId=structtypenonrect=stringletcontext_="UserPoolId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:55)>>=(fun()->check_patterni~pattern:"[\\w-]+_[0-9a-zA-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:"UserPoolId"jletto_json=simple_to_jsonto_valueendmoduleDeploymentStrategy=structtypenonrect=|Default|CapacityOptimized|Non_static_idofstringletmakei=iletto_string=function|Default->"Default"|CapacityOptimized->"CapacityOptimized"|Non_static_ids->sletof_string=function|"Default"->Default|"CapacityOptimized"->CapacityOptimized|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 DeploymentStrategy"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DeploymentStrategy"j)letto_json=simple_to_jsonto_valueendmoduleARN=structtypenonrect=string[@@ocaml.doc"The Amazon Resource Name (ARN) of the Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information."]letcontext_="ARN"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:"ARN"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The Amazon Resource Name (ARN) of the Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information."]moduleDomainNameFqdn=structtypenonrect=stringletcontext_="DomainNameFqdn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[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:"DomainNameFqdn"jletto_json=simple_to_jsonto_valueendmoduleTLSSecurityPolicy=structtypenonrect=|Policy_Min_TLS_1_0_2019_07|Policy_Min_TLS_1_2_2019_07|Policy_Min_TLS_1_2_PFS_2023_10|Policy_Min_TLS_1_2_RFC9151_FIPS_2024_08|Non_static_idofstringletmakei=iletto_string=function|Policy_Min_TLS_1_0_2019_07->"Policy-Min-TLS-1-0-2019-07"|Policy_Min_TLS_1_2_2019_07->"Policy-Min-TLS-1-2-2019-07"|Policy_Min_TLS_1_2_PFS_2023_10->"Policy-Min-TLS-1-2-PFS-2023-10"|Policy_Min_TLS_1_2_RFC9151_FIPS_2024_08->"Policy-Min-TLS-1-2-RFC9151-FIPS-2024-08"|Non_static_ids->sletof_string=function|"Policy-Min-TLS-1-0-2019-07"->Policy_Min_TLS_1_0_2019_07|"Policy-Min-TLS-1-2-2019-07"->Policy_Min_TLS_1_2_2019_07|"Policy-Min-TLS-1-2-PFS-2023-10"->Policy_Min_TLS_1_2_PFS_2023_10|"Policy-Min-TLS-1-2-RFC9151-FIPS-2024-08"->Policy_Min_TLS_1_2_RFC9151_FIPS_2024_08|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 TLSSecurityPolicy"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TLSSecurityPolicy"j)letto_json=simple_to_jsonto_valueendmoduleVolumeType=structtypenonrect=|Standard|Gp2|Io1|Gp3|Non_static_idofstringletmakei=iletto_string=function|Standard->"standard"|Gp2->"gp2"|Io1->"io1"|Gp3->"gp3"|Non_static_ids->sletof_string=function|"standard"->Standard|"gp2"->Gp2|"io1"->Io1|"gp3"->Gp3|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 VolumeType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VolumeType"j)letto_json=simple_to_jsonto_valueendmoduleColdStorageOptions=structtypenonrect={enabled:Boolean.t[@ocaml.doc"Enable cold storage option. Accepted values true or false"]}letcontext_="ColdStorageOptions"letmake~enabled=fun()->{enabled}letto_valuex=structure_to_value[("Enabled",(Some(Boolean.to_valuex.enabled)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letenabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"Enabled")inmake~enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letenabled=field_map_exnjson__"Enabled"Boolean.of_jsoninmake~enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the configuration for cold storage options such as enabled"]moduleESPartitionInstanceType=structtypenonrect=|M3_medium_elasticsearch|M3_large_elasticsearch|M3_xlarge_elasticsearch|M3_2xlarge_elasticsearch|M4_large_elasticsearch|M4_xlarge_elasticsearch|M4_2xlarge_elasticsearch|M4_4xlarge_elasticsearch|M4_10xlarge_elasticsearch|M5_large_elasticsearch|M5_xlarge_elasticsearch|M5_2xlarge_elasticsearch|M5_4xlarge_elasticsearch|M5_12xlarge_elasticsearch|R5_large_elasticsearch|R5_xlarge_elasticsearch|R5_2xlarge_elasticsearch|R5_4xlarge_elasticsearch|R5_12xlarge_elasticsearch|C5_large_elasticsearch|C5_xlarge_elasticsearch|C5_2xlarge_elasticsearch|C5_4xlarge_elasticsearch|C5_9xlarge_elasticsearch|C5_18xlarge_elasticsearch|Ultrawarm1_medium_elasticsearch|Ultrawarm1_large_elasticsearch|T2_micro_elasticsearch|T2_small_elasticsearch|T2_medium_elasticsearch|R3_large_elasticsearch|R3_xlarge_elasticsearch|R3_2xlarge_elasticsearch|R3_4xlarge_elasticsearch|R3_8xlarge_elasticsearch|I2_xlarge_elasticsearch|I2_2xlarge_elasticsearch|D2_xlarge_elasticsearch|D2_2xlarge_elasticsearch|D2_4xlarge_elasticsearch|D2_8xlarge_elasticsearch|C4_large_elasticsearch|C4_xlarge_elasticsearch|C4_2xlarge_elasticsearch|C4_4xlarge_elasticsearch|C4_8xlarge_elasticsearch|R4_large_elasticsearch|R4_xlarge_elasticsearch|R4_2xlarge_elasticsearch|R4_4xlarge_elasticsearch|R4_8xlarge_elasticsearch|R4_16xlarge_elasticsearch|I3_large_elasticsearch|I3_xlarge_elasticsearch|I3_2xlarge_elasticsearch|I3_4xlarge_elasticsearch|I3_8xlarge_elasticsearch|I3_16xlarge_elasticsearch|Non_static_idofstringletmakei=iletto_string=function|M3_medium_elasticsearch->"m3.medium.elasticsearch"|M3_large_elasticsearch->"m3.large.elasticsearch"|M3_xlarge_elasticsearch->"m3.xlarge.elasticsearch"|M3_2xlarge_elasticsearch->"m3.2xlarge.elasticsearch"|M4_large_elasticsearch->"m4.large.elasticsearch"|M4_xlarge_elasticsearch->"m4.xlarge.elasticsearch"|M4_2xlarge_elasticsearch->"m4.2xlarge.elasticsearch"|M4_4xlarge_elasticsearch->"m4.4xlarge.elasticsearch"|M4_10xlarge_elasticsearch->"m4.10xlarge.elasticsearch"|M5_large_elasticsearch->"m5.large.elasticsearch"|M5_xlarge_elasticsearch->"m5.xlarge.elasticsearch"|M5_2xlarge_elasticsearch->"m5.2xlarge.elasticsearch"|M5_4xlarge_elasticsearch->"m5.4xlarge.elasticsearch"|M5_12xlarge_elasticsearch->"m5.12xlarge.elasticsearch"|R5_large_elasticsearch->"r5.large.elasticsearch"|R5_xlarge_elasticsearch->"r5.xlarge.elasticsearch"|R5_2xlarge_elasticsearch->"r5.2xlarge.elasticsearch"|R5_4xlarge_elasticsearch->"r5.4xlarge.elasticsearch"|R5_12xlarge_elasticsearch->"r5.12xlarge.elasticsearch"|C5_large_elasticsearch->"c5.large.elasticsearch"|C5_xlarge_elasticsearch->"c5.xlarge.elasticsearch"|C5_2xlarge_elasticsearch->"c5.2xlarge.elasticsearch"|C5_4xlarge_elasticsearch->"c5.4xlarge.elasticsearch"|C5_9xlarge_elasticsearch->"c5.9xlarge.elasticsearch"|C5_18xlarge_elasticsearch->"c5.18xlarge.elasticsearch"|Ultrawarm1_medium_elasticsearch->"ultrawarm1.medium.elasticsearch"|Ultrawarm1_large_elasticsearch->"ultrawarm1.large.elasticsearch"|T2_micro_elasticsearch->"t2.micro.elasticsearch"|T2_small_elasticsearch->"t2.small.elasticsearch"|T2_medium_elasticsearch->"t2.medium.elasticsearch"|R3_large_elasticsearch->"r3.large.elasticsearch"|R3_xlarge_elasticsearch->"r3.xlarge.elasticsearch"|R3_2xlarge_elasticsearch->"r3.2xlarge.elasticsearch"|R3_4xlarge_elasticsearch->"r3.4xlarge.elasticsearch"|R3_8xlarge_elasticsearch->"r3.8xlarge.elasticsearch"|I2_xlarge_elasticsearch->"i2.xlarge.elasticsearch"|I2_2xlarge_elasticsearch->"i2.2xlarge.elasticsearch"|D2_xlarge_elasticsearch->"d2.xlarge.elasticsearch"|D2_2xlarge_elasticsearch->"d2.2xlarge.elasticsearch"|D2_4xlarge_elasticsearch->"d2.4xlarge.elasticsearch"|D2_8xlarge_elasticsearch->"d2.8xlarge.elasticsearch"|C4_large_elasticsearch->"c4.large.elasticsearch"|C4_xlarge_elasticsearch->"c4.xlarge.elasticsearch"|C4_2xlarge_elasticsearch->"c4.2xlarge.elasticsearch"|C4_4xlarge_elasticsearch->"c4.4xlarge.elasticsearch"|C4_8xlarge_elasticsearch->"c4.8xlarge.elasticsearch"|R4_large_elasticsearch->"r4.large.elasticsearch"|R4_xlarge_elasticsearch->"r4.xlarge.elasticsearch"|R4_2xlarge_elasticsearch->"r4.2xlarge.elasticsearch"|R4_4xlarge_elasticsearch->"r4.4xlarge.elasticsearch"|R4_8xlarge_elasticsearch->"r4.8xlarge.elasticsearch"|R4_16xlarge_elasticsearch->"r4.16xlarge.elasticsearch"|I3_large_elasticsearch->"i3.large.elasticsearch"|I3_xlarge_elasticsearch->"i3.xlarge.elasticsearch"|I3_2xlarge_elasticsearch->"i3.2xlarge.elasticsearch"|I3_4xlarge_elasticsearch->"i3.4xlarge.elasticsearch"|I3_8xlarge_elasticsearch->"i3.8xlarge.elasticsearch"|I3_16xlarge_elasticsearch->"i3.16xlarge.elasticsearch"|Non_static_ids->sletof_string=function|"m3.medium.elasticsearch"->M3_medium_elasticsearch|"m3.large.elasticsearch"->M3_large_elasticsearch|"m3.xlarge.elasticsearch"->M3_xlarge_elasticsearch|"m3.2xlarge.elasticsearch"->M3_2xlarge_elasticsearch|"m4.large.elasticsearch"->M4_large_elasticsearch|"m4.xlarge.elasticsearch"->M4_xlarge_elasticsearch|"m4.2xlarge.elasticsearch"->M4_2xlarge_elasticsearch|"m4.4xlarge.elasticsearch"->M4_4xlarge_elasticsearch|"m4.10xlarge.elasticsearch"->M4_10xlarge_elasticsearch|"m5.large.elasticsearch"->M5_large_elasticsearch|"m5.xlarge.elasticsearch"->M5_xlarge_elasticsearch|"m5.2xlarge.elasticsearch"->M5_2xlarge_elasticsearch|"m5.4xlarge.elasticsearch"->M5_4xlarge_elasticsearch|"m5.12xlarge.elasticsearch"->M5_12xlarge_elasticsearch|"r5.large.elasticsearch"->R5_large_elasticsearch|"r5.xlarge.elasticsearch"->R5_xlarge_elasticsearch|"r5.2xlarge.elasticsearch"->R5_2xlarge_elasticsearch|"r5.4xlarge.elasticsearch"->R5_4xlarge_elasticsearch|"r5.12xlarge.elasticsearch"->R5_12xlarge_elasticsearch|"c5.large.elasticsearch"->C5_large_elasticsearch|"c5.xlarge.elasticsearch"->C5_xlarge_elasticsearch|"c5.2xlarge.elasticsearch"->C5_2xlarge_elasticsearch|"c5.4xlarge.elasticsearch"->C5_4xlarge_elasticsearch|"c5.9xlarge.elasticsearch"->C5_9xlarge_elasticsearch|"c5.18xlarge.elasticsearch"->C5_18xlarge_elasticsearch|"ultrawarm1.medium.elasticsearch"->Ultrawarm1_medium_elasticsearch|"ultrawarm1.large.elasticsearch"->Ultrawarm1_large_elasticsearch|"t2.micro.elasticsearch"->T2_micro_elasticsearch|"t2.small.elasticsearch"->T2_small_elasticsearch|"t2.medium.elasticsearch"->T2_medium_elasticsearch|"r3.large.elasticsearch"->R3_large_elasticsearch|"r3.xlarge.elasticsearch"->R3_xlarge_elasticsearch|"r3.2xlarge.elasticsearch"->R3_2xlarge_elasticsearch|"r3.4xlarge.elasticsearch"->R3_4xlarge_elasticsearch|"r3.8xlarge.elasticsearch"->R3_8xlarge_elasticsearch|"i2.xlarge.elasticsearch"->I2_xlarge_elasticsearch|"i2.2xlarge.elasticsearch"->I2_2xlarge_elasticsearch|"d2.xlarge.elasticsearch"->D2_xlarge_elasticsearch|"d2.2xlarge.elasticsearch"->D2_2xlarge_elasticsearch|"d2.4xlarge.elasticsearch"->D2_4xlarge_elasticsearch|"d2.8xlarge.elasticsearch"->D2_8xlarge_elasticsearch|"c4.large.elasticsearch"->C4_large_elasticsearch|"c4.xlarge.elasticsearch"->C4_xlarge_elasticsearch|"c4.2xlarge.elasticsearch"->C4_2xlarge_elasticsearch|"c4.4xlarge.elasticsearch"->C4_4xlarge_elasticsearch|"c4.8xlarge.elasticsearch"->C4_8xlarge_elasticsearch|"r4.large.elasticsearch"->R4_large_elasticsearch|"r4.xlarge.elasticsearch"->R4_xlarge_elasticsearch|"r4.2xlarge.elasticsearch"->R4_2xlarge_elasticsearch|"r4.4xlarge.elasticsearch"->R4_4xlarge_elasticsearch|"r4.8xlarge.elasticsearch"->R4_8xlarge_elasticsearch|"r4.16xlarge.elasticsearch"->R4_16xlarge_elasticsearch|"i3.large.elasticsearch"->I3_large_elasticsearch|"i3.xlarge.elasticsearch"->I3_xlarge_elasticsearch|"i3.2xlarge.elasticsearch"->I3_2xlarge_elasticsearch|"i3.4xlarge.elasticsearch"->I3_4xlarge_elasticsearch|"i3.8xlarge.elasticsearch"->I3_8xlarge_elasticsearch|"i3.16xlarge.elasticsearch"->I3_16xlarge_elasticsearch|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 ESPartitionInstanceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ESPartitionInstanceType"j)letto_json=simple_to_jsonto_valueendmoduleESWarmPartitionInstanceType=structtypenonrect=|Ultrawarm1_medium_elasticsearch|Ultrawarm1_large_elasticsearch|Non_static_idofstringletmakei=iletto_string=function|Ultrawarm1_medium_elasticsearch->"ultrawarm1.medium.elasticsearch"|Ultrawarm1_large_elasticsearch->"ultrawarm1.large.elasticsearch"|Non_static_ids->sletof_string=function|"ultrawarm1.medium.elasticsearch"->Ultrawarm1_medium_elasticsearch|"ultrawarm1.large.elasticsearch"->Ultrawarm1_large_elasticsearch|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 ESWarmPartitionInstanceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ESWarmPartitionInstanceType"j)letto_json=simple_to_jsonto_valueendmoduleZoneAwarenessConfig=structtypenonrect={availabilityZoneCount:IntegerClass.toption[@ocaml.doc"An integer value to indicate the number of availability zones for a domain when zone awareness is enabled. This should be equal to number of subnets if VPC endpoints is enabled"]}letmake?availabilityZoneCount=fun()->{availabilityZoneCount}letto_valuex=structure_to_value[("AvailabilityZoneCount",(Option.mapx.availabilityZoneCount~f:IntegerClass.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letavailabilityZoneCount=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"AvailabilityZoneCount")inmake?availabilityZoneCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letavailabilityZoneCount=field_mapjson__"AvailabilityZoneCount"IntegerClass.of_jsoninmake?availabilityZoneCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the zone awareness configuration for the domain cluster, such as the number of availability zones."]moduleKmsKeyId=structtypenonrect=stringletcontext_="KmsKeyId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:500)>>=(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:"KmsKeyId"jletto_json=simple_to_jsonto_valueendmoduleLogPublishingOption=structtypenonrect={cloudWatchLogsLogGroupArn:CloudWatchLogsLogGroupArn.toption;enabled:Boolean.toption[@ocaml.doc"Specifies whether given log publishing option is enabled or not."]}letmake?cloudWatchLogsLogGroupArn=fun?enabled->fun()->{cloudWatchLogsLogGroupArn;enabled}letto_valuex=structure_to_value[("CloudWatchLogsLogGroupArn",(Option.mapx.cloudWatchLogsLogGroupArn~f:CloudWatchLogsLogGroupArn.to_value));("Enabled",(Option.mapx.enabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inletcloudWatchLogsLogGroupArn=(Option.map~f:CloudWatchLogsLogGroupArn.of_xml)(Xml.childxml_arg0"CloudWatchLogsLogGroupArn")inmake?enabled?cloudWatchLogsLogGroupArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letenabled=field_mapjson__"Enabled"Boolean.of_jsoninletcloudWatchLogsLogGroupArn=field_mapjson__"CloudWatchLogsLogGroupArn"CloudWatchLogsLogGroupArn.of_jsoninmake?enabled?cloudWatchLogsLogGroupArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Log Publishing option that is set for given domain. Attributes and their details: CloudWatchLogsLogGroupArn: ARN of the Cloudwatch log group to which log needs to be published. Enabled: Whether the log publishing for given log type is enabled or not"]moduleLogType=structtypenonrect=|INDEX_SLOW_LOGS|SEARCH_SLOW_LOGS|ES_APPLICATION_LOGS|AUDIT_LOGS|Non_static_idofstringletmakei=iletto_string=function|INDEX_SLOW_LOGS->"INDEX_SLOW_LOGS"|SEARCH_SLOW_LOGS->"SEARCH_SLOW_LOGS"|ES_APPLICATION_LOGS->"ES_APPLICATION_LOGS"|AUDIT_LOGS->"AUDIT_LOGS"|Non_static_ids->sletof_string=function|"INDEX_SLOW_LOGS"->INDEX_SLOW_LOGS|"SEARCH_SLOW_LOGS"->SEARCH_SLOW_LOGS|"ES_APPLICATION_LOGS"->ES_APPLICATION_LOGS|"AUDIT_LOGS"->AUDIT_LOGS|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 LogType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"LogType"j)letto_json=simple_to_jsonto_valueendmoduleStringList=structtypenonrect=String_.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:String_.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:String_.of_xml)letof_jsonj=list_of_json~kind:"StringList"~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleErrorMessage=structtypenonrect=stringletcontext_="ErrorMessage"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:"ErrorMessage"jletto_json=simple_to_jsonto_valueendmoduleErrorType=structtypenonrect=stringletcontext_="ErrorType"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:"ErrorType"jletto_json=simple_to_jsonto_valueendmoduleUpgradeStepItem=structtypenonrect={upgradeStep:UpgradeStep.toption[@ocaml.doc"Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through: PreUpgradeCheck Snapshot Upgrade"];upgradeStepStatus:UpgradeStatus.toption[@ocaml.doc"The status of a particular step during an upgrade. The status can take one of the following values: In Progress Succeeded Succeeded with Issues Failed"];issues:Issues.toption[@ocaml.doc"A list of strings containing detailed information about the errors encountered in a particular step."];progressPercent:Double.toption[@ocaml.doc"The Floating point value representing progress percentage of a particular step."]}letmake?upgradeStep=fun?upgradeStepStatus->fun?issues->fun?progressPercent->fun()->{upgradeStep;upgradeStepStatus;issues;progressPercent}letto_valuex=structure_to_value[("UpgradeStep",(Option.mapx.upgradeStep~f:UpgradeStep.to_value));("UpgradeStepStatus",(Option.mapx.upgradeStepStatus~f:UpgradeStatus.to_value));("Issues",(Option.mapx.issues~f:Issues.to_value));("ProgressPercent",(Option.mapx.progressPercent~f:Double.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprogressPercent=(Option.map~f:Double.of_xml)(Xml.childxml_arg0"ProgressPercent")inletissues=(Option.map~f:Issues.of_xml)(Xml.childxml_arg0"Issues")inletupgradeStepStatus=(Option.map~f:UpgradeStatus.of_xml)(Xml.childxml_arg0"UpgradeStepStatus")inletupgradeStep=(Option.map~f:UpgradeStep.of_xml)(Xml.childxml_arg0"UpgradeStep")inmake?progressPercent?issues?upgradeStepStatus?upgradeStep()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprogressPercent=field_mapjson__"ProgressPercent"Double.of_jsoninletissues=field_mapjson__"Issues"Issues.of_jsoninletupgradeStepStatus=field_mapjson__"UpgradeStepStatus"UpgradeStatus.of_jsoninletupgradeStep=field_mapjson__"UpgradeStep"UpgradeStep.of_jsoninmake?progressPercent?issues?upgradeStepStatus?upgradeStep()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a single step of the Upgrade or Upgrade Eligibility Check workflow."]moduleElasticsearchVersionString=structtypenonrect=stringletcontext_="ElasticsearchVersionString"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"^[0-9]{1}\\.[0-9]{1,2}$|^OpenSearch_[0-9]{1,2}\\.[0-9]{1,2}$|^OS_[0-9]{1,2}\\.[0-9]{1,2}$");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ElasticsearchVersionString"jletto_json=simple_to_jsonto_valueendmoduleRecurringCharge=structtypenonrect={recurringChargeAmount:Double.toption[@ocaml.doc"The monetary amount of the recurring charge."];recurringChargeFrequency:String_.toption[@ocaml.doc"The frequency of the recurring charge."]}letmake?recurringChargeAmount=fun?recurringChargeFrequency->fun()->{recurringChargeAmount;recurringChargeFrequency}letto_valuex=structure_to_value[("RecurringChargeAmount",(Option.mapx.recurringChargeAmount~f:Double.to_value));("RecurringChargeFrequency",(Option.mapx.recurringChargeFrequency~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrecurringChargeFrequency=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RecurringChargeFrequency")inletrecurringChargeAmount=(Option.map~f:Double.of_xml)(Xml.childxml_arg0"RecurringChargeAmount")inmake?recurringChargeFrequency?recurringChargeAmount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrecurringChargeFrequency=field_mapjson__"RecurringChargeFrequency"String_.of_jsoninletrecurringChargeAmount=field_mapjson__"RecurringChargeAmount"Double.of_jsoninmake?recurringChargeFrequency?recurringChargeAmount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the specific price and frequency of a recurring charges for a reserved Elasticsearch instance, or for a reserved Elasticsearch instance offering."]moduleDescribePackagesFilterValue=structtypenonrect=stringletcontext_="DescribePackagesFilterValue"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"^[0-9a-zA-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:"DescribePackagesFilterValue"jletto_json=simple_to_jsonto_valueendmoduleDomainName=structtypenonrect=string[@@ocaml.doc"The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen)."]letcontext_="DomainName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:28)>>=(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:"DomainName"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen)."]moduleOwnerId=structtypenonrect=stringletcontext_="OwnerId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:12)>>=(fun()->check_string_mini~min: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:"OwnerId"jletto_json=simple_to_jsonto_valueendmoduleRegion=structtypenonrect=stringletcontext_="Region"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:"Region"jletto_json=simple_to_jsonto_valueendmoduleCrossClusterSearchConnectionStatusMessage=structtypenonrect=stringletcontext_="CrossClusterSearchConnectionStatusMessage"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:"CrossClusterSearchConnectionStatusMessage"jletto_json=simple_to_jsonto_valueendmoduleOutboundCrossClusterSearchConnectionStatusCode=structtypenonrect=|PENDING_ACCEPTANCE|VALIDATING|VALIDATION_FAILED|PROVISIONING|ACTIVE|REJECTED|DELETING|DELETED|Non_static_idofstringletmakei=iletto_string=function|PENDING_ACCEPTANCE->"PENDING_ACCEPTANCE"|VALIDATING->"VALIDATING"|VALIDATION_FAILED->"VALIDATION_FAILED"|PROVISIONING->"PROVISIONING"|ACTIVE->"ACTIVE"|REJECTED->"REJECTED"|DELETING->"DELETING"|DELETED->"DELETED"|Non_static_ids->sletof_string=function|"PENDING_ACCEPTANCE"->PENDING_ACCEPTANCE|"VALIDATING"->VALIDATING|"VALIDATION_FAILED"->VALIDATION_FAILED|"PROVISIONING"->PROVISIONING|"ACTIVE"->ACTIVE|"REJECTED"->REJECTED|"DELETING"->DELETING|"DELETED"->DELETED|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 OutboundCrossClusterSearchConnectionStatusCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OutboundCrossClusterSearchConnectionStatusCode"j)letto_json=simple_to_jsonto_valueendmoduleNonEmptyString=structtypenonrect=stringletcontext_="NonEmptyString"letmakei=letopenResultinok_or_failwith(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:"NonEmptyString"jletto_json=simple_to_jsonto_valueendmoduleInboundCrossClusterSearchConnectionStatusCode=structtypenonrect=|PENDING_ACCEPTANCE|APPROVED|REJECTING|REJECTED|DELETING|DELETED|Non_static_idofstringletmakei=iletto_string=function|PENDING_ACCEPTANCE->"PENDING_ACCEPTANCE"|APPROVED->"APPROVED"|REJECTING->"REJECTING"|REJECTED->"REJECTED"|DELETING->"DELETING"|DELETED->"DELETED"|Non_static_ids->sletof_string=function|"PENDING_ACCEPTANCE"->PENDING_ACCEPTANCE|"APPROVED"->APPROVED|"REJECTING"->REJECTING|"REJECTED"->REJECTED|"DELETING"->DELETING|"DELETED"->DELETED|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 InboundCrossClusterSearchConnectionStatusCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"InboundCrossClusterSearchConnectionStatusCode"j)letto_json=simple_to_jsonto_valueendmoduleAdditionalLimit=structtypenonrect={limitName:LimitName.toption[@ocaml.doc"Name of Additional Limit is specific to a given InstanceType and for each of it's InstanceRole etc. Attributes and their details: MaximumNumberOfDataNodesSupported This attribute will be present in Master node only to specify how much data nodes upto which given ESPartitionInstanceType can support as master node. MaximumNumberOfDataNodesWithoutMasterNode This attribute will be present in Data node only to specify how much data nodes of given ESPartitionInstanceType upto which you don't need any master nodes to govern them."];limitValues:LimitValueList.toption[@ocaml.doc"Value for given AdditionalLimit$LimitName ."]}letmake?limitName=fun?limitValues->fun()->{limitName;limitValues}letto_valuex=structure_to_value[("LimitName",(Option.mapx.limitName~f:LimitName.to_value));("LimitValues",(Option.mapx.limitValues~f:LimitValueList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlimitValues=(Option.map~f:LimitValueList.of_xml)(Xml.childxml_arg0"LimitValues")inletlimitName=(Option.map~f:LimitName.of_xml)(Xml.childxml_arg0"LimitName")inmake?limitValues?limitName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlimitValues=field_mapjson__"LimitValues"LimitValueList.of_jsoninletlimitName=field_mapjson__"LimitName"LimitName.of_jsoninmake?limitValues?limitName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"List of limits that are specific to a given InstanceType and for each of it's InstanceRole ."]moduleInstanceCountLimits=structtypenonrect={minimumInstanceCount:MinimumInstanceCount.toption;maximumInstanceCount:MaximumInstanceCount.toption}letmake?minimumInstanceCount=fun?maximumInstanceCount->fun()->{minimumInstanceCount;maximumInstanceCount}letto_valuex=structure_to_value[("MinimumInstanceCount",(Option.mapx.minimumInstanceCount~f:MinimumInstanceCount.to_value));("MaximumInstanceCount",(Option.mapx.maximumInstanceCount~f:MaximumInstanceCount.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaximumInstanceCount=(Option.map~f:MaximumInstanceCount.of_xml)(Xml.childxml_arg0"MaximumInstanceCount")inletminimumInstanceCount=(Option.map~f:MinimumInstanceCount.of_xml)(Xml.childxml_arg0"MinimumInstanceCount")inmake?maximumInstanceCount?minimumInstanceCount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaximumInstanceCount=field_mapjson__"MaximumInstanceCount"MaximumInstanceCount.of_jsoninletminimumInstanceCount=field_mapjson__"MinimumInstanceCount"MinimumInstanceCount.of_jsoninmake?maximumInstanceCount?minimumInstanceCount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"InstanceCountLimits represents the limits on number of instances that be created in Amazon Elasticsearch for given InstanceType."]moduleStorageType=structtypenonrect={storageTypeName:StorageTypeName.toption;storageSubTypeName:StorageSubTypeName.toption;storageTypeLimits:StorageTypeLimitList.toption[@ocaml.doc"List of limits that are applicable for given storage type."]}letmake?storageTypeName=fun?storageSubTypeName->fun?storageTypeLimits->fun()->{storageTypeName;storageSubTypeName;storageTypeLimits}letto_valuex=structure_to_value[("StorageTypeName",(Option.mapx.storageTypeName~f:StorageTypeName.to_value));("StorageSubTypeName",(Option.mapx.storageSubTypeName~f:StorageSubTypeName.to_value));("StorageTypeLimits",(Option.mapx.storageTypeLimits~f:StorageTypeLimitList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstorageTypeLimits=(Option.map~f:StorageTypeLimitList.of_xml)(Xml.childxml_arg0"StorageTypeLimits")inletstorageSubTypeName=(Option.map~f:StorageSubTypeName.of_xml)(Xml.childxml_arg0"StorageSubTypeName")inletstorageTypeName=(Option.map~f:StorageTypeName.of_xml)(Xml.childxml_arg0"StorageTypeName")inmake?storageTypeLimits?storageSubTypeName?storageTypeName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstorageTypeLimits=field_mapjson__"StorageTypeLimits"StorageTypeLimitList.of_jsoninletstorageSubTypeName=field_mapjson__"StorageSubTypeName"StorageSubTypeName.of_jsoninletstorageTypeName=field_mapjson__"StorageTypeName"StorageTypeName.of_jsoninmake?storageTypeLimits?storageSubTypeName?storageTypeName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"StorageTypes represents the list of storage related types and their attributes that are available for given InstanceType."]moduleConfigChangeStatus=structtypenonrect=|Pending|Initializing|Validating|ValidationFailed|ApplyingChanges|Completed|PendingUserInput|Cancelled|Non_static_idofstringletmakei=iletto_string=function|Pending->"Pending"|Initializing->"Initializing"|Validating->"Validating"|ValidationFailed->"ValidationFailed"|ApplyingChanges->"ApplyingChanges"|Completed->"Completed"|PendingUserInput->"PendingUserInput"|Cancelled->"Cancelled"|Non_static_ids->sletof_string=function|"Pending"->Pending|"Initializing"->Initializing|"Validating"->Validating|"ValidationFailed"->ValidationFailed|"ApplyingChanges"->ApplyingChanges|"Completed"->Completed|"PendingUserInput"->PendingUserInput|"Cancelled"->Cancelled|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 ConfigChangeStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ConfigChangeStatus"j)letto_json=simple_to_jsonto_valueendmoduleGUID=structtypenonrect=stringletcontext_="GUID"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"\\p{XDigit}{8}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{4}-\\p{XDigit}{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:"GUID"jletto_json=simple_to_jsonto_valueendmoduleInitiatedBy=structtypenonrect=|CUSTOMER|SERVICE|Non_static_idofstringletmakei=iletto_string=function|CUSTOMER->"CUSTOMER"|SERVICE->"SERVICE"|Non_static_ids->sletof_string=function|"CUSTOMER"->CUSTOMER|"SERVICE"->SERVICE|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 InitiatedBy"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"InitiatedBy"j)letto_json=simple_to_jsonto_valueendmoduleMessage=structtypenonrect=stringletcontext_="Message"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(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:"Message"jletto_json=simple_to_jsonto_valueendmoduleServiceUrl=structtypenonrect=string[@@ocaml.doc"The endpoint to which service requests are submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com."]letcontext_="ServiceUrl"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:"ServiceUrl"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The endpoint to which service requests are submitted. For example, search-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com or doc-imdb-movies-oopcnjfn6ugofer3zx5iadxxca.eu-west-1.es.amazonaws.com."]moduleModifyingProperties=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the property that is currently being modified."];activeValue:String_.toption[@ocaml.doc"The current value of the domain property that is being modified."];pendingValue:String_.toption[@ocaml.doc"The value that the property that is currently being modified will eventually have."];valueType:PropertyValueType.toption[@ocaml.doc"The type of value that is currently being modified. Properties can have two types: PLAIN_TEXT: Contain direct values such as \"1\", \"True\", or \"c5.large.search\". STRINGIFIED_JSON: Contain content in JSON format, such as \\{\"Enabled\":\"True\"\\}\"."]}letmake?name=fun?activeValue->fun?pendingValue->fun?valueType->fun()->{name;activeValue;pendingValue;valueType}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:String_.to_value));("ActiveValue",(Option.mapx.activeValue~f:String_.to_value));("PendingValue",(Option.mapx.pendingValue~f:String_.to_value));("ValueType",(Option.mapx.valueType~f:PropertyValueType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalueType=(Option.map~f:PropertyValueType.of_xml)(Xml.childxml_arg0"ValueType")inletpendingValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PendingValue")inletactiveValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ActiveValue")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Name")inmake?valueType?pendingValue?activeValue?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalueType=field_mapjson__"ValueType"PropertyValueType.of_jsoninletpendingValue=field_mapjson__"PendingValue"String_.of_jsoninletactiveValue=field_mapjson__"ActiveValue"String_.of_jsoninletname=field_mapjson__"Name"String_.of_jsoninmake?valueType?pendingValue?activeValue?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about the domain properties that are currently being modified."]moduleDeploymentCloseDateTimeStamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleDeploymentStatus=structtypenonrect=|PENDING_UPDATE|IN_PROGRESS|COMPLETED|NOT_ELIGIBLE|ELIGIBLE|Non_static_idofstringletmakei=iletto_string=function|PENDING_UPDATE->"PENDING_UPDATE"|IN_PROGRESS->"IN_PROGRESS"|COMPLETED->"COMPLETED"|NOT_ELIGIBLE->"NOT_ELIGIBLE"|ELIGIBLE->"ELIGIBLE"|Non_static_ids->sletof_string=function|"PENDING_UPDATE"->PENDING_UPDATE|"IN_PROGRESS"->IN_PROGRESS|"COMPLETED"->COMPLETED|"NOT_ELIGIBLE"->NOT_ELIGIBLE|"ELIGIBLE"->ELIGIBLE|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 DeploymentStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DeploymentStatus"j)letto_json=simple_to_jsonto_valueendmoduleChangeProgressStageName=structtypenonrect=stringletcontext_="ChangeProgressStageName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:64)>>=(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:"ChangeProgressStageName"jletto_json=simple_to_jsonto_valueendmoduleChangeProgressStageStatus=structtypenonrect=stringletcontext_="ChangeProgressStageStatus"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(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:"ChangeProgressStageStatus"jletto_json=simple_to_jsonto_valueendmoduleDescription=structtypenonrect=stringletcontext_="Description"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:"Description"jletto_json=simple_to_jsonto_valueendmoduleLastUpdated=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleScheduledAutoTuneDetails=structtypenonrect={date:AutoTuneDate.toption[@ocaml.doc"Specifies timestamp for the Auto-Tune action scheduled for the domain."];actionType:ScheduledAutoTuneActionType.toption[@ocaml.doc"Specifies Auto-Tune action type. Valid values are JVM_HEAP_SIZE_TUNING and JVM_YOUNG_GEN_TUNING."];action:ScheduledAutoTuneDescription.toption[@ocaml.doc"Specifies Auto-Tune action description."];severity:ScheduledAutoTuneSeverityType.toption[@ocaml.doc"Specifies Auto-Tune action severity. Valid values are LOW, MEDIUM and HIGH."]}letmake?date=fun?actionType->fun?action->fun?severity->fun()->{date;actionType;action;severity}letto_valuex=structure_to_value[("Date",(Option.mapx.date~f:AutoTuneDate.to_value));("ActionType",(Option.mapx.actionType~f:ScheduledAutoTuneActionType.to_value));("Action",(Option.mapx.action~f:ScheduledAutoTuneDescription.to_value));("Severity",(Option.mapx.severity~f:ScheduledAutoTuneSeverityType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letseverity=(Option.map~f:ScheduledAutoTuneSeverityType.of_xml)(Xml.childxml_arg0"Severity")inletaction=(Option.map~f:ScheduledAutoTuneDescription.of_xml)(Xml.childxml_arg0"Action")inletactionType=(Option.map~f:ScheduledAutoTuneActionType.of_xml)(Xml.childxml_arg0"ActionType")inletdate=(Option.map~f:AutoTuneDate.of_xml)(Xml.childxml_arg0"Date")inmake?severity?action?actionType?date()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letseverity=field_mapjson__"Severity"ScheduledAutoTuneSeverityType.of_jsoninletaction=field_mapjson__"Action"ScheduledAutoTuneDescription.of_jsoninletactionType=field_mapjson__"ActionType"ScheduledAutoTuneActionType.of_jsoninletdate=field_mapjson__"Date"AutoTuneDate.of_jsoninmake?severity?action?actionType?date()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies details of the scheduled Auto-Tune action. See the Developer Guide for more information."]moduleOptionStatus=structtypenonrect={creationDate:UpdateTimestamp.toption[@ocaml.doc"Timestamp which tells the creation date for the entity."];updateDate:UpdateTimestamp.toption[@ocaml.doc"Timestamp which tells the last updated time for the entity."];updateVersion:UIntValue.toption[@ocaml.doc"Specifies the latest version for the entity."];state:OptionState.toption[@ocaml.doc"Provides the OptionState for the Elasticsearch domain."];pendingDeletion:Boolean.toption[@ocaml.doc"Indicates whether the Elasticsearch domain is being deleted."]}letmake?creationDate=fun?updateDate->fun?updateVersion->fun?state->fun?pendingDeletion->fun()->{creationDate;updateDate;updateVersion;state;pendingDeletion}letto_valuex=structure_to_value[("CreationDate",(Option.mapx.creationDate~f:UpdateTimestamp.to_value));("UpdateDate",(Option.mapx.updateDate~f:UpdateTimestamp.to_value));("UpdateVersion",(Option.mapx.updateVersion~f:UIntValue.to_value));("State",(Option.mapx.state~f:OptionState.to_value));("PendingDeletion",(Option.mapx.pendingDeletion~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpendingDeletion=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PendingDeletion")inletstate=(Option.map~f:OptionState.of_xml)(Xml.childxml_arg0"State")inletupdateVersion=(Option.map~f:UIntValue.of_xml)(Xml.childxml_arg0"UpdateVersion")inletupdateDate=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"UpdateDate")inletcreationDate=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"CreationDate")inmake?pendingDeletion?state?updateVersion?updateDate?creationDate()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpendingDeletion=field_mapjson__"PendingDeletion"Boolean.of_jsoninletstate=field_mapjson__"State"OptionState.of_jsoninletupdateVersion=field_mapjson__"UpdateVersion"UIntValue.of_jsoninletupdateDate=field_mapjson__"UpdateDate"UpdateTimestamp.of_jsoninletcreationDate=field_mapjson__"CreationDate"UpdateTimestamp.of_jsoninmake?pendingDeletion?state?updateVersion?updateDate?creationDate()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides the current status of the entity."]modulePolicyDocument=structtypenonrect=string[@@ocaml.doc"Access policy rules for an Elasticsearch domain service endpoints. For more information, see Configuring Access Policies in the Amazon Elasticsearch Service Developer Guide. The maximum size of a policy document is 100 KB."]letcontext_="PolicyDocument"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:"PolicyDocument"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Access policy rules for an Elasticsearch domain service endpoints. For more information, see Configuring Access Policies in the Amazon Elasticsearch Service Developer Guide. The maximum size of a policy document is 100 KB."]moduleAdvancedOptions=structtypenonrect=(String_.t*String_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(String_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(String_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAdvancedSecurityOptions=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"True if advanced security is enabled."];internalUserDatabaseEnabled:Boolean.toption[@ocaml.doc"True if the internal user database is enabled."];sAMLOptions:SAMLOptionsOutput.toption[@ocaml.doc"Describes the SAML application configured for a domain."];anonymousAuthDisableDate:DisableTimestamp.toption[@ocaml.doc"Specifies the Anonymous Auth Disable Date when Anonymous Auth is enabled."];anonymousAuthEnabled:Boolean.toption[@ocaml.doc"True if Anonymous auth is enabled. Anonymous auth can be enabled only when AdvancedSecurity is enabled on existing domains."]}letmake?enabled=fun?internalUserDatabaseEnabled->fun?sAMLOptions->fun?anonymousAuthDisableDate->fun?anonymousAuthEnabled->fun()->{enabled;internalUserDatabaseEnabled;sAMLOptions;anonymousAuthDisableDate;anonymousAuthEnabled}letto_valuex=structure_to_value[("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("InternalUserDatabaseEnabled",(Option.mapx.internalUserDatabaseEnabled~f:Boolean.to_value));("SAMLOptions",(Option.mapx.sAMLOptions~f:SAMLOptionsOutput.to_value));("AnonymousAuthDisableDate",(Option.mapx.anonymousAuthDisableDate~f:DisableTimestamp.to_value));("AnonymousAuthEnabled",(Option.mapx.anonymousAuthEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letanonymousAuthEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"AnonymousAuthEnabled")inletanonymousAuthDisableDate=(Option.map~f:DisableTimestamp.of_xml)(Xml.childxml_arg0"AnonymousAuthDisableDate")inletsAMLOptions=(Option.map~f:SAMLOptionsOutput.of_xml)(Xml.childxml_arg0"SAMLOptions")inletinternalUserDatabaseEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"InternalUserDatabaseEnabled")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inmake?anonymousAuthEnabled?anonymousAuthDisableDate?sAMLOptions?internalUserDatabaseEnabled?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letanonymousAuthEnabled=field_mapjson__"AnonymousAuthEnabled"Boolean.of_jsoninletanonymousAuthDisableDate=field_mapjson__"AnonymousAuthDisableDate"DisableTimestamp.of_jsoninletsAMLOptions=field_mapjson__"SAMLOptions"SAMLOptionsOutput.of_jsoninletinternalUserDatabaseEnabled=field_mapjson__"InternalUserDatabaseEnabled"Boolean.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninmake?anonymousAuthEnabled?anonymousAuthDisableDate?sAMLOptions?internalUserDatabaseEnabled?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the advanced security configuration: whether advanced security is enabled, whether the internal database option is enabled."]moduleAutoTuneOptions=structtypenonrect={desiredState:AutoTuneDesiredState.toption[@ocaml.doc"Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED."];rollbackOnDisable:RollbackOnDisable.toption[@ocaml.doc"Specifies the rollback state while disabling Auto-Tune for the domain. Valid values are NO_ROLLBACK, DEFAULT_ROLLBACK."];maintenanceSchedules:AutoTuneMaintenanceScheduleList.toption[@ocaml.doc"Specifies list of maitenance schedules. See the Developer Guide for more information."]}letmake?desiredState=fun?rollbackOnDisable->fun?maintenanceSchedules->fun()->{desiredState;rollbackOnDisable;maintenanceSchedules}letto_valuex=structure_to_value[("DesiredState",(Option.mapx.desiredState~f:AutoTuneDesiredState.to_value));("RollbackOnDisable",(Option.mapx.rollbackOnDisable~f:RollbackOnDisable.to_value));("MaintenanceSchedules",(Option.mapx.maintenanceSchedules~f:AutoTuneMaintenanceScheduleList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaintenanceSchedules=(Option.map~f:AutoTuneMaintenanceScheduleList.of_xml)(Xml.childxml_arg0"MaintenanceSchedules")inletrollbackOnDisable=(Option.map~f:RollbackOnDisable.of_xml)(Xml.childxml_arg0"RollbackOnDisable")inletdesiredState=(Option.map~f:AutoTuneDesiredState.of_xml)(Xml.childxml_arg0"DesiredState")inmake?maintenanceSchedules?rollbackOnDisable?desiredState()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaintenanceSchedules=field_mapjson__"MaintenanceSchedules"AutoTuneMaintenanceScheduleList.of_jsoninletrollbackOnDisable=field_mapjson__"RollbackOnDisable"RollbackOnDisable.of_jsoninletdesiredState=field_mapjson__"DesiredState"AutoTuneDesiredState.of_jsoninmake?maintenanceSchedules?rollbackOnDisable?desiredState()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the Auto-Tune options: the Auto-Tune desired state for the domain, rollback state when disabling Auto-Tune options and list of maintenance schedules."]moduleAutoTuneStatus=structtypenonrect={creationDate:UpdateTimestamp.toption[@ocaml.doc"Timestamp which tells Auto-Tune options creation date ."];updateDate:UpdateTimestamp.toption[@ocaml.doc"Timestamp which tells Auto-Tune options last updated time."];updateVersion:UIntValue.toption[@ocaml.doc"Specifies the Auto-Tune options latest version."];state:AutoTuneState.toption[@ocaml.doc"Specifies the AutoTuneState for the Elasticsearch domain."];errorMessage:String_.toption[@ocaml.doc"Specifies the error message while enabling or disabling the Auto-Tune options."];pendingDeletion:Boolean.toption[@ocaml.doc"Indicates whether the Elasticsearch domain is being deleted."]}letmake?creationDate=fun?updateDate->fun?updateVersion->fun?state->fun?errorMessage->fun?pendingDeletion->fun()->{creationDate;updateDate;updateVersion;state;errorMessage;pendingDeletion}letto_valuex=structure_to_value[("CreationDate",(Option.mapx.creationDate~f:UpdateTimestamp.to_value));("UpdateDate",(Option.mapx.updateDate~f:UpdateTimestamp.to_value));("UpdateVersion",(Option.mapx.updateVersion~f:UIntValue.to_value));("State",(Option.mapx.state~f:AutoTuneState.to_value));("ErrorMessage",(Option.mapx.errorMessage~f:String_.to_value));("PendingDeletion",(Option.mapx.pendingDeletion~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpendingDeletion=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PendingDeletion")inleterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorMessage")inletstate=(Option.map~f:AutoTuneState.of_xml)(Xml.childxml_arg0"State")inletupdateVersion=(Option.map~f:UIntValue.of_xml)(Xml.childxml_arg0"UpdateVersion")inletupdateDate=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"UpdateDate")inletcreationDate=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"CreationDate")inmake?pendingDeletion?errorMessage?state?updateVersion?updateDate?creationDate()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpendingDeletion=field_mapjson__"PendingDeletion"Boolean.of_jsoninleterrorMessage=field_mapjson__"ErrorMessage"String_.of_jsoninletstate=field_mapjson__"State"AutoTuneState.of_jsoninletupdateVersion=field_mapjson__"UpdateVersion"UIntValue.of_jsoninletupdateDate=field_mapjson__"UpdateDate"UpdateTimestamp.of_jsoninletcreationDate=field_mapjson__"CreationDate"UpdateTimestamp.of_jsoninmake?pendingDeletion?errorMessage?state?updateVersion?updateDate?creationDate()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides the current status of the Auto-Tune options."]moduleAutomatedSnapshotPauseOptions=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"Whether automated snapshot pause is enabled for the domain."];startTime:UpdateTimestamp.toption[@ocaml.doc"The timestamp at which the automated snapshot pause begins."];endTime:UpdateTimestamp.toption[@ocaml.doc"The timestamp at which the automated snapshot pause ends."];state:PauseState.toption[@ocaml.doc"The current state of the automated snapshot pause. Valid values are Active, Completed, Scheduled, and Disabled."]}letmake?enabled=fun?startTime->fun?endTime->fun?state->fun()->{enabled;startTime;endTime;state}letto_valuex=structure_to_value[("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("StartTime",(Option.mapx.startTime~f:UpdateTimestamp.to_value));("EndTime",(Option.mapx.endTime~f:UpdateTimestamp.to_value));("State",(Option.mapx.state~f:PauseState.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstate=(Option.map~f:PauseState.of_xml)(Xml.childxml_arg0"State")inletendTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"EndTime")inletstartTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"StartTime")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inmake?state?endTime?startTime?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstate=field_mapjson__"State"PauseState.of_jsoninletendTime=field_mapjson__"EndTime"UpdateTimestamp.of_jsoninletstartTime=field_mapjson__"StartTime"UpdateTimestamp.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninmake?state?endTime?startTime?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the automated snapshot pause options for the domain. These options allow you to temporarily pause automated snapshots for a specified time period."]moduleCognitoOptions=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"Specifies the option to enable Cognito for Kibana authentication."];userPoolId:UserPoolId.toption[@ocaml.doc"Specifies the Cognito user pool ID for Kibana authentication."];identityPoolId:IdentityPoolId.toption[@ocaml.doc"Specifies the Cognito identity pool ID for Kibana authentication."];roleArn:RoleArn.toption[@ocaml.doc"Specifies the role ARN that provides Elasticsearch permissions for accessing Cognito resources."]}letmake?enabled=fun?userPoolId->fun?identityPoolId->fun?roleArn->fun()->{enabled;userPoolId;identityPoolId;roleArn}letto_valuex=structure_to_value[("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("UserPoolId",(Option.mapx.userPoolId~f:UserPoolId.to_value));("IdentityPoolId",(Option.mapx.identityPoolId~f:IdentityPoolId.to_value));("RoleArn",(Option.mapx.roleArn~f:RoleArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letroleArn=(Option.map~f:RoleArn.of_xml)(Xml.childxml_arg0"RoleArn")inletidentityPoolId=(Option.map~f:IdentityPoolId.of_xml)(Xml.childxml_arg0"IdentityPoolId")inletuserPoolId=(Option.map~f:UserPoolId.of_xml)(Xml.childxml_arg0"UserPoolId")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inmake?roleArn?identityPoolId?userPoolId?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letroleArn=field_mapjson__"RoleArn"RoleArn.of_jsoninletidentityPoolId=field_mapjson__"IdentityPoolId"IdentityPoolId.of_jsoninletuserPoolId=field_mapjson__"UserPoolId"UserPoolId.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninmake?roleArn?identityPoolId?userPoolId?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana."]moduleDeploymentStrategyOptions=structtypenonrect={deploymentStrategy:DeploymentStrategy.t[@ocaml.doc"Specifies the deployment strategy for the domain. Valid values are Default and CapacityOptimized."]}letcontext_="DeploymentStrategyOptions"letmake~deploymentStrategy=fun()->{deploymentStrategy}letto_valuex=structure_to_value[("DeploymentStrategy",(Some(DeploymentStrategy.to_valuex.deploymentStrategy)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeploymentStrategy=DeploymentStrategy.of_xml(Xml.child_exn~context:context_xml_arg0"DeploymentStrategy")inmake~deploymentStrategy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeploymentStrategy=field_map_exnjson__"DeploymentStrategy"DeploymentStrategy.of_jsoninmake~deploymentStrategy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the deployment strategy options for the domain."]moduleDomainEndpointOptions=structtypenonrect={enforceHTTPS:Boolean.toption[@ocaml.doc"Specify if only HTTPS endpoint should be enabled for the Elasticsearch domain."];tLSSecurityPolicy:TLSSecurityPolicy.toption[@ocaml.doc"Specify the TLS security policy that needs to be applied to the HTTPS endpoint of Elasticsearch domain. It can be one of the following values: Policy-Min-TLS-1-0-2019-07: TLS security policy that supports TLS version 1.0 to TLS version 1.2 Policy-Min-TLS-1-2-2019-07: TLS security policy that supports only TLS version 1.2 Policy-Min-TLS-1-2-PFS-2023-10: TLS security policy that supports TLS version 1.2 to TLS version 1.3 with perfect forward secrecy cipher suites Policy-Min-TLS-1-2-RFC9151-FIPS-2024-08: TLS security policy that supports TLS version 1.3 with FIPS"];customEndpointEnabled:Boolean.toption[@ocaml.doc"Specify if custom endpoint should be enabled for the Elasticsearch domain."];customEndpoint:DomainNameFqdn.toption[@ocaml.doc"Specify the fully qualified domain for your custom endpoint."];customEndpointCertificateArn:ARN.toption[@ocaml.doc"Specify ACM certificate ARN for your custom endpoint."]}letmake?enforceHTTPS=fun?tLSSecurityPolicy->fun?customEndpointEnabled->fun?customEndpoint->fun?customEndpointCertificateArn->fun()->{enforceHTTPS;tLSSecurityPolicy;customEndpointEnabled;customEndpoint;customEndpointCertificateArn}letto_valuex=structure_to_value[("EnforceHTTPS",(Option.mapx.enforceHTTPS~f:Boolean.to_value));("TLSSecurityPolicy",(Option.mapx.tLSSecurityPolicy~f:TLSSecurityPolicy.to_value));("CustomEndpointEnabled",(Option.mapx.customEndpointEnabled~f:Boolean.to_value));("CustomEndpoint",(Option.mapx.customEndpoint~f:DomainNameFqdn.to_value));("CustomEndpointCertificateArn",(Option.mapx.customEndpointCertificateArn~f:ARN.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcustomEndpointCertificateArn=(Option.map~f:ARN.of_xml)(Xml.childxml_arg0"CustomEndpointCertificateArn")inletcustomEndpoint=(Option.map~f:DomainNameFqdn.of_xml)(Xml.childxml_arg0"CustomEndpoint")inletcustomEndpointEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"CustomEndpointEnabled")inlettLSSecurityPolicy=(Option.map~f:TLSSecurityPolicy.of_xml)(Xml.childxml_arg0"TLSSecurityPolicy")inletenforceHTTPS=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"EnforceHTTPS")inmake?customEndpointCertificateArn?customEndpoint?customEndpointEnabled?tLSSecurityPolicy?enforceHTTPS()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcustomEndpointCertificateArn=field_mapjson__"CustomEndpointCertificateArn"ARN.of_jsoninletcustomEndpoint=field_mapjson__"CustomEndpoint"DomainNameFqdn.of_jsoninletcustomEndpointEnabled=field_mapjson__"CustomEndpointEnabled"Boolean.of_jsoninlettLSSecurityPolicy=field_mapjson__"TLSSecurityPolicy"TLSSecurityPolicy.of_jsoninletenforceHTTPS=field_mapjson__"EnforceHTTPS"Boolean.of_jsoninmake?customEndpointCertificateArn?customEndpoint?customEndpointEnabled?tLSSecurityPolicy?enforceHTTPS()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Options to configure endpoint for the Elasticsearch domain."]moduleEBSOptions=structtypenonrect={eBSEnabled:Boolean.toption[@ocaml.doc"Specifies whether EBS-based storage is enabled."];volumeType:VolumeType.toption[@ocaml.doc"Specifies the volume type for EBS-based storage."];volumeSize:IntegerClass.toption[@ocaml.doc"Integer to specify the size of an EBS volume."];iops:IntegerClass.toption[@ocaml.doc"Specifies the IOPS for Provisioned IOPS And GP3 EBS volume (SSD)."];throughput:IntegerClass.toption[@ocaml.doc"Specifies the Throughput for GP3 EBS volume (SSD)."]}letmake?eBSEnabled=fun?volumeType->fun?volumeSize->fun?iops->fun?throughput->fun()->{eBSEnabled;volumeType;volumeSize;iops;throughput}letto_valuex=structure_to_value[("EBSEnabled",(Option.mapx.eBSEnabled~f:Boolean.to_value));("VolumeType",(Option.mapx.volumeType~f:VolumeType.to_value));("VolumeSize",(Option.mapx.volumeSize~f:IntegerClass.to_value));("Iops",(Option.mapx.iops~f:IntegerClass.to_value));("Throughput",(Option.mapx.throughput~f:IntegerClass.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letthroughput=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"Throughput")inletiops=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"Iops")inletvolumeSize=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"VolumeSize")inletvolumeType=(Option.map~f:VolumeType.of_xml)(Xml.childxml_arg0"VolumeType")inleteBSEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"EBSEnabled")inmake?throughput?iops?volumeSize?volumeType?eBSEnabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letthroughput=field_mapjson__"Throughput"IntegerClass.of_jsoninletiops=field_mapjson__"Iops"IntegerClass.of_jsoninletvolumeSize=field_mapjson__"VolumeSize"IntegerClass.of_jsoninletvolumeType=field_mapjson__"VolumeType"VolumeType.of_jsoninleteBSEnabled=field_mapjson__"EBSEnabled"Boolean.of_jsoninmake?throughput?iops?volumeSize?volumeType?eBSEnabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Options to enable, disable, and specify the properties of EBS storage volumes. For more information, see Configuring EBS-based Storage."]moduleElasticsearchClusterConfig=structtypenonrect={instanceType:ESPartitionInstanceType.toption[@ocaml.doc"The instance type for an Elasticsearch cluster. UltraWarm instance types are not supported for data instances."];instanceCount:IntegerClass.toption[@ocaml.doc"The number of instances in the specified domain cluster."];dedicatedMasterEnabled:Boolean.toption[@ocaml.doc"A boolean value to indicate whether a dedicated master node is enabled. See About Dedicated Master Nodes for more information."];zoneAwarenessEnabled:Boolean.toption[@ocaml.doc"A boolean value to indicate whether zone awareness is enabled. See About Zone Awareness for more information."];zoneAwarenessConfig:ZoneAwarenessConfig.toption[@ocaml.doc"Specifies the zone awareness configuration for a domain when zone awareness is enabled."];dedicatedMasterType:ESPartitionInstanceType.toption[@ocaml.doc"The instance type for a dedicated master node."];dedicatedMasterCount:IntegerClass.toption[@ocaml.doc"Total number of dedicated master nodes, active and on standby, for the cluster."];warmEnabled:Boolean.toption[@ocaml.doc"True to enable warm storage."];warmType:ESWarmPartitionInstanceType.toption[@ocaml.doc"The instance type for the Elasticsearch cluster's warm nodes."];warmCount:IntegerClass.toption[@ocaml.doc"The number of warm nodes in the cluster."];coldStorageOptions:ColdStorageOptions.toption[@ocaml.doc"Specifies the ColdStorageOptions config for Elasticsearch Domain"]}letmake?instanceType=fun?instanceCount->fun?dedicatedMasterEnabled->fun?zoneAwarenessEnabled->fun?zoneAwarenessConfig->fun?dedicatedMasterType->fun?dedicatedMasterCount->fun?warmEnabled->fun?warmType->fun?warmCount->fun?coldStorageOptions->fun()->{instanceType;instanceCount;dedicatedMasterEnabled;zoneAwarenessEnabled;zoneAwarenessConfig;dedicatedMasterType;dedicatedMasterCount;warmEnabled;warmType;warmCount;coldStorageOptions}letto_valuex=structure_to_value[("InstanceType",(Option.mapx.instanceType~f:ESPartitionInstanceType.to_value));("InstanceCount",(Option.mapx.instanceCount~f:IntegerClass.to_value));("DedicatedMasterEnabled",(Option.mapx.dedicatedMasterEnabled~f:Boolean.to_value));("ZoneAwarenessEnabled",(Option.mapx.zoneAwarenessEnabled~f:Boolean.to_value));("ZoneAwarenessConfig",(Option.mapx.zoneAwarenessConfig~f:ZoneAwarenessConfig.to_value));("DedicatedMasterType",(Option.mapx.dedicatedMasterType~f:ESPartitionInstanceType.to_value));("DedicatedMasterCount",(Option.mapx.dedicatedMasterCount~f:IntegerClass.to_value));("WarmEnabled",(Option.mapx.warmEnabled~f:Boolean.to_value));("WarmType",(Option.mapx.warmType~f:ESWarmPartitionInstanceType.to_value));("WarmCount",(Option.mapx.warmCount~f:IntegerClass.to_value));("ColdStorageOptions",(Option.mapx.coldStorageOptions~f:ColdStorageOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcoldStorageOptions=(Option.map~f:ColdStorageOptions.of_xml)(Xml.childxml_arg0"ColdStorageOptions")inletwarmCount=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"WarmCount")inletwarmType=(Option.map~f:ESWarmPartitionInstanceType.of_xml)(Xml.childxml_arg0"WarmType")inletwarmEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"WarmEnabled")inletdedicatedMasterCount=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"DedicatedMasterCount")inletdedicatedMasterType=(Option.map~f:ESPartitionInstanceType.of_xml)(Xml.childxml_arg0"DedicatedMasterType")inletzoneAwarenessConfig=(Option.map~f:ZoneAwarenessConfig.of_xml)(Xml.childxml_arg0"ZoneAwarenessConfig")inletzoneAwarenessEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"ZoneAwarenessEnabled")inletdedicatedMasterEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"DedicatedMasterEnabled")inletinstanceCount=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"InstanceCount")inletinstanceType=(Option.map~f:ESPartitionInstanceType.of_xml)(Xml.childxml_arg0"InstanceType")inmake?coldStorageOptions?warmCount?warmType?warmEnabled?dedicatedMasterCount?dedicatedMasterType?zoneAwarenessConfig?zoneAwarenessEnabled?dedicatedMasterEnabled?instanceCount?instanceType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcoldStorageOptions=field_mapjson__"ColdStorageOptions"ColdStorageOptions.of_jsoninletwarmCount=field_mapjson__"WarmCount"IntegerClass.of_jsoninletwarmType=field_mapjson__"WarmType"ESWarmPartitionInstanceType.of_jsoninletwarmEnabled=field_mapjson__"WarmEnabled"Boolean.of_jsoninletdedicatedMasterCount=field_mapjson__"DedicatedMasterCount"IntegerClass.of_jsoninletdedicatedMasterType=field_mapjson__"DedicatedMasterType"ESPartitionInstanceType.of_jsoninletzoneAwarenessConfig=field_mapjson__"ZoneAwarenessConfig"ZoneAwarenessConfig.of_jsoninletzoneAwarenessEnabled=field_mapjson__"ZoneAwarenessEnabled"Boolean.of_jsoninletdedicatedMasterEnabled=field_mapjson__"DedicatedMasterEnabled"Boolean.of_jsoninletinstanceCount=field_mapjson__"InstanceCount"IntegerClass.of_jsoninletinstanceType=field_mapjson__"InstanceType"ESPartitionInstanceType.of_jsoninmake?coldStorageOptions?warmCount?warmType?warmEnabled?dedicatedMasterCount?dedicatedMasterType?zoneAwarenessConfig?zoneAwarenessEnabled?dedicatedMasterEnabled?instanceCount?instanceType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the configuration for the domain cluster, such as the type and number of instances."]moduleEncryptionAtRestOptions=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"Specifies the option to enable Encryption At Rest."];kmsKeyId:KmsKeyId.toption[@ocaml.doc"Specifies the KMS Key ID for Encryption At Rest options."]}letmake?enabled=fun?kmsKeyId->fun()->{enabled;kmsKeyId}letto_valuex=structure_to_value[("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("KmsKeyId",(Option.mapx.kmsKeyId~f:KmsKeyId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkmsKeyId=(Option.map~f:KmsKeyId.of_xml)(Xml.childxml_arg0"KmsKeyId")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inmake?kmsKeyId?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkmsKeyId=field_mapjson__"KmsKeyId"KmsKeyId.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninmake?kmsKeyId?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the Encryption At Rest Options."]moduleLogPublishingOptions=structtypenonrect=(LogType.t*LogPublishingOption.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types LogType LogPublishingOption"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(LogType.to_valuex)|>(funx->(LogPublishingOption.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:LogType.of_string~of_json:LogPublishingOption.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNodeToNodeEncryptionOptions=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"Specify true to enable node-to-node encryption."]}letmake?enabled=fun()->{enabled}letto_valuex=structure_to_value[("Enabled",(Option.mapx.enabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inmake?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letenabled=field_mapjson__"Enabled"Boolean.of_jsoninmake?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the node-to-node encryption options."]moduleSnapshotOptions=structtypenonrect={automatedSnapshotStartHour:IntegerClass.toption[@ocaml.doc"Specifies the time, in UTC format, when the service takes a daily automated snapshot of the specified Elasticsearch domain. Default value is 0 hours."]}letmake?automatedSnapshotStartHour=fun()->{automatedSnapshotStartHour}letto_valuex=structure_to_value[("AutomatedSnapshotStartHour",(Option.mapx.automatedSnapshotStartHour~f:IntegerClass.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letautomatedSnapshotStartHour=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"AutomatedSnapshotStartHour")inmake?automatedSnapshotStartHour()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letautomatedSnapshotStartHour=field_mapjson__"AutomatedSnapshotStartHour"IntegerClass.of_jsoninmake?automatedSnapshotStartHour()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the time, in UTC format, when the service takes a daily automated snapshot of the specified Elasticsearch domain. Default value is 0 hours."]moduleVPCDerivedInfo=structtypenonrect={vPCId:String_.toption[@ocaml.doc"The VPC Id for the Elasticsearch domain. Exists only if the domain was created with VPCOptions."];subnetIds:StringList.toption[@ocaml.doc"Specifies the subnets for VPC endpoint."];availabilityZones:StringList.toption[@ocaml.doc"The availability zones for the Elasticsearch domain. Exists only if the domain was created with VPCOptions."];securityGroupIds:StringList.toption[@ocaml.doc"Specifies the security groups for VPC endpoint."]}letmake?vPCId=fun?subnetIds->fun?availabilityZones->fun?securityGroupIds->fun()->{vPCId;subnetIds;availabilityZones;securityGroupIds}letto_valuex=structure_to_value[("VPCId",(Option.mapx.vPCId~f:String_.to_value));("SubnetIds",(Option.mapx.subnetIds~f:StringList.to_value));("AvailabilityZones",(Option.mapx.availabilityZones~f:StringList.to_value));("SecurityGroupIds",(Option.mapx.securityGroupIds~f:StringList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroupIds=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"SecurityGroupIds")inletavailabilityZones=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"AvailabilityZones")inletsubnetIds=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"SubnetIds")inletvPCId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VPCId")inmake?securityGroupIds?availabilityZones?subnetIds?vPCId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroupIds=field_mapjson__"SecurityGroupIds"StringList.of_jsoninletavailabilityZones=field_mapjson__"AvailabilityZones"StringList.of_jsoninletsubnetIds=field_mapjson__"SubnetIds"StringList.of_jsoninletvPCId=field_mapjson__"VPCId"String_.of_jsoninmake?securityGroupIds?availabilityZones?subnetIds?vPCId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Options to specify the subnets and security groups for VPC endpoint. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains."]modulePassword=structtypenonrect=stringletcontext_="Password"letmakei=letopenResultinok_or_failwith(check_string_mini~min:8);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Password"jletto_json=simple_to_jsonto_valueendmoduleUsername=structtypenonrect=stringletcontext_="Username"letmakei=letopenResultinok_or_failwith(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:"Username"jletto_json=simple_to_jsonto_valueendmoduleBackendRole=structtypenonrect=stringletcontext_="BackendRole"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(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:"BackendRole"jletto_json=simple_to_jsonto_valueendmoduleDomainArn=structtypenonrect=stringletcontext_="DomainArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:512)>>=(fun()->check_patterni~pattern:"arn:aws[a-z\\-]*:[a-z]+:[a-z0-9\\-]+:[0-9]+:domain\\/[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:"DomainArn"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointId=structtypenonrect=stringletcontext_="VpcEndpointId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:5)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"^aos-[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:"VpcEndpointId"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointStatus=structtypenonrect=|CREATING|CREATE_FAILED|ACTIVE|UPDATING|UPDATE_FAILED|DELETING|DELETE_FAILED|Non_static_idofstringletmakei=iletto_string=function|CREATING->"CREATING"|CREATE_FAILED->"CREATE_FAILED"|ACTIVE->"ACTIVE"|UPDATING->"UPDATING"|UPDATE_FAILED->"UPDATE_FAILED"|DELETING->"DELETING"|DELETE_FAILED->"DELETE_FAILED"|Non_static_ids->sletof_string=function|"CREATING"->CREATING|"CREATE_FAILED"->CREATE_FAILED|"ACTIVE"->ACTIVE|"UPDATING"->UPDATING|"UPDATE_FAILED"->UPDATE_FAILED|"DELETING"->DELETING|"DELETE_FAILED"->DELETE_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_valueendmodulePrincipalType=structtypenonrect=|AWS_ACCOUNT|AWS_SERVICE|Non_static_idofstringletmakei=iletto_string=function|AWS_ACCOUNT->"AWS_ACCOUNT"|AWS_SERVICE->"AWS_SERVICE"|Non_static_ids->sletof_string=function|"AWS_ACCOUNT"->AWS_ACCOUNT|"AWS_SERVICE"->AWS_SERVICE|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 PrincipalType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PrincipalType"j)letto_json=simple_to_jsonto_valueendmoduleTagKey=structtypenonrect=string[@@ocaml.doc"A string of length from 1 to 128 characters that specifies the key for a Tag. Tag keys must be unique for the Elasticsearch domain to which they are attached."]letcontext_="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_valueend[@@ocaml.doc"A string of length from 1 to 128 characters that specifies the key for a Tag. Tag keys must be unique for the Elasticsearch domain to which they are attached."]moduleTagValue=structtypenonrect=string[@@ocaml.doc"A string of length from 0 to 256 characters that specifies the value for a Tag. Tag values can be null and do not have to be unique in a tag set."]letcontext_="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_valueend[@@ocaml.doc"A string of length from 0 to 256 characters that specifies the value for a Tag. Tag values can be null and do not have to be unique in a tag set."]moduleDomainPackageStatus=structtypenonrect=|ASSOCIATING|ASSOCIATION_FAILED|ACTIVE|DISSOCIATING|DISSOCIATION_FAILED|Non_static_idofstringletmakei=iletto_string=function|ASSOCIATING->"ASSOCIATING"|ASSOCIATION_FAILED->"ASSOCIATION_FAILED"|ACTIVE->"ACTIVE"|DISSOCIATING->"DISSOCIATING"|DISSOCIATION_FAILED->"DISSOCIATION_FAILED"|Non_static_ids->sletof_string=function|"ASSOCIATING"->ASSOCIATING|"ASSOCIATION_FAILED"->ASSOCIATION_FAILED|"ACTIVE"->ACTIVE|"DISSOCIATING"->DISSOCIATING|"DISSOCIATION_FAILED"->DISSOCIATION_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 DomainPackageStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DomainPackageStatus"j)letto_json=simple_to_jsonto_valueendmoduleErrorDetails=structtypenonrect={errorType:ErrorType.toption;errorMessage:ErrorMessage.toption}letmake?errorType=fun?errorMessage->fun()->{errorType;errorMessage}letto_valuex=structure_to_value[("ErrorType",(Option.mapx.errorType~f:ErrorType.to_value));("ErrorMessage",(Option.mapx.errorMessage~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"ErrorMessage")inleterrorType=(Option.map~f:ErrorType.of_xml)(Xml.childxml_arg0"ErrorType")inmake?errorMessage?errorType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"ErrorMessage"ErrorMessage.of_jsoninleterrorType=field_mapjson__"ErrorType"ErrorType.of_jsoninmake?errorMessage?errorType()letto_jsonv=composed_to_jsonto_valuevendmodulePackageID=structtypenonrect=stringletcontext_="PackageID"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:"PackageID"jletto_json=simple_to_jsonto_valueendmodulePackageName=structtypenonrect=stringletcontext_="PackageName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:28)>>=(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:"PackageName"jletto_json=simple_to_jsonto_valueendmodulePackageType=structtypenonrect=|TXT_DICTIONARY|Non_static_idofstringletmakei=iletto_string=function|TXT_DICTIONARY->"TXT-DICTIONARY"|Non_static_ids->sletof_string=function|"TXT-DICTIONARY"->TXT_DICTIONARY|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 PackageType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PackageType"j)letto_json=simple_to_jsonto_valueendmodulePackageVersion=structtypenonrect=stringletcontext_="PackageVersion"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:"PackageVersion"jletto_json=simple_to_jsonto_valueendmoduleReferencePath=structtypenonrect=stringletcontext_="ReferencePath"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:"ReferencePath"jletto_json=simple_to_jsonto_valueendmoduleEngineType=structtypenonrect=|OpenSearch|Elasticsearch|Non_static_idofstringletmakei=iletto_string=function|OpenSearch->"OpenSearch"|Elasticsearch->"Elasticsearch"|Non_static_ids->sletof_string=function|"OpenSearch"->OpenSearch|"Elasticsearch"->Elasticsearch|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 EngineType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EngineType"j)letto_json=simple_to_jsonto_valueendmoduleStartTimestamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleUpgradeName=structtypenonrect=stringletcontext_="UpgradeName"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:"UpgradeName"jletto_json=simple_to_jsonto_valueendmoduleUpgradeStepsList=structtypenonrect=UpgradeStepItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:UpgradeStepItem.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:UpgradeStepItem.of_xml)letof_jsonj=list_of_json~kind:"UpgradeStepsList"~of_json:UpgradeStepItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCommitMessage=structtypenonrect=stringletcontext_="CommitMessage"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:160);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CommitMessage"jletto_json=simple_to_jsonto_valueendmoduleCreatedAt=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleElasticsearchVersionList=structtypenonrect=ElasticsearchVersionString.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ElasticsearchVersionString.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:ElasticsearchVersionString.of_xml)letof_jsonj=list_of_json~kind:"ElasticsearchVersionList"~of_json:ElasticsearchVersionString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVpcEndpointErrorCode=structtypenonrect=|ENDPOINT_NOT_FOUND|SERVER_ERROR|Non_static_idofstringletmakei=iletto_string=function|ENDPOINT_NOT_FOUND->"ENDPOINT_NOT_FOUND"|SERVER_ERROR->"SERVER_ERROR"|Non_static_ids->sletof_string=function|"ENDPOINT_NOT_FOUND"->ENDPOINT_NOT_FOUND|"SERVER_ERROR"->SERVER_ERROR|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 VpcEndpointErrorCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VpcEndpointErrorCode"j)letto_json=simple_to_jsonto_valueendmoduleAWSAccount=structtypenonrect=stringletcontext_="AWSAccount"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"^[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:"AWSAccount"jletto_json=simple_to_jsonto_valueendmoduleEndpoint=structtypenonrect=stringletcontext_="Endpoint"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"^[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:"Endpoint"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_valueendmoduleRecurringChargeList=structtypenonrect=RecurringCharge.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RecurringCharge.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:RecurringCharge.of_xml)letof_jsonj=list_of_json~kind:"RecurringChargeList"~of_json:RecurringCharge.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleReservationToken=structtypenonrect=stringletcontext_="ReservationToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:64)>>=(fun()->check_string_mini~min:5));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ReservationToken"jletto_json=simple_to_jsonto_valueendmoduleReservedElasticsearchInstancePaymentOption=structtypenonrect=|ALL_UPFRONT|PARTIAL_UPFRONT|NO_UPFRONT|Non_static_idofstringletmakei=iletto_string=function|ALL_UPFRONT->"ALL_UPFRONT"|PARTIAL_UPFRONT->"PARTIAL_UPFRONT"|NO_UPFRONT->"NO_UPFRONT"|Non_static_ids->sletof_string=function|"ALL_UPFRONT"->ALL_UPFRONT|"PARTIAL_UPFRONT"->PARTIAL_UPFRONT|"NO_UPFRONT"->NO_UPFRONT|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 ReservedElasticsearchInstancePaymentOption"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ReservedElasticsearchInstancePaymentOption"j)letto_json=simple_to_jsonto_valueendmodulePackageDescription=structtypenonrect=stringletcontext_="PackageDescription"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:1024);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PackageDescription"jletto_json=simple_to_jsonto_valueendmodulePackageStatus=structtypenonrect=|COPYING|COPY_FAILED|VALIDATING|VALIDATION_FAILED|AVAILABLE|DELETING|DELETED|DELETE_FAILED|Non_static_idofstringletmakei=iletto_string=function|COPYING->"COPYING"|COPY_FAILED->"COPY_FAILED"|VALIDATING->"VALIDATING"|VALIDATION_FAILED->"VALIDATION_FAILED"|AVAILABLE->"AVAILABLE"|DELETING->"DELETING"|DELETED->"DELETED"|DELETE_FAILED->"DELETE_FAILED"|Non_static_ids->sletof_string=function|"COPYING"->COPYING|"COPY_FAILED"->COPY_FAILED|"VALIDATING"->VALIDATING|"VALIDATION_FAILED"->VALIDATION_FAILED|"AVAILABLE"->AVAILABLE|"DELETING"->DELETING|"DELETED"->DELETED|"DELETE_FAILED"->DELETE_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 PackageStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PackageStatus"j)letto_json=simple_to_jsonto_valueendmoduleDescribePackagesFilterName=structtypenonrect=|PackageID|PackageName|PackageStatus|Non_static_idofstringletmakei=iletto_string=function|PackageID->"PackageID"|PackageName->"PackageName"|PackageStatus->"PackageStatus"|Non_static_ids->sletof_string=function|"PackageID"->PackageID|"PackageName"->PackageName|"PackageStatus"->PackageStatus|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 DescribePackagesFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DescribePackagesFilterName"j)letto_json=simple_to_jsonto_valueendmoduleDescribePackagesFilterValues=structtypenonrect=DescribePackagesFilterValue.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:DescribePackagesFilterValue.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:DescribePackagesFilterValue.of_xml)letof_jsonj=list_of_json~kind:"DescribePackagesFilterValues"~of_json:DescribePackagesFilterValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleConnectionAlias=structtypenonrect=stringletcontext_="ConnectionAlias"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:20);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ConnectionAlias"jletto_json=simple_to_jsonto_valueendmoduleCrossClusterSearchConnectionId=structtypenonrect=stringletcontext_="CrossClusterSearchConnectionId"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:"CrossClusterSearchConnectionId"jletto_json=simple_to_jsonto_valueendmoduleDomainInformation=structtypenonrect={ownerId:OwnerId.toption;domainName:DomainName.t;region:Region.toption}letcontext_="DomainInformation"letmake?ownerId=fun?region->fun~domainName->fun()->{ownerId;region;domainName}letto_valuex=structure_to_value[("OwnerId",(Option.mapx.ownerId~f:OwnerId.to_value));("DomainName",(Some(DomainName.to_valuex.domainName)));("Region",(Option.mapx.region~f:Region.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregion=(Option.map~f:Region.of_xml)(Xml.childxml_arg0"Region")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inletownerId=(Option.map~f:OwnerId.of_xml)(Xml.childxml_arg0"OwnerId")inmake?region~domainName?ownerId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregion=field_mapjson__"Region"Region.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninletownerId=field_mapjson__"OwnerId"OwnerId.of_jsoninmake?region~domainName?ownerId()letto_jsonv=composed_to_jsonto_valuevendmoduleOutboundCrossClusterSearchConnectionStatus=structtypenonrect={statusCode:OutboundCrossClusterSearchConnectionStatusCode.toption[@ocaml.doc"The state code for outbound connection. This can be one of the following: VALIDATING: The outbound connection request is being validated. VALIDATION_FAILED: Validation failed for the connection request. PENDING_ACCEPTANCE: Outbound connection request is validated and is not yet accepted by destination domain owner. PROVISIONING: Outbound connection request is in process. ACTIVE: Outbound connection is active and ready to use. REJECTED: Outbound connection request is rejected by destination domain owner. DELETING: Outbound connection deletion is in progress. DELETED: Outbound connection is deleted and cannot be used further."];message:CrossClusterSearchConnectionStatusMessage.toption[@ocaml.doc"Specifies verbose information for the outbound connection status."]}letmake?statusCode=fun?message->fun()->{statusCode;message}letto_valuex=structure_to_value[("StatusCode",(Option.mapx.statusCode~f:OutboundCrossClusterSearchConnectionStatusCode.to_value));("Message",(Option.mapx.message~f:CrossClusterSearchConnectionStatusMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:CrossClusterSearchConnectionStatusMessage.of_xml)(Xml.childxml_arg0"Message")inletstatusCode=(Option.map~f:OutboundCrossClusterSearchConnectionStatusCode.of_xml)(Xml.childxml_arg0"StatusCode")inmake?message?statusCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"CrossClusterSearchConnectionStatusMessage.of_jsoninletstatusCode=field_mapjson__"StatusCode"OutboundCrossClusterSearchConnectionStatusCode.of_jsoninmake?message?statusCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the connection status of an outbound cross-cluster search connection."]moduleValueStringList=structtypenonrect=NonEmptyString.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:NonEmptyString.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:NonEmptyString.of_xml)letof_jsonj=list_of_json~kind:"ValueStringList"~of_json:NonEmptyString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInboundCrossClusterSearchConnectionStatus=structtypenonrect={statusCode:InboundCrossClusterSearchConnectionStatusCode.toption[@ocaml.doc"The state code for inbound connection. This can be one of the following: PENDING_ACCEPTANCE: Inbound connection is not yet accepted by destination domain owner. APPROVED: Inbound connection is pending acceptance by destination domain owner. REJECTING: Inbound connection rejection is in process. REJECTED: Inbound connection is rejected. DELETING: Inbound connection deletion is in progress. DELETED: Inbound connection is deleted and cannot be used further."];message:CrossClusterSearchConnectionStatusMessage.toption[@ocaml.doc"Specifies verbose information for the inbound connection status."]}letmake?statusCode=fun?message->fun()->{statusCode;message}letto_valuex=structure_to_value[("StatusCode",(Option.mapx.statusCode~f:InboundCrossClusterSearchConnectionStatusCode.to_value));("Message",(Option.mapx.message~f:CrossClusterSearchConnectionStatusMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:CrossClusterSearchConnectionStatusMessage.of_xml)(Xml.childxml_arg0"Message")inletstatusCode=(Option.map~f:InboundCrossClusterSearchConnectionStatusCode.of_xml)(Xml.childxml_arg0"StatusCode")inmake?message?statusCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"CrossClusterSearchConnectionStatusMessage.of_jsoninletstatusCode=field_mapjson__"StatusCode"InboundCrossClusterSearchConnectionStatusCode.of_jsoninmake?message?statusCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the coonection status of an inbound cross-cluster search connection."]moduleAdditionalLimitList=structtypenonrect=AdditionalLimit.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AdditionalLimit.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:AdditionalLimit.of_xml)letof_jsonj=list_of_json~kind:"AdditionalLimitList"~of_json:AdditionalLimit.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInstanceLimits=structtypenonrect={instanceCountLimits:InstanceCountLimits.toption}letmake?instanceCountLimits=fun()->{instanceCountLimits}letto_valuex=structure_to_value[("InstanceCountLimits",(Option.mapx.instanceCountLimits~f:InstanceCountLimits.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinstanceCountLimits=(Option.map~f:InstanceCountLimits.of_xml)(Xml.childxml_arg0"InstanceCountLimits")inmake?instanceCountLimits()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinstanceCountLimits=field_mapjson__"InstanceCountLimits"InstanceCountLimits.of_jsoninmake?instanceCountLimits()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"InstanceLimits represents the list of instance related attributes that are available for given InstanceType."]moduleStorageTypeList=structtypenonrect=StorageType.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:StorageType.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:StorageType.of_xml)letof_jsonj=list_of_json~kind:"StorageTypeList"~of_json:StorageType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAutoTuneOptionsOutput=structtypenonrect={state:AutoTuneState.toption[@ocaml.doc"Specifies the AutoTuneState for the Elasticsearch domain."];errorMessage:String_.toption[@ocaml.doc"Specifies the error message while enabling or disabling the Auto-Tune."]}letmake?state=fun?errorMessage->fun()->{state;errorMessage}letto_valuex=structure_to_value[("State",(Option.mapx.state~f:AutoTuneState.to_value));("ErrorMessage",(Option.mapx.errorMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorMessage")inletstate=(Option.map~f:AutoTuneState.of_xml)(Xml.childxml_arg0"State")inmake?errorMessage?state()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"ErrorMessage"String_.of_jsoninletstate=field_mapjson__"State"AutoTuneState.of_jsoninmake?errorMessage?state()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules."]moduleChangeProgressDetails=structtypenonrect={changeId:GUID.toption[@ocaml.doc"The unique change identifier associated with a specific domain configuration change."];message:Message.toption[@ocaml.doc"Contains an optional message associated with the domain configuration change."];configChangeStatus:ConfigChangeStatus.toption[@ocaml.doc"The current status of the configuration change."];startTime:UpdateTimestamp.toption[@ocaml.doc"The time that the configuration change was initiated, in Universal Coordinated Time (UTC)."];lastUpdatedTime:UpdateTimestamp.toption[@ocaml.doc"The last time that the configuration change was updated."];initiatedBy:InitiatedBy.toption[@ocaml.doc"The IAM principal who initiated the configuration change."]}letmake?changeId=fun?message->fun?configChangeStatus->fun?startTime->fun?lastUpdatedTime->fun?initiatedBy->fun()->{changeId;message;configChangeStatus;startTime;lastUpdatedTime;initiatedBy}letto_valuex=structure_to_value[("ChangeId",(Option.mapx.changeId~f:GUID.to_value));("Message",(Option.mapx.message~f:Message.to_value));("ConfigChangeStatus",(Option.mapx.configChangeStatus~f:ConfigChangeStatus.to_value));("StartTime",(Option.mapx.startTime~f:UpdateTimestamp.to_value));("LastUpdatedTime",(Option.mapx.lastUpdatedTime~f:UpdateTimestamp.to_value));("InitiatedBy",(Option.mapx.initiatedBy~f:InitiatedBy.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinitiatedBy=(Option.map~f:InitiatedBy.of_xml)(Xml.childxml_arg0"InitiatedBy")inletlastUpdatedTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"LastUpdatedTime")inletstartTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"StartTime")inletconfigChangeStatus=(Option.map~f:ConfigChangeStatus.of_xml)(Xml.childxml_arg0"ConfigChangeStatus")inletmessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"Message")inletchangeId=(Option.map~f:GUID.of_xml)(Xml.childxml_arg0"ChangeId")inmake?initiatedBy?lastUpdatedTime?startTime?configChangeStatus?message?changeId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinitiatedBy=field_mapjson__"InitiatedBy"InitiatedBy.of_jsoninletlastUpdatedTime=field_mapjson__"LastUpdatedTime"UpdateTimestamp.of_jsoninletstartTime=field_mapjson__"StartTime"UpdateTimestamp.of_jsoninletconfigChangeStatus=field_mapjson__"ConfigChangeStatus"ConfigChangeStatus.of_jsoninletmessage=field_mapjson__"Message"Message.of_jsoninletchangeId=field_mapjson__"ChangeId"GUID.of_jsoninmake?initiatedBy?lastUpdatedTime?startTime?configChangeStatus?message?changeId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies change details of the domain configuration change."]moduleDomainId=structtypenonrect=string[@@ocaml.doc"Unique identifier for an Elasticsearch domain."]letcontext_="DomainId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:64)>>=(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:"DomainId"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Unique identifier for an Elasticsearch domain."]moduleDomainProcessingStatusType=structtypenonrect=|Creating|Active|Modifying|UpgradingEngineVersion|UpdatingServiceSoftware|Isolated|Deleting|Non_static_idofstringletmakei=iletto_string=function|Creating->"Creating"|Active->"Active"|Modifying->"Modifying"|UpgradingEngineVersion->"UpgradingEngineVersion"|UpdatingServiceSoftware->"UpdatingServiceSoftware"|Isolated->"Isolated"|Deleting->"Deleting"|Non_static_ids->sletof_string=function|"Creating"->Creating|"Active"->Active|"Modifying"->Modifying|"UpgradingEngineVersion"->UpgradingEngineVersion|"UpdatingServiceSoftware"->UpdatingServiceSoftware|"Isolated"->Isolated|"Deleting"->Deleting|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 DomainProcessingStatusType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DomainProcessingStatusType"j)letto_json=simple_to_jsonto_valueendmoduleEndpointsMap=structtypenonrect=(String_.t*ServiceUrl.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(ServiceUrl.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(ServiceUrl.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:ServiceUrl.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleModifyingPropertiesList=structtypenonrect=ModifyingProperties.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ModifyingProperties.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:ModifyingProperties.of_xml)letof_jsonj=list_of_json~kind:"ModifyingPropertiesList"~of_json:ModifyingProperties.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceSoftwareOptions=structtypenonrect={currentVersion:String_.toption[@ocaml.doc"The current service software version that is present on the domain."];newVersion:String_.toption[@ocaml.doc"The new service software version if one is available."];updateAvailable:Boolean.toption[@ocaml.doc"True if you are able to update you service software version. False if you are not able to update your service software version."];cancellable:Boolean.toption[@ocaml.doc"True if you are able to cancel your service software version update. False if you are not able to cancel your service software version."];updateStatus:DeploymentStatus.toption[@ocaml.doc"The status of your service software update. This field can take the following values: ELIGIBLE, PENDING_UPDATE, IN_PROGRESS, COMPLETED, and NOT_ELIGIBLE."];description:String_.toption[@ocaml.doc"The description of the UpdateStatus."];automatedUpdateDate:DeploymentCloseDateTimeStamp.toption[@ocaml.doc"Timestamp, in Epoch time, until which you can manually request a service software update. After this date, we automatically update your service software."];optionalDeployment:Boolean.toption[@ocaml.doc"True if a service software is never automatically updated. False if a service software is automatically updated after AutomatedUpdateDate."]}letmake?currentVersion=fun?newVersion->fun?updateAvailable->fun?cancellable->fun?updateStatus->fun?description->fun?automatedUpdateDate->fun?optionalDeployment->fun()->{currentVersion;newVersion;updateAvailable;cancellable;updateStatus;description;automatedUpdateDate;optionalDeployment}letto_valuex=structure_to_value[("CurrentVersion",(Option.mapx.currentVersion~f:String_.to_value));("NewVersion",(Option.mapx.newVersion~f:String_.to_value));("UpdateAvailable",(Option.mapx.updateAvailable~f:Boolean.to_value));("Cancellable",(Option.mapx.cancellable~f:Boolean.to_value));("UpdateStatus",(Option.mapx.updateStatus~f:DeploymentStatus.to_value));("Description",(Option.mapx.description~f:String_.to_value));("AutomatedUpdateDate",(Option.mapx.automatedUpdateDate~f:DeploymentCloseDateTimeStamp.to_value));("OptionalDeployment",(Option.mapx.optionalDeployment~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoptionalDeployment=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"OptionalDeployment")inletautomatedUpdateDate=(Option.map~f:DeploymentCloseDateTimeStamp.of_xml)(Xml.childxml_arg0"AutomatedUpdateDate")inletdescription=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Description")inletupdateStatus=(Option.map~f:DeploymentStatus.of_xml)(Xml.childxml_arg0"UpdateStatus")inletcancellable=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Cancellable")inletupdateAvailable=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"UpdateAvailable")inletnewVersion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"NewVersion")inletcurrentVersion=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"CurrentVersion")inmake?optionalDeployment?automatedUpdateDate?description?updateStatus?cancellable?updateAvailable?newVersion?currentVersion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoptionalDeployment=field_mapjson__"OptionalDeployment"Boolean.of_jsoninletautomatedUpdateDate=field_mapjson__"AutomatedUpdateDate"DeploymentCloseDateTimeStamp.of_jsoninletdescription=field_mapjson__"Description"String_.of_jsoninletupdateStatus=field_mapjson__"UpdateStatus"DeploymentStatus.of_jsoninletcancellable=field_mapjson__"Cancellable"Boolean.of_jsoninletupdateAvailable=field_mapjson__"UpdateAvailable"Boolean.of_jsoninletnewVersion=field_mapjson__"NewVersion"String_.of_jsoninletcurrentVersion=field_mapjson__"CurrentVersion"String_.of_jsoninmake?optionalDeployment?automatedUpdateDate?description?updateStatus?cancellable?updateAvailable?newVersion?currentVersion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The current options of an Elasticsearch domain service software options."]moduleChangeProgressStage=structtypenonrect={name:ChangeProgressStageName.toption[@ocaml.doc"The name of the specific progress stage."];status:ChangeProgressStageStatus.toption[@ocaml.doc"The overall status of a specific progress stage."];description:Description.toption[@ocaml.doc"The description of the progress stage."];lastUpdated:LastUpdated.toption[@ocaml.doc"The last updated timestamp of the progress stage."]}letmake?name=fun?status->fun?description->fun?lastUpdated->fun()->{name;status;description;lastUpdated}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:ChangeProgressStageName.to_value));("Status",(Option.mapx.status~f:ChangeProgressStageStatus.to_value));("Description",(Option.mapx.description~f:Description.to_value));("LastUpdated",(Option.mapx.lastUpdated~f:LastUpdated.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdated=(Option.map~f:LastUpdated.of_xml)(Xml.childxml_arg0"LastUpdated")inletdescription=(Option.map~f:Description.of_xml)(Xml.childxml_arg0"Description")inletstatus=(Option.map~f:ChangeProgressStageStatus.of_xml)(Xml.childxml_arg0"Status")inletname=(Option.map~f:ChangeProgressStageName.of_xml)(Xml.childxml_arg0"Name")inmake?lastUpdated?description?status?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdated=field_mapjson__"LastUpdated"LastUpdated.of_jsoninletdescription=field_mapjson__"Description"Description.of_jsoninletstatus=field_mapjson__"Status"ChangeProgressStageStatus.of_jsoninletname=field_mapjson__"Name"ChangeProgressStageName.of_jsoninmake?lastUpdated?description?status?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A progress stage details of a specific domain configuration change."]moduleAutoTuneDetails=structtypenonrect={scheduledAutoTuneDetails:ScheduledAutoTuneDetails.toption}letmake?scheduledAutoTuneDetails=fun()->{scheduledAutoTuneDetails}letto_valuex=structure_to_value[("ScheduledAutoTuneDetails",(Option.mapx.scheduledAutoTuneDetails~f:ScheduledAutoTuneDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letscheduledAutoTuneDetails=(Option.map~f:ScheduledAutoTuneDetails.of_xml)(Xml.childxml_arg0"ScheduledAutoTuneDetails")inmake?scheduledAutoTuneDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letscheduledAutoTuneDetails=field_mapjson__"ScheduledAutoTuneDetails"ScheduledAutoTuneDetails.of_jsoninmake?scheduledAutoTuneDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies details of the Auto-Tune action. See the Developer Guide for more information."]moduleAutoTuneType=structtypenonrect=|SCHEDULED_ACTION|Non_static_idofstringletmakei=iletto_string=function|SCHEDULED_ACTION->"SCHEDULED_ACTION"|Non_static_ids->sletof_string=function|"SCHEDULED_ACTION"->SCHEDULED_ACTION|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 AutoTuneType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AutoTuneType"j)letto_json=simple_to_jsonto_valueendmoduleS3BucketName=structtypenonrect=stringletcontext_="S3BucketName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:63)>>=(fun()->check_string_mini~min: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:"S3BucketName"jletto_json=simple_to_jsonto_valueendmoduleS3Key=structtypenonrect=stringletcontext_="S3Key"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:"S3Key"jletto_json=simple_to_jsonto_valueendmoduleDeploymentType=structtypenonrect=stringletcontext_="DeploymentType"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_string_mini~min:2));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DeploymentType"jletto_json=simple_to_jsonto_valueendmoduleAccessPoliciesStatus=structtypenonrect={options:PolicyDocument.toption[@ocaml.doc"The access policy configured for the Elasticsearch domain. Access policies may be resource-based, IP-based, or IAM-based. See Configuring Access Policiesfor more information."];status:OptionStatus.toption[@ocaml.doc"The status of the access policy for the Elasticsearch domain. See OptionStatus for the status information that's included."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:PolicyDocument.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"PolicyDocument.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The configured access rules for the domain's document and search endpoints, and the current status of those rules."]moduleAdvancedOptionsStatus=structtypenonrect={options:AdvancedOptions.toption[@ocaml.doc"Specifies the status of advanced options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of OptionStatus for advanced options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:AdvancedOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:AdvancedOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"AdvancedOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Status of the advanced options for the specified Elasticsearch domain. Currently, the following advanced options are available: Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information. Option to specify the percentage of heap space that is allocated to field data. By default, this setting is unbounded. For more information, see Configuring Advanced Options."]moduleAdvancedSecurityOptionsStatus=structtypenonrect={options:AdvancedSecurityOptions.toption[@ocaml.doc"Specifies advanced security options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Status of the advanced security options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:AdvancedSecurityOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:AdvancedSecurityOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"AdvancedSecurityOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the status of advanced security options for the specified Elasticsearch domain."]moduleAutoTuneOptionsStatus=structtypenonrect={options:AutoTuneOptions.toption[@ocaml.doc"Specifies Auto-Tune options for the specified Elasticsearch domain."];status:AutoTuneStatus.toption[@ocaml.doc"Specifies Status of the Auto-Tune options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:AutoTuneOptions.to_value));("Status",(Option.mapx.status~f:AutoTuneStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:AutoTuneStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:AutoTuneOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"AutoTuneStatus.of_jsoninletoptions=field_mapjson__"Options"AutoTuneOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the status of Auto-Tune options for the specified Elasticsearch domain."]moduleAutomatedSnapshotPauseOptionsStatus=structtypenonrect={options:AutomatedSnapshotPauseOptions.toption[@ocaml.doc"Automated snapshot pause options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"The current status of the automated snapshot pause options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:AutomatedSnapshotPauseOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:AutomatedSnapshotPauseOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"AutomatedSnapshotPauseOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The status of automated snapshot pause options for the specified Elasticsearch domain."]moduleCognitoOptionsStatus=structtypenonrect={options:CognitoOptions.toption[@ocaml.doc"Specifies the Cognito options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of the Cognito options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:CognitoOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:CognitoOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"CognitoOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Status of the Cognito options for the specified Elasticsearch domain."]moduleDeploymentStrategyOptionsStatus=structtypenonrect={options:DeploymentStrategyOptions.toption[@ocaml.doc"Specifies deployment strategy options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of the deployment strategy options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:DeploymentStrategyOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:DeploymentStrategyOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"DeploymentStrategyOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the status of deployment strategy options for the specified Elasticsearch domain."]moduleDomainEndpointOptionsStatus=structtypenonrect={options:DomainEndpointOptions.toption[@ocaml.doc"Options to configure endpoint for the Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"The status of the endpoint options for the Elasticsearch domain. See OptionStatus for the status information that's included."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:DomainEndpointOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:DomainEndpointOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"DomainEndpointOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The configured endpoint options for the domain and their current status."]moduleEBSOptionsStatus=structtypenonrect={options:EBSOptions.toption[@ocaml.doc"Specifies the EBS options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of the EBS options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:EBSOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:EBSOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"EBSOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Status of the EBS options for the specified Elasticsearch domain."]moduleElasticsearchClusterConfigStatus=structtypenonrect={options:ElasticsearchClusterConfig.toption[@ocaml.doc"Specifies the cluster configuration for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of the configuration for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:ElasticsearchClusterConfig.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:ElasticsearchClusterConfig.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"ElasticsearchClusterConfig.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the configuration status for the specified Elasticsearch domain."]moduleElasticsearchVersionStatus=structtypenonrect={options:ElasticsearchVersionString.toption[@ocaml.doc"Specifies the Elasticsearch version for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of the Elasticsearch version options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:ElasticsearchVersionString.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:ElasticsearchVersionString.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"ElasticsearchVersionString.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Status of the Elasticsearch version options for the specified Elasticsearch domain."]moduleEncryptionAtRestOptionsStatus=structtypenonrect={options:EncryptionAtRestOptions.toption[@ocaml.doc"Specifies the Encryption At Rest options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of the Encryption At Rest options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:EncryptionAtRestOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:EncryptionAtRestOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"EncryptionAtRestOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Status of the Encryption At Rest options for the specified Elasticsearch domain."]moduleLogPublishingOptionsStatus=structtypenonrect={options:LogPublishingOptions.toption[@ocaml.doc"The log publishing options configured for the Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"The status of the log publishing options for the Elasticsearch domain. See OptionStatus for the status information that's included."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:LogPublishingOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:LogPublishingOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"LogPublishingOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The configured log publishing options for the domain and their current status."]moduleNodeToNodeEncryptionOptionsStatus=structtypenonrect={options:NodeToNodeEncryptionOptions.toption[@ocaml.doc"Specifies the node-to-node encryption options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of the node-to-node encryption options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:NodeToNodeEncryptionOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:NodeToNodeEncryptionOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"NodeToNodeEncryptionOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Status of the node-to-node encryption options for the specified Elasticsearch domain."]moduleSnapshotOptionsStatus=structtypenonrect={options:SnapshotOptions.toption[@ocaml.doc"Specifies the daily snapshot options specified for the Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of a daily automated snapshot."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:SnapshotOptions.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:SnapshotOptions.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"SnapshotOptions.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Status of a daily automated snapshot."]moduleVPCDerivedInfoStatus=structtypenonrect={options:VPCDerivedInfo.toption[@ocaml.doc"Specifies the VPC options for the specified Elasticsearch domain."];status:OptionStatus.toption[@ocaml.doc"Specifies the status of the VPC options for the specified Elasticsearch domain."]}letmake?options=fun?status->fun()->{options;status}letto_valuex=structure_to_value[("Options",(Option.mapx.options~f:VPCDerivedInfo.to_value));("Status",(Option.mapx.status~f:OptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:OptionStatus.of_xml)(Xml.childxml_arg0"Status")inletoptions=(Option.map~f:VPCDerivedInfo.of_xml)(Xml.childxml_arg0"Options")inmake?status?options()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"OptionStatus.of_jsoninletoptions=field_mapjson__"Options"VPCDerivedInfo.of_jsoninmake?status?options()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Status of the VPC options for the specified Elasticsearch domain."]moduleMasterUserOptions=structtypenonrect={masterUserARN:ARN.toption[@ocaml.doc"ARN for the master user (if IAM is enabled)."];masterUserName:Username.toption[@ocaml.doc"The master user's username, which is stored in the Amazon Elasticsearch Service domain's internal database."];masterUserPassword:Password.toption[@ocaml.doc"The master user's password, which is stored in the Amazon Elasticsearch Service domain's internal database."]}letmake?masterUserARN=fun?masterUserName->fun?masterUserPassword->fun()->{masterUserARN;masterUserName;masterUserPassword}letto_valuex=structure_to_value[("MasterUserARN",(Option.mapx.masterUserARN~f:ARN.to_value));("MasterUserName",(Option.mapx.masterUserName~f:Username.to_value));("MasterUserPassword",(Option.mapx.masterUserPassword~f:Password.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmasterUserPassword=(Option.map~f:Password.of_xml)(Xml.childxml_arg0"MasterUserPassword")inletmasterUserName=(Option.map~f:Username.of_xml)(Xml.childxml_arg0"MasterUserName")inletmasterUserARN=(Option.map~f:ARN.of_xml)(Xml.childxml_arg0"MasterUserARN")inmake?masterUserPassword?masterUserName?masterUserARN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmasterUserPassword=field_mapjson__"MasterUserPassword"Password.of_jsoninletmasterUserName=field_mapjson__"MasterUserName"Username.of_jsoninletmasterUserARN=field_mapjson__"MasterUserARN"ARN.of_jsoninmake?masterUserPassword?masterUserName?masterUserARN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Credentials for the master user: username and password, ARN, or both."]moduleSAMLOptionsInput=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"True if SAML is enabled."];idp:SAMLIdp.toption[@ocaml.doc"Specifies the SAML Identity Provider's information."];masterUserName:Username.toption[@ocaml.doc"The SAML master username, which is stored in the Amazon Elasticsearch Service domain's internal database."];masterBackendRole:BackendRole.toption[@ocaml.doc"The backend role to which the SAML master user is mapped to."];subjectKey:String_.toption[@ocaml.doc"The key to use for matching the SAML Subject attribute."];rolesKey:String_.toption[@ocaml.doc"The key to use for matching the SAML Roles attribute."];sessionTimeoutMinutes:IntegerClass.toption[@ocaml.doc"The duration, in minutes, after which a user session becomes inactive. Acceptable values are between 1 and 1440, and the default value is 60."]}letmake?enabled=fun?idp->fun?masterUserName->fun?masterBackendRole->fun?subjectKey->fun?rolesKey->fun?sessionTimeoutMinutes->fun()->{enabled;idp;masterUserName;masterBackendRole;subjectKey;rolesKey;sessionTimeoutMinutes}letto_valuex=structure_to_value[("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("Idp",(Option.mapx.idp~f:SAMLIdp.to_value));("MasterUserName",(Option.mapx.masterUserName~f:Username.to_value));("MasterBackendRole",(Option.mapx.masterBackendRole~f:BackendRole.to_value));("SubjectKey",(Option.mapx.subjectKey~f:String_.to_value));("RolesKey",(Option.mapx.rolesKey~f:String_.to_value));("SessionTimeoutMinutes",(Option.mapx.sessionTimeoutMinutes~f:IntegerClass.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsessionTimeoutMinutes=(Option.map~f:IntegerClass.of_xml)(Xml.childxml_arg0"SessionTimeoutMinutes")inletrolesKey=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"RolesKey")inletsubjectKey=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"SubjectKey")inletmasterBackendRole=(Option.map~f:BackendRole.of_xml)(Xml.childxml_arg0"MasterBackendRole")inletmasterUserName=(Option.map~f:Username.of_xml)(Xml.childxml_arg0"MasterUserName")inletidp=(Option.map~f:SAMLIdp.of_xml)(Xml.childxml_arg0"Idp")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inmake?sessionTimeoutMinutes?rolesKey?subjectKey?masterBackendRole?masterUserName?idp?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsessionTimeoutMinutes=field_mapjson__"SessionTimeoutMinutes"IntegerClass.of_jsoninletrolesKey=field_mapjson__"RolesKey"String_.of_jsoninletsubjectKey=field_mapjson__"SubjectKey"String_.of_jsoninletmasterBackendRole=field_mapjson__"MasterBackendRole"BackendRole.of_jsoninletmasterUserName=field_mapjson__"MasterUserName"Username.of_jsoninletidp=field_mapjson__"Idp"SAMLIdp.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninmake?sessionTimeoutMinutes?rolesKey?subjectKey?masterBackendRole?masterUserName?idp?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the SAML application configuration for the domain."]moduleVpcEndpointSummary=structtypenonrect={vpcEndpointId:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the endpoint."];vpcEndpointOwner:String_.toption[@ocaml.doc"The creator of the endpoint."];domainArn:DomainArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the domain associated with the endpoint."];status:VpcEndpointStatus.toption[@ocaml.doc"The current status of the endpoint."]}letmake?vpcEndpointId=fun?vpcEndpointOwner->fun?domainArn->fun?status->fun()->{vpcEndpointId;vpcEndpointOwner;domainArn;status}letto_valuex=structure_to_value[("VpcEndpointId",(Option.mapx.vpcEndpointId~f:VpcEndpointId.to_value));("VpcEndpointOwner",(Option.mapx.vpcEndpointOwner~f:String_.to_value));("DomainArn",(Option.mapx.domainArn~f:DomainArn.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")inletdomainArn=(Option.map~f:DomainArn.of_xml)(Xml.childxml_arg0"DomainArn")inletvpcEndpointOwner=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"VpcEndpointOwner")inletvpcEndpointId=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"VpcEndpointId")inmake?status?domainArn?vpcEndpointOwner?vpcEndpointId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"VpcEndpointStatus.of_jsoninletdomainArn=field_mapjson__"DomainArn"DomainArn.of_jsoninletvpcEndpointOwner=field_mapjson__"VpcEndpointOwner"String_.of_jsoninletvpcEndpointId=field_mapjson__"VpcEndpointId"VpcEndpointId.of_jsoninmake?status?domainArn?vpcEndpointOwner?vpcEndpointId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information for an Amazon OpenSearch Service-managed VPC endpoint."]moduleAuthorizedPrincipal=structtypenonrect={principalType:PrincipalType.toption[@ocaml.doc"The type of principal."];principal:String_.toption[@ocaml.doc"The IAM principal that is allowed access to the domain."]}letmake?principalType=fun?principal->fun()->{principalType;principal}letto_valuex=structure_to_value[("PrincipalType",(Option.mapx.principalType~f:PrincipalType.to_value));("Principal",(Option.mapx.principal~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprincipal=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Principal")inletprincipalType=(Option.map~f:PrincipalType.of_xml)(Xml.childxml_arg0"PrincipalType")inmake?principal?principalType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprincipal=field_mapjson__"Principal"String_.of_jsoninletprincipalType=field_mapjson__"PrincipalType"PrincipalType.of_jsoninmake?principal?principalType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about an account or service that has access to an Amazon OpenSearch Service domain through the use of an interface VPC endpoint."]moduleTag=structtypenonrect={key:TagKey.t[@ocaml.doc"Specifies the TagKey, the name of the tag. Tag keys must be unique for the Elasticsearch domain to which they are attached."];value:TagValue.t[@ocaml.doc"Specifies the TagValue, the value assigned to the corresponding tag key. Tag values can be null and do not have to be unique in a tag set. For example, you can have a key value pair in a tag set of project : Trinity and cost-center : Trinity"]}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"Specifies a key value pair for a resource tag."]moduleDomainPackageDetails=structtypenonrect={packageID:PackageID.toption[@ocaml.doc"Internal ID of the package."];packageName:PackageName.toption[@ocaml.doc"User specified name of the package."];packageType:PackageType.toption[@ocaml.doc"Currently supports only TXT-DICTIONARY."];lastUpdated:LastUpdated.toption[@ocaml.doc"Timestamp of the most-recent update to the association status."];domainName:DomainName.toption[@ocaml.doc"Name of the domain you've associated a package with."];domainPackageStatus:DomainPackageStatus.toption[@ocaml.doc"State of the association. Values are ASSOCIATING/ASSOCIATION_FAILED/ACTIVE/DISSOCIATING/DISSOCIATION_FAILED."];packageVersion:PackageVersion.toption;referencePath:ReferencePath.toption[@ocaml.doc"The relative path on Amazon ES nodes, which can be used as synonym_path when the package is synonym file."];errorDetails:ErrorDetails.toption[@ocaml.doc"Additional information if the package is in an error state. Null otherwise."]}letmake?packageID=fun?packageName->fun?packageType->fun?lastUpdated->fun?domainName->fun?domainPackageStatus->fun?packageVersion->fun?referencePath->fun?errorDetails->fun()->{packageID;packageName;packageType;lastUpdated;domainName;domainPackageStatus;packageVersion;referencePath;errorDetails}letto_valuex=structure_to_value[("PackageID",(Option.mapx.packageID~f:PackageID.to_value));("PackageName",(Option.mapx.packageName~f:PackageName.to_value));("PackageType",(Option.mapx.packageType~f:PackageType.to_value));("LastUpdated",(Option.mapx.lastUpdated~f:LastUpdated.to_value));("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("DomainPackageStatus",(Option.mapx.domainPackageStatus~f:DomainPackageStatus.to_value));("PackageVersion",(Option.mapx.packageVersion~f:PackageVersion.to_value));("ReferencePath",(Option.mapx.referencePath~f:ReferencePath.to_value));("ErrorDetails",(Option.mapx.errorDetails~f:ErrorDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorDetails=(Option.map~f:ErrorDetails.of_xml)(Xml.childxml_arg0"ErrorDetails")inletreferencePath=(Option.map~f:ReferencePath.of_xml)(Xml.childxml_arg0"ReferencePath")inletpackageVersion=(Option.map~f:PackageVersion.of_xml)(Xml.childxml_arg0"PackageVersion")inletdomainPackageStatus=(Option.map~f:DomainPackageStatus.of_xml)(Xml.childxml_arg0"DomainPackageStatus")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inletlastUpdated=(Option.map~f:LastUpdated.of_xml)(Xml.childxml_arg0"LastUpdated")inletpackageType=(Option.map~f:PackageType.of_xml)(Xml.childxml_arg0"PackageType")inletpackageName=(Option.map~f:PackageName.of_xml)(Xml.childxml_arg0"PackageName")inletpackageID=(Option.map~f:PackageID.of_xml)(Xml.childxml_arg0"PackageID")inmake?errorDetails?referencePath?packageVersion?domainPackageStatus?domainName?lastUpdated?packageType?packageName?packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorDetails=field_mapjson__"ErrorDetails"ErrorDetails.of_jsoninletreferencePath=field_mapjson__"ReferencePath"ReferencePath.of_jsoninletpackageVersion=field_mapjson__"PackageVersion"PackageVersion.of_jsoninletdomainPackageStatus=field_mapjson__"DomainPackageStatus"DomainPackageStatus.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninletlastUpdated=field_mapjson__"LastUpdated"LastUpdated.of_jsoninletpackageType=field_mapjson__"PackageType"PackageType.of_jsoninletpackageName=field_mapjson__"PackageName"PackageName.of_jsoninletpackageID=field_mapjson__"PackageID"PackageID.of_jsoninmake?errorDetails?referencePath?packageVersion?domainPackageStatus?domainName?lastUpdated?packageType?packageName?packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information on a package that is associated with a domain."]moduleDomainInfo=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"Specifies the DomainName."];engineType:EngineType.toption[@ocaml.doc"Specifies the EngineType of the domain."]}letmake?domainName=fun?engineType->fun()->{domainName;engineType}letto_valuex=structure_to_value[("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("EngineType",(Option.mapx.engineType~f:EngineType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letengineType=(Option.map~f:EngineType.of_xml)(Xml.childxml_arg0"EngineType")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inmake?engineType?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letengineType=field_mapjson__"EngineType"EngineType.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninmake?engineType?domainName()letto_jsonv=composed_to_jsonto_valuevendmoduleUpgradeHistory=structtypenonrect={upgradeName:UpgradeName.toption[@ocaml.doc"A string that describes the update briefly"];startTimestamp:StartTimestamp.toption[@ocaml.doc"UTC Timestamp at which the Upgrade API call was made in \"yyyy-MM-ddTHH:mm:ssZ\" format."];upgradeStatus:UpgradeStatus.toption[@ocaml.doc"The overall status of the update. The status can take one of the following values: In Progress Succeeded Succeeded with Issues Failed"];stepsList:UpgradeStepsList.toption[@ocaml.doc"A list of UpgradeStepItem s representing information about each step performed as pard of a specific Upgrade or Upgrade Eligibility Check."]}letmake?upgradeName=fun?startTimestamp->fun?upgradeStatus->fun?stepsList->fun()->{upgradeName;startTimestamp;upgradeStatus;stepsList}letto_valuex=structure_to_value[("UpgradeName",(Option.mapx.upgradeName~f:UpgradeName.to_value));("StartTimestamp",(Option.mapx.startTimestamp~f:StartTimestamp.to_value));("UpgradeStatus",(Option.mapx.upgradeStatus~f:UpgradeStatus.to_value));("StepsList",(Option.mapx.stepsList~f:UpgradeStepsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstepsList=(Option.map~f:UpgradeStepsList.of_xml)(Xml.childxml_arg0"StepsList")inletupgradeStatus=(Option.map~f:UpgradeStatus.of_xml)(Xml.childxml_arg0"UpgradeStatus")inletstartTimestamp=(Option.map~f:StartTimestamp.of_xml)(Xml.childxml_arg0"StartTimestamp")inletupgradeName=(Option.map~f:UpgradeName.of_xml)(Xml.childxml_arg0"UpgradeName")inmake?stepsList?upgradeStatus?startTimestamp?upgradeName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstepsList=field_mapjson__"StepsList"UpgradeStepsList.of_jsoninletupgradeStatus=field_mapjson__"UpgradeStatus"UpgradeStatus.of_jsoninletstartTimestamp=field_mapjson__"StartTimestamp"StartTimestamp.of_jsoninletupgradeName=field_mapjson__"UpgradeName"UpgradeName.of_jsoninmake?stepsList?upgradeStatus?startTimestamp?upgradeName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"History of the last 10 Upgrades and Upgrade Eligibility Checks."]modulePackageVersionHistory=structtypenonrect={packageVersion:PackageVersion.toption[@ocaml.doc"Version of the package."];commitMessage:CommitMessage.toption[@ocaml.doc"A message associated with the version."];createdAt:CreatedAt.toption[@ocaml.doc"Timestamp which tells creation time of the package version."]}letmake?packageVersion=fun?commitMessage->fun?createdAt->fun()->{packageVersion;commitMessage;createdAt}letto_valuex=structure_to_value[("PackageVersion",(Option.mapx.packageVersion~f:PackageVersion.to_value));("CommitMessage",(Option.mapx.commitMessage~f:CommitMessage.to_value));("CreatedAt",(Option.mapx.createdAt~f:CreatedAt.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedAt=(Option.map~f:CreatedAt.of_xml)(Xml.childxml_arg0"CreatedAt")inletcommitMessage=(Option.map~f:CommitMessage.of_xml)(Xml.childxml_arg0"CommitMessage")inletpackageVersion=(Option.map~f:PackageVersion.of_xml)(Xml.childxml_arg0"PackageVersion")inmake?createdAt?commitMessage?packageVersion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedAt=field_mapjson__"CreatedAt"CreatedAt.of_jsoninletcommitMessage=field_mapjson__"CommitMessage"CommitMessage.of_jsoninletpackageVersion=field_mapjson__"PackageVersion"PackageVersion.of_jsoninmake?createdAt?commitMessage?packageVersion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details of a package version."]moduleCompatibleVersionsMap=structtypenonrect={sourceVersion:ElasticsearchVersionString.toption[@ocaml.doc"The current version of Elasticsearch on which a domain is."];targetVersions:ElasticsearchVersionList.toption}letmake?sourceVersion=fun?targetVersions->fun()->{sourceVersion;targetVersions}letto_valuex=structure_to_value[("SourceVersion",(Option.mapx.sourceVersion~f:ElasticsearchVersionString.to_value));("TargetVersions",(Option.mapx.targetVersions~f:ElasticsearchVersionList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargetVersions=(Option.map~f:ElasticsearchVersionList.of_xml)(Xml.childxml_arg0"TargetVersions")inletsourceVersion=(Option.map~f:ElasticsearchVersionString.of_xml)(Xml.childxml_arg0"SourceVersion")inmake?targetVersions?sourceVersion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargetVersions=field_mapjson__"TargetVersions"ElasticsearchVersionList.of_jsoninletsourceVersion=field_mapjson__"SourceVersion"ElasticsearchVersionString.of_jsoninmake?targetVersions?sourceVersion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A map from an ElasticsearchVersion to a list of compatible ElasticsearchVersion s to which the domain can be upgraded."]moduleVpcEndpointError=structtypenonrect={vpcEndpointId:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the endpoint."];errorCode:VpcEndpointErrorCode.toption[@ocaml.doc"The code associated with the error."];errorMessage:String_.toption[@ocaml.doc"A message describing the error."]}letmake?vpcEndpointId=fun?errorCode->fun?errorMessage->fun()->{vpcEndpointId;errorCode;errorMessage}letto_valuex=structure_to_value[("VpcEndpointId",(Option.mapx.vpcEndpointId~f:VpcEndpointId.to_value));("ErrorCode",(Option.mapx.errorCode~f:VpcEndpointErrorCode.to_value));("ErrorMessage",(Option.mapx.errorMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ErrorMessage")inleterrorCode=(Option.map~f:VpcEndpointErrorCode.of_xml)(Xml.childxml_arg0"ErrorCode")inletvpcEndpointId=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"VpcEndpointId")inmake?errorMessage?errorCode?vpcEndpointId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"ErrorMessage"String_.of_jsoninleterrorCode=field_mapjson__"ErrorCode"VpcEndpointErrorCode.of_jsoninletvpcEndpointId=field_mapjson__"VpcEndpointId"VpcEndpointId.of_jsoninmake?errorMessage?errorCode?vpcEndpointId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information when attempting to describe an Amazon OpenSearch Service-managed VPC endpoint."]moduleVpcEndpoint=structtypenonrect={vpcEndpointId:VpcEndpointId.toption[@ocaml.doc"The unique identifier of the endpoint."];vpcEndpointOwner:AWSAccount.toption[@ocaml.doc"The creator of the endpoint."];domainArn:DomainArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the domain associated with the endpoint."];vpcOptions:VPCDerivedInfo.toption[@ocaml.doc"Options to specify the subnets and security groups for an Amazon OpenSearch Service VPC endpoint."];status:VpcEndpointStatus.toption[@ocaml.doc"The current status of the endpoint."];endpoint:Endpoint.toption[@ocaml.doc"The connection endpoint ID for connecting to the domain."]}letmake?vpcEndpointId=fun?vpcEndpointOwner->fun?domainArn->fun?vpcOptions->fun?status->fun?endpoint->fun()->{vpcEndpointId;vpcEndpointOwner;domainArn;vpcOptions;status;endpoint}letto_valuex=structure_to_value[("VpcEndpointId",(Option.mapx.vpcEndpointId~f:VpcEndpointId.to_value));("VpcEndpointOwner",(Option.mapx.vpcEndpointOwner~f:AWSAccount.to_value));("DomainArn",(Option.mapx.domainArn~f:DomainArn.to_value));("VpcOptions",(Option.mapx.vpcOptions~f:VPCDerivedInfo.to_value));("Status",(Option.mapx.status~f:VpcEndpointStatus.to_value));("Endpoint",(Option.mapx.endpoint~f:Endpoint.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendpoint=(Option.map~f:Endpoint.of_xml)(Xml.childxml_arg0"Endpoint")inletstatus=(Option.map~f:VpcEndpointStatus.of_xml)(Xml.childxml_arg0"Status")inletvpcOptions=(Option.map~f:VPCDerivedInfo.of_xml)(Xml.childxml_arg0"VpcOptions")inletdomainArn=(Option.map~f:DomainArn.of_xml)(Xml.childxml_arg0"DomainArn")inletvpcEndpointOwner=(Option.map~f:AWSAccount.of_xml)(Xml.childxml_arg0"VpcEndpointOwner")inletvpcEndpointId=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"VpcEndpointId")inmake?endpoint?status?vpcOptions?domainArn?vpcEndpointOwner?vpcEndpointId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendpoint=field_mapjson__"Endpoint"Endpoint.of_jsoninletstatus=field_mapjson__"Status"VpcEndpointStatus.of_jsoninletvpcOptions=field_mapjson__"VpcOptions"VPCDerivedInfo.of_jsoninletdomainArn=field_mapjson__"DomainArn"DomainArn.of_jsoninletvpcEndpointOwner=field_mapjson__"VpcEndpointOwner"AWSAccount.of_jsoninletvpcEndpointId=field_mapjson__"VpcEndpointId"VpcEndpointId.of_jsoninmake?endpoint?status?vpcOptions?domainArn?vpcEndpointOwner?vpcEndpointId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The connection endpoint for connecting to an Amazon OpenSearch Service domain through a proxy."]moduleReservedElasticsearchInstance=structtypenonrect={reservationName:ReservationToken.toption[@ocaml.doc"The customer-specified identifier to track this reservation."];reservedElasticsearchInstanceId:GUID.toption[@ocaml.doc"The unique identifier for the reservation."];reservedElasticsearchInstanceOfferingId:String_.toption[@ocaml.doc"The offering identifier."];elasticsearchInstanceType:ESPartitionInstanceType.toption[@ocaml.doc"The Elasticsearch instance type offered by the reserved instance offering."];startTime:UpdateTimestamp.toption[@ocaml.doc"The time the reservation started."];duration:Integer.toption[@ocaml.doc"The duration, in seconds, for which the Elasticsearch instance is reserved."];fixedPrice:Double.toption[@ocaml.doc"The upfront fixed charge you will paid to purchase the specific reserved Elasticsearch instance offering."];usagePrice:Double.toption[@ocaml.doc"The rate you are charged for each hour for the domain that is using this reserved instance."];currencyCode:String_.toption[@ocaml.doc"The currency code for the reserved Elasticsearch instance offering."];elasticsearchInstanceCount:Integer.toption[@ocaml.doc"The number of Elasticsearch instances that have been reserved."];state:String_.toption[@ocaml.doc"The state of the reserved Elasticsearch instance."];paymentOption:ReservedElasticsearchInstancePaymentOption.toption[@ocaml.doc"The payment option as defined in the reserved Elasticsearch instance offering."];recurringCharges:RecurringChargeList.toption[@ocaml.doc"The charge to your account regardless of whether you are creating any domains using the instance offering."]}letmake?reservationName=fun?reservedElasticsearchInstanceId->fun?reservedElasticsearchInstanceOfferingId->fun?elasticsearchInstanceType->fun?startTime->fun?duration->fun?fixedPrice->fun?usagePrice->fun?currencyCode->fun?elasticsearchInstanceCount->fun?state->fun?paymentOption->fun?recurringCharges->fun()->{reservationName;reservedElasticsearchInstanceId;reservedElasticsearchInstanceOfferingId;elasticsearchInstanceType;startTime;duration;fixedPrice;usagePrice;currencyCode;elasticsearchInstanceCount;state;paymentOption;recurringCharges}letto_valuex=structure_to_value[("ReservationName",(Option.mapx.reservationName~f:ReservationToken.to_value));("ReservedElasticsearchInstanceId",(Option.mapx.reservedElasticsearchInstanceId~f:GUID.to_value));("ReservedElasticsearchInstanceOfferingId",(Option.mapx.reservedElasticsearchInstanceOfferingId~f:String_.to_value));("ElasticsearchInstanceType",(Option.mapx.elasticsearchInstanceType~f:ESPartitionInstanceType.to_value));("StartTime",(Option.mapx.startTime~f:UpdateTimestamp.to_value));("Duration",(Option.mapx.duration~f:Integer.to_value));("FixedPrice",(Option.mapx.fixedPrice~f:Double.to_value));("UsagePrice",(Option.mapx.usagePrice~f:Double.to_value));("CurrencyCode",(Option.mapx.currencyCode~f:String_.to_value));("ElasticsearchInstanceCount",(Option.mapx.elasticsearchInstanceCount~f:Integer.to_value));("State",(Option.mapx.state~f:String_.to_value));("PaymentOption",(Option.mapx.paymentOption~f:ReservedElasticsearchInstancePaymentOption.to_value));("RecurringCharges",(Option.mapx.recurringCharges~f:RecurringChargeList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrecurringCharges=(Option.map~f:RecurringChargeList.of_xml)(Xml.childxml_arg0"RecurringCharges")inletpaymentOption=(Option.map~f:ReservedElasticsearchInstancePaymentOption.of_xml)(Xml.childxml_arg0"PaymentOption")inletstate=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"State")inletelasticsearchInstanceCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"ElasticsearchInstanceCount")inletcurrencyCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"CurrencyCode")inletusagePrice=(Option.map~f:Double.of_xml)(Xml.childxml_arg0"UsagePrice")inletfixedPrice=(Option.map~f:Double.of_xml)(Xml.childxml_arg0"FixedPrice")inletduration=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"Duration")inletstartTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"StartTime")inletelasticsearchInstanceType=(Option.map~f:ESPartitionInstanceType.of_xml)(Xml.childxml_arg0"ElasticsearchInstanceType")inletreservedElasticsearchInstanceOfferingId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ReservedElasticsearchInstanceOfferingId")inletreservedElasticsearchInstanceId=(Option.map~f:GUID.of_xml)(Xml.childxml_arg0"ReservedElasticsearchInstanceId")inletreservationName=(Option.map~f:ReservationToken.of_xml)(Xml.childxml_arg0"ReservationName")inmake?recurringCharges?paymentOption?state?elasticsearchInstanceCount?currencyCode?usagePrice?fixedPrice?duration?startTime?elasticsearchInstanceType?reservedElasticsearchInstanceOfferingId?reservedElasticsearchInstanceId?reservationName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrecurringCharges=field_mapjson__"RecurringCharges"RecurringChargeList.of_jsoninletpaymentOption=field_mapjson__"PaymentOption"ReservedElasticsearchInstancePaymentOption.of_jsoninletstate=field_mapjson__"State"String_.of_jsoninletelasticsearchInstanceCount=field_mapjson__"ElasticsearchInstanceCount"Integer.of_jsoninletcurrencyCode=field_mapjson__"CurrencyCode"String_.of_jsoninletusagePrice=field_mapjson__"UsagePrice"Double.of_jsoninletfixedPrice=field_mapjson__"FixedPrice"Double.of_jsoninletduration=field_mapjson__"Duration"Integer.of_jsoninletstartTime=field_mapjson__"StartTime"UpdateTimestamp.of_jsoninletelasticsearchInstanceType=field_mapjson__"ElasticsearchInstanceType"ESPartitionInstanceType.of_jsoninletreservedElasticsearchInstanceOfferingId=field_mapjson__"ReservedElasticsearchInstanceOfferingId"String_.of_jsoninletreservedElasticsearchInstanceId=field_mapjson__"ReservedElasticsearchInstanceId"GUID.of_jsoninletreservationName=field_mapjson__"ReservationName"ReservationToken.of_jsoninmake?recurringCharges?paymentOption?state?elasticsearchInstanceCount?currencyCode?usagePrice?fixedPrice?duration?startTime?elasticsearchInstanceType?reservedElasticsearchInstanceOfferingId?reservedElasticsearchInstanceId?reservationName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details of a reserved Elasticsearch instance."]moduleReservedElasticsearchInstanceOffering=structtypenonrect={reservedElasticsearchInstanceOfferingId:GUID.toption[@ocaml.doc"The Elasticsearch reserved instance offering identifier."];elasticsearchInstanceType:ESPartitionInstanceType.toption[@ocaml.doc"The Elasticsearch instance type offered by the reserved instance offering."];duration:Integer.toption[@ocaml.doc"The duration, in seconds, for which the offering will reserve the Elasticsearch instance."];fixedPrice:Double.toption[@ocaml.doc"The upfront fixed charge you will pay to purchase the specific reserved Elasticsearch instance offering."];usagePrice:Double.toption[@ocaml.doc"The rate you are charged for each hour the domain that is using the offering is running."];currencyCode:String_.toption[@ocaml.doc"The currency code for the reserved Elasticsearch instance offering."];paymentOption:ReservedElasticsearchInstancePaymentOption.toption[@ocaml.doc"Payment option for the reserved Elasticsearch instance offering"];recurringCharges:RecurringChargeList.toption[@ocaml.doc"The charge to your account regardless of whether you are creating any domains using the instance offering."]}letmake?reservedElasticsearchInstanceOfferingId=fun?elasticsearchInstanceType->fun?duration->fun?fixedPrice->fun?usagePrice->fun?currencyCode->fun?paymentOption->fun?recurringCharges->fun()->{reservedElasticsearchInstanceOfferingId;elasticsearchInstanceType;duration;fixedPrice;usagePrice;currencyCode;paymentOption;recurringCharges}letto_valuex=structure_to_value[("ReservedElasticsearchInstanceOfferingId",(Option.mapx.reservedElasticsearchInstanceOfferingId~f:GUID.to_value));("ElasticsearchInstanceType",(Option.mapx.elasticsearchInstanceType~f:ESPartitionInstanceType.to_value));("Duration",(Option.mapx.duration~f:Integer.to_value));("FixedPrice",(Option.mapx.fixedPrice~f:Double.to_value));("UsagePrice",(Option.mapx.usagePrice~f:Double.to_value));("CurrencyCode",(Option.mapx.currencyCode~f:String_.to_value));("PaymentOption",(Option.mapx.paymentOption~f:ReservedElasticsearchInstancePaymentOption.to_value));("RecurringCharges",(Option.mapx.recurringCharges~f:RecurringChargeList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrecurringCharges=(Option.map~f:RecurringChargeList.of_xml)(Xml.childxml_arg0"RecurringCharges")inletpaymentOption=(Option.map~f:ReservedElasticsearchInstancePaymentOption.of_xml)(Xml.childxml_arg0"PaymentOption")inletcurrencyCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"CurrencyCode")inletusagePrice=(Option.map~f:Double.of_xml)(Xml.childxml_arg0"UsagePrice")inletfixedPrice=(Option.map~f:Double.of_xml)(Xml.childxml_arg0"FixedPrice")inletduration=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"Duration")inletelasticsearchInstanceType=(Option.map~f:ESPartitionInstanceType.of_xml)(Xml.childxml_arg0"ElasticsearchInstanceType")inletreservedElasticsearchInstanceOfferingId=(Option.map~f:GUID.of_xml)(Xml.childxml_arg0"ReservedElasticsearchInstanceOfferingId")inmake?recurringCharges?paymentOption?currencyCode?usagePrice?fixedPrice?duration?elasticsearchInstanceType?reservedElasticsearchInstanceOfferingId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrecurringCharges=field_mapjson__"RecurringCharges"RecurringChargeList.of_jsoninletpaymentOption=field_mapjson__"PaymentOption"ReservedElasticsearchInstancePaymentOption.of_jsoninletcurrencyCode=field_mapjson__"CurrencyCode"String_.of_jsoninletusagePrice=field_mapjson__"UsagePrice"Double.of_jsoninletfixedPrice=field_mapjson__"FixedPrice"Double.of_jsoninletduration=field_mapjson__"Duration"Integer.of_jsoninletelasticsearchInstanceType=field_mapjson__"ElasticsearchInstanceType"ESPartitionInstanceType.of_jsoninletreservedElasticsearchInstanceOfferingId=field_mapjson__"ReservedElasticsearchInstanceOfferingId"GUID.of_jsoninmake?recurringCharges?paymentOption?currencyCode?usagePrice?fixedPrice?duration?elasticsearchInstanceType?reservedElasticsearchInstanceOfferingId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details of a reserved Elasticsearch instance offering."]modulePackageDetails=structtypenonrect={packageID:PackageID.toption[@ocaml.doc"Internal ID of the package."];packageName:PackageName.toption[@ocaml.doc"User specified name of the package."];packageType:PackageType.toption[@ocaml.doc"Currently supports only TXT-DICTIONARY."];packageDescription:PackageDescription.toption[@ocaml.doc"User-specified description of the package."];packageStatus:PackageStatus.toption[@ocaml.doc"Current state of the package. Values are COPYING/COPY_FAILED/AVAILABLE/DELETING/DELETE_FAILED"];createdAt:CreatedAt.toption[@ocaml.doc"Timestamp which tells creation date of the package."];lastUpdatedAt:LastUpdated.toption;availablePackageVersion:PackageVersion.toption;errorDetails:ErrorDetails.toption[@ocaml.doc"Additional information if the package is in an error state. Null otherwise."]}letmake?packageID=fun?packageName->fun?packageType->fun?packageDescription->fun?packageStatus->fun?createdAt->fun?lastUpdatedAt->fun?availablePackageVersion->fun?errorDetails->fun()->{packageID;packageName;packageType;packageDescription;packageStatus;createdAt;lastUpdatedAt;availablePackageVersion;errorDetails}letto_valuex=structure_to_value[("PackageID",(Option.mapx.packageID~f:PackageID.to_value));("PackageName",(Option.mapx.packageName~f:PackageName.to_value));("PackageType",(Option.mapx.packageType~f:PackageType.to_value));("PackageDescription",(Option.mapx.packageDescription~f:PackageDescription.to_value));("PackageStatus",(Option.mapx.packageStatus~f:PackageStatus.to_value));("CreatedAt",(Option.mapx.createdAt~f:CreatedAt.to_value));("LastUpdatedAt",(Option.mapx.lastUpdatedAt~f:LastUpdated.to_value));("AvailablePackageVersion",(Option.mapx.availablePackageVersion~f:PackageVersion.to_value));("ErrorDetails",(Option.mapx.errorDetails~f:ErrorDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorDetails=(Option.map~f:ErrorDetails.of_xml)(Xml.childxml_arg0"ErrorDetails")inletavailablePackageVersion=(Option.map~f:PackageVersion.of_xml)(Xml.childxml_arg0"AvailablePackageVersion")inletlastUpdatedAt=(Option.map~f:LastUpdated.of_xml)(Xml.childxml_arg0"LastUpdatedAt")inletcreatedAt=(Option.map~f:CreatedAt.of_xml)(Xml.childxml_arg0"CreatedAt")inletpackageStatus=(Option.map~f:PackageStatus.of_xml)(Xml.childxml_arg0"PackageStatus")inletpackageDescription=(Option.map~f:PackageDescription.of_xml)(Xml.childxml_arg0"PackageDescription")inletpackageType=(Option.map~f:PackageType.of_xml)(Xml.childxml_arg0"PackageType")inletpackageName=(Option.map~f:PackageName.of_xml)(Xml.childxml_arg0"PackageName")inletpackageID=(Option.map~f:PackageID.of_xml)(Xml.childxml_arg0"PackageID")inmake?errorDetails?availablePackageVersion?lastUpdatedAt?createdAt?packageStatus?packageDescription?packageType?packageName?packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorDetails=field_mapjson__"ErrorDetails"ErrorDetails.of_jsoninletavailablePackageVersion=field_mapjson__"AvailablePackageVersion"PackageVersion.of_jsoninletlastUpdatedAt=field_mapjson__"LastUpdatedAt"LastUpdated.of_jsoninletcreatedAt=field_mapjson__"CreatedAt"CreatedAt.of_jsoninletpackageStatus=field_mapjson__"PackageStatus"PackageStatus.of_jsoninletpackageDescription=field_mapjson__"PackageDescription"PackageDescription.of_jsoninletpackageType=field_mapjson__"PackageType"PackageType.of_jsoninletpackageName=field_mapjson__"PackageName"PackageName.of_jsoninletpackageID=field_mapjson__"PackageID"PackageID.of_jsoninmake?errorDetails?availablePackageVersion?lastUpdatedAt?createdAt?packageStatus?packageDescription?packageType?packageName?packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Basic information about a package."]moduleDescribePackagesFilter=structtypenonrect={name:DescribePackagesFilterName.toption[@ocaml.doc"Any field from PackageDetails."];value:DescribePackagesFilterValues.toption[@ocaml.doc"A non-empty list of values for the specified field."]}letmake?name=fun?value->fun()->{name;value}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:DescribePackagesFilterName.to_value));("Value",(Option.mapx.value~f:DescribePackagesFilterValues.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=(Option.map~f:DescribePackagesFilterValues.of_xml)(Xml.childxml_arg0"Value")inletname=(Option.map~f:DescribePackagesFilterName.of_xml)(Xml.childxml_arg0"Name")inmake?value?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_mapjson__"Value"DescribePackagesFilterValues.of_jsoninletname=field_mapjson__"Name"DescribePackagesFilterName.of_jsoninmake?value?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Filter to apply in DescribePackage response."]moduleOutboundCrossClusterSearchConnection=structtypenonrect={sourceDomainInfo:DomainInformation.toption[@ocaml.doc"Specifies the DomainInformation for the source Elasticsearch domain."];destinationDomainInfo:DomainInformation.toption[@ocaml.doc"Specifies the DomainInformation for the destination Elasticsearch domain."];crossClusterSearchConnectionId:CrossClusterSearchConnectionId.toption[@ocaml.doc"Specifies the connection id for the outbound cross-cluster search connection."];connectionAlias:ConnectionAlias.toption[@ocaml.doc"Specifies the connection alias for the outbound cross-cluster search connection."];connectionStatus:OutboundCrossClusterSearchConnectionStatus.toption[@ocaml.doc"Specifies the OutboundCrossClusterSearchConnectionStatus for the outbound connection."]}letmake?sourceDomainInfo=fun?destinationDomainInfo->fun?crossClusterSearchConnectionId->fun?connectionAlias->fun?connectionStatus->fun()->{sourceDomainInfo;destinationDomainInfo;crossClusterSearchConnectionId;connectionAlias;connectionStatus}letto_valuex=structure_to_value[("SourceDomainInfo",(Option.mapx.sourceDomainInfo~f:DomainInformation.to_value));("DestinationDomainInfo",(Option.mapx.destinationDomainInfo~f:DomainInformation.to_value));("CrossClusterSearchConnectionId",(Option.mapx.crossClusterSearchConnectionId~f:CrossClusterSearchConnectionId.to_value));("ConnectionAlias",(Option.mapx.connectionAlias~f:ConnectionAlias.to_value));("ConnectionStatus",(Option.mapx.connectionStatus~f:OutboundCrossClusterSearchConnectionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconnectionStatus=(Option.map~f:OutboundCrossClusterSearchConnectionStatus.of_xml)(Xml.childxml_arg0"ConnectionStatus")inletconnectionAlias=(Option.map~f:ConnectionAlias.of_xml)(Xml.childxml_arg0"ConnectionAlias")inletcrossClusterSearchConnectionId=(Option.map~f:CrossClusterSearchConnectionId.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnectionId")inletdestinationDomainInfo=(Option.map~f:DomainInformation.of_xml)(Xml.childxml_arg0"DestinationDomainInfo")inletsourceDomainInfo=(Option.map~f:DomainInformation.of_xml)(Xml.childxml_arg0"SourceDomainInfo")inmake?connectionStatus?connectionAlias?crossClusterSearchConnectionId?destinationDomainInfo?sourceDomainInfo()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconnectionStatus=field_mapjson__"ConnectionStatus"OutboundCrossClusterSearchConnectionStatus.of_jsoninletconnectionAlias=field_mapjson__"ConnectionAlias"ConnectionAlias.of_jsoninletcrossClusterSearchConnectionId=field_mapjson__"CrossClusterSearchConnectionId"CrossClusterSearchConnectionId.of_jsoninletdestinationDomainInfo=field_mapjson__"DestinationDomainInfo"DomainInformation.of_jsoninletsourceDomainInfo=field_mapjson__"SourceDomainInfo"DomainInformation.of_jsoninmake?connectionStatus?connectionAlias?crossClusterSearchConnectionId?destinationDomainInfo?sourceDomainInfo()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies details of an outbound connection."]moduleFilter=structtypenonrect={name:NonEmptyString.toption[@ocaml.doc"Specifies the name of the filter."];values:ValueStringList.toption[@ocaml.doc"Contains one or more values for the filter."]}letmake?name=fun?values->fun()->{name;values}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:NonEmptyString.to_value));("Values",(Option.mapx.values~f:ValueStringList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=(Option.map~f:ValueStringList.of_xml)(Xml.childxml_arg0"Values")inletname=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"Name")inmake?values?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_mapjson__"Values"ValueStringList.of_jsoninletname=field_mapjson__"Name"NonEmptyString.of_jsoninmake?values?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A filter used to limit results when describing inbound or outbound cross-cluster search connections. Multiple values can be specified per filter. A cross-cluster search connection must match at least one of the specified values for it to be returned from an operation."]moduleInboundCrossClusterSearchConnection=structtypenonrect={sourceDomainInfo:DomainInformation.toption[@ocaml.doc"Specifies the DomainInformation for the source Elasticsearch domain."];destinationDomainInfo:DomainInformation.toption[@ocaml.doc"Specifies the DomainInformation for the destination Elasticsearch domain."];crossClusterSearchConnectionId:CrossClusterSearchConnectionId.toption[@ocaml.doc"Specifies the connection id for the inbound cross-cluster search connection."];connectionStatus:InboundCrossClusterSearchConnectionStatus.toption[@ocaml.doc"Specifies the InboundCrossClusterSearchConnectionStatus for the outbound connection."]}letmake?sourceDomainInfo=fun?destinationDomainInfo->fun?crossClusterSearchConnectionId->fun?connectionStatus->fun()->{sourceDomainInfo;destinationDomainInfo;crossClusterSearchConnectionId;connectionStatus}letto_valuex=structure_to_value[("SourceDomainInfo",(Option.mapx.sourceDomainInfo~f:DomainInformation.to_value));("DestinationDomainInfo",(Option.mapx.destinationDomainInfo~f:DomainInformation.to_value));("CrossClusterSearchConnectionId",(Option.mapx.crossClusterSearchConnectionId~f:CrossClusterSearchConnectionId.to_value));("ConnectionStatus",(Option.mapx.connectionStatus~f:InboundCrossClusterSearchConnectionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconnectionStatus=(Option.map~f:InboundCrossClusterSearchConnectionStatus.of_xml)(Xml.childxml_arg0"ConnectionStatus")inletcrossClusterSearchConnectionId=(Option.map~f:CrossClusterSearchConnectionId.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnectionId")inletdestinationDomainInfo=(Option.map~f:DomainInformation.of_xml)(Xml.childxml_arg0"DestinationDomainInfo")inletsourceDomainInfo=(Option.map~f:DomainInformation.of_xml)(Xml.childxml_arg0"SourceDomainInfo")inmake?connectionStatus?crossClusterSearchConnectionId?destinationDomainInfo?sourceDomainInfo()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconnectionStatus=field_mapjson__"ConnectionStatus"InboundCrossClusterSearchConnectionStatus.of_jsoninletcrossClusterSearchConnectionId=field_mapjson__"CrossClusterSearchConnectionId"CrossClusterSearchConnectionId.of_jsoninletdestinationDomainInfo=field_mapjson__"DestinationDomainInfo"DomainInformation.of_jsoninletsourceDomainInfo=field_mapjson__"SourceDomainInfo"DomainInformation.of_jsoninmake?connectionStatus?crossClusterSearchConnectionId?destinationDomainInfo?sourceDomainInfo()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies details of an inbound connection."]moduleInstanceRole=structtypenonrect=stringletcontext_="InstanceRole"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:"InstanceRole"jletto_json=simple_to_jsonto_valueendmoduleLimits=structtypenonrect={storageTypes:StorageTypeList.toption[@ocaml.doc"StorageType represents the list of storage related types and attributes that are available for given InstanceType."];instanceLimits:InstanceLimits.toption;additionalLimits:AdditionalLimitList.toption[@ocaml.doc"List of additional limits that are specific to a given InstanceType and for each of it's InstanceRole ."]}letmake?storageTypes=fun?instanceLimits->fun?additionalLimits->fun()->{storageTypes;instanceLimits;additionalLimits}letto_valuex=structure_to_value[("StorageTypes",(Option.mapx.storageTypes~f:StorageTypeList.to_value));("InstanceLimits",(Option.mapx.instanceLimits~f:InstanceLimits.to_value));("AdditionalLimits",(Option.mapx.additionalLimits~f:AdditionalLimitList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letadditionalLimits=(Option.map~f:AdditionalLimitList.of_xml)(Xml.childxml_arg0"AdditionalLimits")inletinstanceLimits=(Option.map~f:InstanceLimits.of_xml)(Xml.childxml_arg0"InstanceLimits")inletstorageTypes=(Option.map~f:StorageTypeList.of_xml)(Xml.childxml_arg0"StorageTypes")inmake?additionalLimits?instanceLimits?storageTypes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letadditionalLimits=field_mapjson__"AdditionalLimits"AdditionalLimitList.of_jsoninletinstanceLimits=field_mapjson__"InstanceLimits"InstanceLimits.of_jsoninletstorageTypes=field_mapjson__"StorageTypes"StorageTypeList.of_jsoninmake?additionalLimits?instanceLimits?storageTypes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Limits for given InstanceType and for each of it's role. Limits contains following StorageTypes, InstanceLimits and AdditionalLimits"]moduleElasticsearchDomainStatus=structtypenonrect={domainId:DomainId.toption[@ocaml.doc"The unique identifier for the specified Elasticsearch domain."];domainName:DomainName.toption[@ocaml.doc"The name of an Elasticsearch domain. Domain names are unique across the domains owned by an account within an AWS region. Domain names start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen)."];aRN:ARN.toption[@ocaml.doc"The Amazon resource name (ARN) of an Elasticsearch domain. See Identifiers for IAM Entities in Using AWS Identity and Access Management for more information."];created:Boolean.toption[@ocaml.doc"The domain creation status. True if the creation of an Elasticsearch domain is complete. False if domain creation is still in progress."];deleted:Boolean.toption[@ocaml.doc"The domain deletion status. True if a delete request has been received for the domain but resource cleanup is still in progress. False if the domain has not been deleted. Once domain deletion is complete, the status of the domain is no longer returned."];endpoint:ServiceUrl.toption[@ocaml.doc"The Elasticsearch domain endpoint that you use to submit index and search requests."];endpoints:EndpointsMap.toption[@ocaml.doc"Map containing the Elasticsearch domain endpoints used to submit index and search requests. Example key, value: 'vpc','vpc-endpoint-h2dsd34efgyghrtguk5gt6j2foh4.us-east-1.es.amazonaws.com'."];processing:Boolean.toption[@ocaml.doc"The status of the Elasticsearch domain configuration. True if Amazon Elasticsearch Service is processing configuration changes. False if the configuration is active."];upgradeProcessing:Boolean.toption[@ocaml.doc"The status of an Elasticsearch domain version upgrade. True if Amazon Elasticsearch Service is undergoing a version upgrade. False if the configuration is active."];elasticsearchVersion:ElasticsearchVersionString.toption;elasticsearchClusterConfig:ElasticsearchClusterConfig.toption[@ocaml.doc"The type and number of instances in the domain cluster."];eBSOptions:EBSOptions.toption[@ocaml.doc"The EBSOptions for the specified domain. See Configuring EBS-based Storage for more information."];accessPolicies:PolicyDocument.toption[@ocaml.doc"IAM access policy as a JSON-formatted string."];snapshotOptions:SnapshotOptions.toption[@ocaml.doc"Specifies the status of the SnapshotOptions"];vPCOptions:VPCDerivedInfo.toption[@ocaml.doc"The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains."];cognitoOptions:CognitoOptions.toption[@ocaml.doc"The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana."];encryptionAtRestOptions:EncryptionAtRestOptions.toption[@ocaml.doc"Specifies the status of the EncryptionAtRestOptions."];nodeToNodeEncryptionOptions:NodeToNodeEncryptionOptions.toption[@ocaml.doc"Specifies the status of the NodeToNodeEncryptionOptions."];advancedOptions:AdvancedOptions.toption[@ocaml.doc"Specifies the status of the AdvancedOptions"];logPublishingOptions:LogPublishingOptions.toption[@ocaml.doc"Log publishing options for the given domain."];serviceSoftwareOptions:ServiceSoftwareOptions.toption[@ocaml.doc"The current status of the Elasticsearch domain's service software."];domainEndpointOptions:DomainEndpointOptions.toption[@ocaml.doc"The current status of the Elasticsearch domain's endpoint options."];advancedSecurityOptions:AdvancedSecurityOptions.toption[@ocaml.doc"The current status of the Elasticsearch domain's advanced security options."];autoTuneOptions:AutoTuneOptionsOutput.toption[@ocaml.doc"The current status of the Elasticsearch domain's Auto-Tune options."];changeProgressDetails:ChangeProgressDetails.toption[@ocaml.doc"Specifies change details of the domain configuration change."];domainProcessingStatus:DomainProcessingStatusType.toption[@ocaml.doc"The status of any changes that are currently in progress for the domain."];modifyingProperties:ModifyingPropertiesList.toption[@ocaml.doc"Information about the domain properties that are currently being modified."];deploymentStrategyOptions:DeploymentStrategyOptions.toption[@ocaml.doc"The current status of the Elasticsearch domain's deployment strategy options."];automatedSnapshotPauseOptions:AutomatedSnapshotPauseOptions.toption[@ocaml.doc"The current status of the Elasticsearch domain's automated snapshot pause options."]}letmake?domainId=fun?domainName->fun?aRN->fun?created->fun?deleted->fun?endpoint->fun?endpoints->fun?processing->fun?upgradeProcessing->fun?elasticsearchVersion->fun?elasticsearchClusterConfig->fun?eBSOptions->fun?accessPolicies->fun?snapshotOptions->fun?vPCOptions->fun?cognitoOptions->fun?encryptionAtRestOptions->fun?nodeToNodeEncryptionOptions->fun?advancedOptions->fun?logPublishingOptions->fun?serviceSoftwareOptions->fun?domainEndpointOptions->fun?advancedSecurityOptions->fun?autoTuneOptions->fun?changeProgressDetails->fun?domainProcessingStatus->fun?modifyingProperties->fun?deploymentStrategyOptions->fun?automatedSnapshotPauseOptions->fun()->{domainId;domainName;aRN;created;deleted;endpoint;endpoints;processing;upgradeProcessing;elasticsearchVersion;elasticsearchClusterConfig;eBSOptions;accessPolicies;snapshotOptions;vPCOptions;cognitoOptions;encryptionAtRestOptions;nodeToNodeEncryptionOptions;advancedOptions;logPublishingOptions;serviceSoftwareOptions;domainEndpointOptions;advancedSecurityOptions;autoTuneOptions;changeProgressDetails;domainProcessingStatus;modifyingProperties;deploymentStrategyOptions;automatedSnapshotPauseOptions}letto_valuex=structure_to_value[("DomainId",(Option.mapx.domainId~f:DomainId.to_value));("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("ARN",(Option.mapx.aRN~f:ARN.to_value));("Created",(Option.mapx.created~f:Boolean.to_value));("Deleted",(Option.mapx.deleted~f:Boolean.to_value));("Endpoint",(Option.mapx.endpoint~f:ServiceUrl.to_value));("Endpoints",(Option.mapx.endpoints~f:EndpointsMap.to_value));("Processing",(Option.mapx.processing~f:Boolean.to_value));("UpgradeProcessing",(Option.mapx.upgradeProcessing~f:Boolean.to_value));("ElasticsearchVersion",(Option.mapx.elasticsearchVersion~f:ElasticsearchVersionString.to_value));("ElasticsearchClusterConfig",(Option.mapx.elasticsearchClusterConfig~f:ElasticsearchClusterConfig.to_value));("EBSOptions",(Option.mapx.eBSOptions~f:EBSOptions.to_value));("AccessPolicies",(Option.mapx.accessPolicies~f:PolicyDocument.to_value));("SnapshotOptions",(Option.mapx.snapshotOptions~f:SnapshotOptions.to_value));("VPCOptions",(Option.mapx.vPCOptions~f:VPCDerivedInfo.to_value));("CognitoOptions",(Option.mapx.cognitoOptions~f:CognitoOptions.to_value));("EncryptionAtRestOptions",(Option.mapx.encryptionAtRestOptions~f:EncryptionAtRestOptions.to_value));("NodeToNodeEncryptionOptions",(Option.mapx.nodeToNodeEncryptionOptions~f:NodeToNodeEncryptionOptions.to_value));("AdvancedOptions",(Option.mapx.advancedOptions~f:AdvancedOptions.to_value));("LogPublishingOptions",(Option.mapx.logPublishingOptions~f:LogPublishingOptions.to_value));("ServiceSoftwareOptions",(Option.mapx.serviceSoftwareOptions~f:ServiceSoftwareOptions.to_value));("DomainEndpointOptions",(Option.mapx.domainEndpointOptions~f:DomainEndpointOptions.to_value));("AdvancedSecurityOptions",(Option.mapx.advancedSecurityOptions~f:AdvancedSecurityOptions.to_value));("AutoTuneOptions",(Option.mapx.autoTuneOptions~f:AutoTuneOptionsOutput.to_value));("ChangeProgressDetails",(Option.mapx.changeProgressDetails~f:ChangeProgressDetails.to_value));("DomainProcessingStatus",(Option.mapx.domainProcessingStatus~f:DomainProcessingStatusType.to_value));("ModifyingProperties",(Option.mapx.modifyingProperties~f:ModifyingPropertiesList.to_value));("DeploymentStrategyOptions",(Option.mapx.deploymentStrategyOptions~f:DeploymentStrategyOptions.to_value));("AutomatedSnapshotPauseOptions",(Option.mapx.automatedSnapshotPauseOptions~f:AutomatedSnapshotPauseOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letautomatedSnapshotPauseOptions=(Option.map~f:AutomatedSnapshotPauseOptions.of_xml)(Xml.childxml_arg0"AutomatedSnapshotPauseOptions")inletdeploymentStrategyOptions=(Option.map~f:DeploymentStrategyOptions.of_xml)(Xml.childxml_arg0"DeploymentStrategyOptions")inletmodifyingProperties=(Option.map~f:ModifyingPropertiesList.of_xml)(Xml.childxml_arg0"ModifyingProperties")inletdomainProcessingStatus=(Option.map~f:DomainProcessingStatusType.of_xml)(Xml.childxml_arg0"DomainProcessingStatus")inletchangeProgressDetails=(Option.map~f:ChangeProgressDetails.of_xml)(Xml.childxml_arg0"ChangeProgressDetails")inletautoTuneOptions=(Option.map~f:AutoTuneOptionsOutput.of_xml)(Xml.childxml_arg0"AutoTuneOptions")inletadvancedSecurityOptions=(Option.map~f:AdvancedSecurityOptions.of_xml)(Xml.childxml_arg0"AdvancedSecurityOptions")inletdomainEndpointOptions=(Option.map~f:DomainEndpointOptions.of_xml)(Xml.childxml_arg0"DomainEndpointOptions")inletserviceSoftwareOptions=(Option.map~f:ServiceSoftwareOptions.of_xml)(Xml.childxml_arg0"ServiceSoftwareOptions")inletlogPublishingOptions=(Option.map~f:LogPublishingOptions.of_xml)(Xml.childxml_arg0"LogPublishingOptions")inletadvancedOptions=(Option.map~f:AdvancedOptions.of_xml)(Xml.childxml_arg0"AdvancedOptions")inletnodeToNodeEncryptionOptions=(Option.map~f:NodeToNodeEncryptionOptions.of_xml)(Xml.childxml_arg0"NodeToNodeEncryptionOptions")inletencryptionAtRestOptions=(Option.map~f:EncryptionAtRestOptions.of_xml)(Xml.childxml_arg0"EncryptionAtRestOptions")inletcognitoOptions=(Option.map~f:CognitoOptions.of_xml)(Xml.childxml_arg0"CognitoOptions")inletvPCOptions=(Option.map~f:VPCDerivedInfo.of_xml)(Xml.childxml_arg0"VPCOptions")inletsnapshotOptions=(Option.map~f:SnapshotOptions.of_xml)(Xml.childxml_arg0"SnapshotOptions")inletaccessPolicies=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"AccessPolicies")inleteBSOptions=(Option.map~f:EBSOptions.of_xml)(Xml.childxml_arg0"EBSOptions")inletelasticsearchClusterConfig=(Option.map~f:ElasticsearchClusterConfig.of_xml)(Xml.childxml_arg0"ElasticsearchClusterConfig")inletelasticsearchVersion=(Option.map~f:ElasticsearchVersionString.of_xml)(Xml.childxml_arg0"ElasticsearchVersion")inletupgradeProcessing=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"UpgradeProcessing")inletprocessing=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Processing")inletendpoints=(Option.map~f:EndpointsMap.of_xml)(Xml.childxml_arg0"Endpoints")inletendpoint=(Option.map~f:ServiceUrl.of_xml)(Xml.childxml_arg0"Endpoint")inletdeleted=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Deleted")inletcreated=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Created")inletaRN=(Option.map~f:ARN.of_xml)(Xml.childxml_arg0"ARN")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inletdomainId=(Option.map~f:DomainId.of_xml)(Xml.childxml_arg0"DomainId")inmake?automatedSnapshotPauseOptions?deploymentStrategyOptions?modifyingProperties?domainProcessingStatus?changeProgressDetails?autoTuneOptions?advancedSecurityOptions?domainEndpointOptions?serviceSoftwareOptions?logPublishingOptions?advancedOptions?nodeToNodeEncryptionOptions?encryptionAtRestOptions?cognitoOptions?vPCOptions?snapshotOptions?accessPolicies?eBSOptions?elasticsearchClusterConfig?elasticsearchVersion?upgradeProcessing?processing?endpoints?endpoint?deleted?created?aRN?domainName?domainId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letautomatedSnapshotPauseOptions=field_mapjson__"AutomatedSnapshotPauseOptions"AutomatedSnapshotPauseOptions.of_jsoninletdeploymentStrategyOptions=field_mapjson__"DeploymentStrategyOptions"DeploymentStrategyOptions.of_jsoninletmodifyingProperties=field_mapjson__"ModifyingProperties"ModifyingPropertiesList.of_jsoninletdomainProcessingStatus=field_mapjson__"DomainProcessingStatus"DomainProcessingStatusType.of_jsoninletchangeProgressDetails=field_mapjson__"ChangeProgressDetails"ChangeProgressDetails.of_jsoninletautoTuneOptions=field_mapjson__"AutoTuneOptions"AutoTuneOptionsOutput.of_jsoninletadvancedSecurityOptions=field_mapjson__"AdvancedSecurityOptions"AdvancedSecurityOptions.of_jsoninletdomainEndpointOptions=field_mapjson__"DomainEndpointOptions"DomainEndpointOptions.of_jsoninletserviceSoftwareOptions=field_mapjson__"ServiceSoftwareOptions"ServiceSoftwareOptions.of_jsoninletlogPublishingOptions=field_mapjson__"LogPublishingOptions"LogPublishingOptions.of_jsoninletadvancedOptions=field_mapjson__"AdvancedOptions"AdvancedOptions.of_jsoninletnodeToNodeEncryptionOptions=field_mapjson__"NodeToNodeEncryptionOptions"NodeToNodeEncryptionOptions.of_jsoninletencryptionAtRestOptions=field_mapjson__"EncryptionAtRestOptions"EncryptionAtRestOptions.of_jsoninletcognitoOptions=field_mapjson__"CognitoOptions"CognitoOptions.of_jsoninletvPCOptions=field_mapjson__"VPCOptions"VPCDerivedInfo.of_jsoninletsnapshotOptions=field_mapjson__"SnapshotOptions"SnapshotOptions.of_jsoninletaccessPolicies=field_mapjson__"AccessPolicies"PolicyDocument.of_jsoninleteBSOptions=field_mapjson__"EBSOptions"EBSOptions.of_jsoninletelasticsearchClusterConfig=field_mapjson__"ElasticsearchClusterConfig"ElasticsearchClusterConfig.of_jsoninletelasticsearchVersion=field_mapjson__"ElasticsearchVersion"ElasticsearchVersionString.of_jsoninletupgradeProcessing=field_mapjson__"UpgradeProcessing"Boolean.of_jsoninletprocessing=field_mapjson__"Processing"Boolean.of_jsoninletendpoints=field_mapjson__"Endpoints"EndpointsMap.of_jsoninletendpoint=field_mapjson__"Endpoint"ServiceUrl.of_jsoninletdeleted=field_mapjson__"Deleted"Boolean.of_jsoninletcreated=field_mapjson__"Created"Boolean.of_jsoninletaRN=field_mapjson__"ARN"ARN.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninletdomainId=field_mapjson__"DomainId"DomainId.of_jsoninmake?automatedSnapshotPauseOptions?deploymentStrategyOptions?modifyingProperties?domainProcessingStatus?changeProgressDetails?autoTuneOptions?advancedSecurityOptions?domainEndpointOptions?serviceSoftwareOptions?logPublishingOptions?advancedOptions?nodeToNodeEncryptionOptions?encryptionAtRestOptions?cognitoOptions?vPCOptions?snapshotOptions?accessPolicies?eBSOptions?elasticsearchClusterConfig?elasticsearchVersion?upgradeProcessing?processing?endpoints?endpoint?deleted?created?aRN?domainName?domainId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The current status of an Elasticsearch domain."]moduleChangeProgressStageList=structtypenonrect=ChangeProgressStage.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ChangeProgressStage.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:ChangeProgressStage.of_xml)letof_jsonj=list_of_json~kind:"ChangeProgressStageList"~of_json:ChangeProgressStage.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOverallChangeStatus=structtypenonrect=|PENDING|PROCESSING|COMPLETED|FAILED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|PROCESSING->"PROCESSING"|COMPLETED->"COMPLETED"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"PROCESSING"->PROCESSING|"COMPLETED"->COMPLETED|"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 OverallChangeStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OverallChangeStatus"j)letto_json=simple_to_jsonto_valueendmoduleTotalNumberOfStages=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 TotalNumberOfStages"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleAutoTune=structtypenonrect={autoTuneType:AutoTuneType.toption[@ocaml.doc"Specifies Auto-Tune type. Valid value is SCHEDULED_ACTION."];autoTuneDetails:AutoTuneDetails.toption[@ocaml.doc"Specifies details of the Auto-Tune action. See the Developer Guide for more information."]}letmake?autoTuneType=fun?autoTuneDetails->fun()->{autoTuneType;autoTuneDetails}letto_valuex=structure_to_value[("AutoTuneType",(Option.mapx.autoTuneType~f:AutoTuneType.to_value));("AutoTuneDetails",(Option.mapx.autoTuneDetails~f:AutoTuneDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letautoTuneDetails=(Option.map~f:AutoTuneDetails.of_xml)(Xml.childxml_arg0"AutoTuneDetails")inletautoTuneType=(Option.map~f:AutoTuneType.of_xml)(Xml.childxml_arg0"AutoTuneType")inmake?autoTuneDetails?autoTuneType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letautoTuneDetails=field_mapjson__"AutoTuneDetails"AutoTuneDetails.of_jsoninletautoTuneType=field_mapjson__"AutoTuneType"AutoTuneType.of_jsoninmake?autoTuneDetails?autoTuneType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies Auto-Tune type and Auto-Tune action details."]moduleCancelledChangeProperty=structtypenonrect={propertyName:String_.toption[@ocaml.doc"The name of the property whose change was cancelled."];cancelledValue:String_.toption[@ocaml.doc"The pending value of the property that was cancelled. This would have been the eventual value of the property if the chance had not been cancelled."];activeValue:String_.toption[@ocaml.doc"The current value of the property, after the change was cancelled."]}letmake?propertyName=fun?cancelledValue->fun?activeValue->fun()->{propertyName;cancelledValue;activeValue}letto_valuex=structure_to_value[("PropertyName",(Option.mapx.propertyName~f:String_.to_value));("CancelledValue",(Option.mapx.cancelledValue~f:String_.to_value));("ActiveValue",(Option.mapx.activeValue~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letactiveValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ActiveValue")inletcancelledValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"CancelledValue")inletpropertyName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"PropertyName")inmake?activeValue?cancelledValue?propertyName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letactiveValue=field_mapjson__"ActiveValue"String_.of_jsoninletcancelledValue=field_mapjson__"CancelledValue"String_.of_jsoninletpropertyName=field_mapjson__"PropertyName"String_.of_jsoninmake?activeValue?cancelledValue?propertyName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A property change that was cancelled for an Amazon OpenSearch Service domain."]moduleBaseException=structtypenonrect={message:ErrorMessage.toption[@ocaml.doc"A description of the error."]}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An error occurred while processing the request."]moduleDisabledOperationException=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"An error occured because the client wanted to access a not supported operation. Gives http status code of 409."]moduleInternalException=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"The request processing has failed because of an unknown error, exception or failure (the failure is internal to the service) . Gives http status code of 500."]moduleResourceAlreadyExistsException=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"An exception for creating a resource that already exists. Gives http status code of 400."]moduleResourceNotFoundException=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"An exception for accessing or deleting a resource that does not exist. Gives http status code of 400."]moduleValidationException=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"An exception for missing / invalid input fields. Gives http status code of 400."]moduleConflictException=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"An error occurred because the client attempts to remove a resource that is currently in use. Returns HTTP status code 409."]moduleVPCOptions=structtypenonrect={subnetIds:StringList.toption[@ocaml.doc"Specifies the subnets for VPC endpoint."];securityGroupIds:StringList.toption[@ocaml.doc"Specifies the security groups for VPC endpoint."]}letmake?subnetIds=fun?securityGroupIds->fun()->{subnetIds;securityGroupIds}letto_valuex=structure_to_value[("SubnetIds",(Option.mapx.subnetIds~f:StringList.to_value));("SecurityGroupIds",(Option.mapx.securityGroupIds~f:StringList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroupIds=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"SecurityGroupIds")inletsubnetIds=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"SubnetIds")inmake?securityGroupIds?subnetIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroupIds=field_mapjson__"SecurityGroupIds"StringList.of_jsoninletsubnetIds=field_mapjson__"SubnetIds"StringList.of_jsoninmake?securityGroupIds?subnetIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Options to specify the subnets and security groups for VPC endpoint. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains."]moduleAccessDeniedException=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"An error occurred because user does not have permissions to access the resource. Returns HTTP status code 403."]moduleLimitExceededException=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"An exception for trying to create more than allowed resources or sub-resources. Gives http status code of 409."]modulePackageSource=structtypenonrect={s3BucketName:S3BucketName.toption[@ocaml.doc"Name of the bucket containing the package."];s3Key:S3Key.toption[@ocaml.doc"Key (file name) of the package."]}letmake?s3BucketName=fun?s3Key->fun()->{s3BucketName;s3Key}letto_valuex=structure_to_value[("S3BucketName",(Option.mapx.s3BucketName~f:S3BucketName.to_value));("S3Key",(Option.mapx.s3Key~f:S3Key.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lets3Key=(Option.map~f:S3Key.of_xml)(Xml.childxml_arg0"S3Key")inlets3BucketName=(Option.map~f:S3BucketName.of_xml)(Xml.childxml_arg0"S3BucketName")inmake?s3Key?s3BucketName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lets3Key=field_mapjson__"S3Key"S3Key.of_jsoninlets3BucketName=field_mapjson__"S3BucketName"S3BucketName.of_jsoninmake?s3Key?s3BucketName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The S3 location for importing the package specified as S3BucketName and S3Key"]moduleDryRunResults=structtypenonrect={deploymentType:DeploymentType.toption[@ocaml.doc"Specifies the deployment mechanism through which the update shall be applied on the domain. Possible responses are Blue/Green (The update will require a blue/green deployment.) DynamicUpdate (The update can be applied in-place without a Blue/Green deployment required.) Undetermined (The domain is undergoing an update which needs to complete before the deployment type can be predicted.) None (The configuration change matches the current configuration and will not result in any update.)"];message:Message.toption[@ocaml.doc"Contains an optional message associated with the DryRunResults."]}letmake?deploymentType=fun?message->fun()->{deploymentType;message}letto_valuex=structure_to_value[("DeploymentType",(Option.mapx.deploymentType~f:DeploymentType.to_value));("Message",(Option.mapx.message~f:Message.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"Message")inletdeploymentType=(Option.map~f:DeploymentType.of_xml)(Xml.childxml_arg0"DeploymentType")inmake?message?deploymentType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"Message.of_jsoninletdeploymentType=field_mapjson__"DeploymentType"DeploymentType.of_jsoninmake?message?deploymentType()letto_jsonv=composed_to_jsonto_valuevendmoduleElasticsearchDomainConfig=structtypenonrect={elasticsearchVersion:ElasticsearchVersionStatus.toption[@ocaml.doc"String of format X.Y to specify version for the Elasticsearch domain."];elasticsearchClusterConfig:ElasticsearchClusterConfigStatus.toption[@ocaml.doc"Specifies the ElasticsearchClusterConfig for the Elasticsearch domain."];eBSOptions:EBSOptionsStatus.toption[@ocaml.doc"Specifies the EBSOptions for the Elasticsearch domain."];accessPolicies:AccessPoliciesStatus.toption[@ocaml.doc"IAM access policy as a JSON-formatted string."];snapshotOptions:SnapshotOptionsStatus.toption[@ocaml.doc"Specifies the SnapshotOptions for the Elasticsearch domain."];vPCOptions:VPCDerivedInfoStatus.toption[@ocaml.doc"The VPCOptions for the specified domain. For more information, see VPC Endpoints for Amazon Elasticsearch Service Domains."];cognitoOptions:CognitoOptionsStatus.toption[@ocaml.doc"The CognitoOptions for the specified domain. For more information, see Amazon Cognito Authentication for Kibana."];encryptionAtRestOptions:EncryptionAtRestOptionsStatus.toption[@ocaml.doc"Specifies the EncryptionAtRestOptions for the Elasticsearch domain."];nodeToNodeEncryptionOptions:NodeToNodeEncryptionOptionsStatus.toption[@ocaml.doc"Specifies the NodeToNodeEncryptionOptions for the Elasticsearch domain."];advancedOptions:AdvancedOptionsStatus.toption[@ocaml.doc"Specifies the AdvancedOptions for the domain. See Configuring Advanced Options for more information."];logPublishingOptions:LogPublishingOptionsStatus.toption[@ocaml.doc"Log publishing options for the given domain."];domainEndpointOptions:DomainEndpointOptionsStatus.toption[@ocaml.doc"Specifies the DomainEndpointOptions for the Elasticsearch domain."];advancedSecurityOptions:AdvancedSecurityOptionsStatus.toption[@ocaml.doc"Specifies AdvancedSecurityOptions for the domain."];autoTuneOptions:AutoTuneOptionsStatus.toption[@ocaml.doc"Specifies AutoTuneOptions for the domain."];changeProgressDetails:ChangeProgressDetails.toption[@ocaml.doc"Specifies change details of the domain configuration change."];modifyingProperties:ModifyingPropertiesList.toption[@ocaml.doc"Information about the domain properties that are currently being modified."];deploymentStrategyOptions:DeploymentStrategyOptionsStatus.toption[@ocaml.doc"Specifies DeploymentStrategyOptions for the domain."];automatedSnapshotPauseOptions:AutomatedSnapshotPauseOptionsStatus.toption[@ocaml.doc"Specifies AutomatedSnapshotPauseOptions for the domain."]}letmake?elasticsearchVersion=fun?elasticsearchClusterConfig->fun?eBSOptions->fun?accessPolicies->fun?snapshotOptions->fun?vPCOptions->fun?cognitoOptions->fun?encryptionAtRestOptions->fun?nodeToNodeEncryptionOptions->fun?advancedOptions->fun?logPublishingOptions->fun?domainEndpointOptions->fun?advancedSecurityOptions->fun?autoTuneOptions->fun?changeProgressDetails->fun?modifyingProperties->fun?deploymentStrategyOptions->fun?automatedSnapshotPauseOptions->fun()->{elasticsearchVersion;elasticsearchClusterConfig;eBSOptions;accessPolicies;snapshotOptions;vPCOptions;cognitoOptions;encryptionAtRestOptions;nodeToNodeEncryptionOptions;advancedOptions;logPublishingOptions;domainEndpointOptions;advancedSecurityOptions;autoTuneOptions;changeProgressDetails;modifyingProperties;deploymentStrategyOptions;automatedSnapshotPauseOptions}letto_valuex=structure_to_value[("ElasticsearchVersion",(Option.mapx.elasticsearchVersion~f:ElasticsearchVersionStatus.to_value));("ElasticsearchClusterConfig",(Option.mapx.elasticsearchClusterConfig~f:ElasticsearchClusterConfigStatus.to_value));("EBSOptions",(Option.mapx.eBSOptions~f:EBSOptionsStatus.to_value));("AccessPolicies",(Option.mapx.accessPolicies~f:AccessPoliciesStatus.to_value));("SnapshotOptions",(Option.mapx.snapshotOptions~f:SnapshotOptionsStatus.to_value));("VPCOptions",(Option.mapx.vPCOptions~f:VPCDerivedInfoStatus.to_value));("CognitoOptions",(Option.mapx.cognitoOptions~f:CognitoOptionsStatus.to_value));("EncryptionAtRestOptions",(Option.mapx.encryptionAtRestOptions~f:EncryptionAtRestOptionsStatus.to_value));("NodeToNodeEncryptionOptions",(Option.mapx.nodeToNodeEncryptionOptions~f:NodeToNodeEncryptionOptionsStatus.to_value));("AdvancedOptions",(Option.mapx.advancedOptions~f:AdvancedOptionsStatus.to_value));("LogPublishingOptions",(Option.mapx.logPublishingOptions~f:LogPublishingOptionsStatus.to_value));("DomainEndpointOptions",(Option.mapx.domainEndpointOptions~f:DomainEndpointOptionsStatus.to_value));("AdvancedSecurityOptions",(Option.mapx.advancedSecurityOptions~f:AdvancedSecurityOptionsStatus.to_value));("AutoTuneOptions",(Option.mapx.autoTuneOptions~f:AutoTuneOptionsStatus.to_value));("ChangeProgressDetails",(Option.mapx.changeProgressDetails~f:ChangeProgressDetails.to_value));("ModifyingProperties",(Option.mapx.modifyingProperties~f:ModifyingPropertiesList.to_value));("DeploymentStrategyOptions",(Option.mapx.deploymentStrategyOptions~f:DeploymentStrategyOptionsStatus.to_value));("AutomatedSnapshotPauseOptions",(Option.mapx.automatedSnapshotPauseOptions~f:AutomatedSnapshotPauseOptionsStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letautomatedSnapshotPauseOptions=(Option.map~f:AutomatedSnapshotPauseOptionsStatus.of_xml)(Xml.childxml_arg0"AutomatedSnapshotPauseOptions")inletdeploymentStrategyOptions=(Option.map~f:DeploymentStrategyOptionsStatus.of_xml)(Xml.childxml_arg0"DeploymentStrategyOptions")inletmodifyingProperties=(Option.map~f:ModifyingPropertiesList.of_xml)(Xml.childxml_arg0"ModifyingProperties")inletchangeProgressDetails=(Option.map~f:ChangeProgressDetails.of_xml)(Xml.childxml_arg0"ChangeProgressDetails")inletautoTuneOptions=(Option.map~f:AutoTuneOptionsStatus.of_xml)(Xml.childxml_arg0"AutoTuneOptions")inletadvancedSecurityOptions=(Option.map~f:AdvancedSecurityOptionsStatus.of_xml)(Xml.childxml_arg0"AdvancedSecurityOptions")inletdomainEndpointOptions=(Option.map~f:DomainEndpointOptionsStatus.of_xml)(Xml.childxml_arg0"DomainEndpointOptions")inletlogPublishingOptions=(Option.map~f:LogPublishingOptionsStatus.of_xml)(Xml.childxml_arg0"LogPublishingOptions")inletadvancedOptions=(Option.map~f:AdvancedOptionsStatus.of_xml)(Xml.childxml_arg0"AdvancedOptions")inletnodeToNodeEncryptionOptions=(Option.map~f:NodeToNodeEncryptionOptionsStatus.of_xml)(Xml.childxml_arg0"NodeToNodeEncryptionOptions")inletencryptionAtRestOptions=(Option.map~f:EncryptionAtRestOptionsStatus.of_xml)(Xml.childxml_arg0"EncryptionAtRestOptions")inletcognitoOptions=(Option.map~f:CognitoOptionsStatus.of_xml)(Xml.childxml_arg0"CognitoOptions")inletvPCOptions=(Option.map~f:VPCDerivedInfoStatus.of_xml)(Xml.childxml_arg0"VPCOptions")inletsnapshotOptions=(Option.map~f:SnapshotOptionsStatus.of_xml)(Xml.childxml_arg0"SnapshotOptions")inletaccessPolicies=(Option.map~f:AccessPoliciesStatus.of_xml)(Xml.childxml_arg0"AccessPolicies")inleteBSOptions=(Option.map~f:EBSOptionsStatus.of_xml)(Xml.childxml_arg0"EBSOptions")inletelasticsearchClusterConfig=(Option.map~f:ElasticsearchClusterConfigStatus.of_xml)(Xml.childxml_arg0"ElasticsearchClusterConfig")inletelasticsearchVersion=(Option.map~f:ElasticsearchVersionStatus.of_xml)(Xml.childxml_arg0"ElasticsearchVersion")inmake?automatedSnapshotPauseOptions?deploymentStrategyOptions?modifyingProperties?changeProgressDetails?autoTuneOptions?advancedSecurityOptions?domainEndpointOptions?logPublishingOptions?advancedOptions?nodeToNodeEncryptionOptions?encryptionAtRestOptions?cognitoOptions?vPCOptions?snapshotOptions?accessPolicies?eBSOptions?elasticsearchClusterConfig?elasticsearchVersion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letautomatedSnapshotPauseOptions=field_mapjson__"AutomatedSnapshotPauseOptions"AutomatedSnapshotPauseOptionsStatus.of_jsoninletdeploymentStrategyOptions=field_mapjson__"DeploymentStrategyOptions"DeploymentStrategyOptionsStatus.of_jsoninletmodifyingProperties=field_mapjson__"ModifyingProperties"ModifyingPropertiesList.of_jsoninletchangeProgressDetails=field_mapjson__"ChangeProgressDetails"ChangeProgressDetails.of_jsoninletautoTuneOptions=field_mapjson__"AutoTuneOptions"AutoTuneOptionsStatus.of_jsoninletadvancedSecurityOptions=field_mapjson__"AdvancedSecurityOptions"AdvancedSecurityOptionsStatus.of_jsoninletdomainEndpointOptions=field_mapjson__"DomainEndpointOptions"DomainEndpointOptionsStatus.of_jsoninletlogPublishingOptions=field_mapjson__"LogPublishingOptions"LogPublishingOptionsStatus.of_jsoninletadvancedOptions=field_mapjson__"AdvancedOptions"AdvancedOptionsStatus.of_jsoninletnodeToNodeEncryptionOptions=field_mapjson__"NodeToNodeEncryptionOptions"NodeToNodeEncryptionOptionsStatus.of_jsoninletencryptionAtRestOptions=field_mapjson__"EncryptionAtRestOptions"EncryptionAtRestOptionsStatus.of_jsoninletcognitoOptions=field_mapjson__"CognitoOptions"CognitoOptionsStatus.of_jsoninletvPCOptions=field_mapjson__"VPCOptions"VPCDerivedInfoStatus.of_jsoninletsnapshotOptions=field_mapjson__"SnapshotOptions"SnapshotOptionsStatus.of_jsoninletaccessPolicies=field_mapjson__"AccessPolicies"AccessPoliciesStatus.of_jsoninleteBSOptions=field_mapjson__"EBSOptions"EBSOptionsStatus.of_jsoninletelasticsearchClusterConfig=field_mapjson__"ElasticsearchClusterConfig"ElasticsearchClusterConfigStatus.of_jsoninletelasticsearchVersion=field_mapjson__"ElasticsearchVersion"ElasticsearchVersionStatus.of_jsoninmake?automatedSnapshotPauseOptions?deploymentStrategyOptions?modifyingProperties?changeProgressDetails?autoTuneOptions?advancedSecurityOptions?domainEndpointOptions?logPublishingOptions?advancedOptions?nodeToNodeEncryptionOptions?encryptionAtRestOptions?cognitoOptions?vPCOptions?snapshotOptions?accessPolicies?eBSOptions?elasticsearchClusterConfig?elasticsearchVersion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The configuration of an Elasticsearch domain."]moduleInvalidTypeException=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"An exception for trying to create or access sub-resource that is either invalid or not supported. Gives http status code of 409."]moduleAdvancedSecurityOptionsInput=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"True if advanced security is enabled."];internalUserDatabaseEnabled:Boolean.toption[@ocaml.doc"True if the internal user database is enabled."];masterUserOptions:MasterUserOptions.toption[@ocaml.doc"Credentials for the master user: username and password, ARN, or both."];sAMLOptions:SAMLOptionsInput.toption[@ocaml.doc"Specifies the SAML application configuration for the domain."];anonymousAuthEnabled:Boolean.toption[@ocaml.doc"True if Anonymous auth is enabled. Anonymous auth can be enabled only when AdvancedSecurity is enabled on existing domains."]}letmake?enabled=fun?internalUserDatabaseEnabled->fun?masterUserOptions->fun?sAMLOptions->fun?anonymousAuthEnabled->fun()->{enabled;internalUserDatabaseEnabled;masterUserOptions;sAMLOptions;anonymousAuthEnabled}letto_valuex=structure_to_value[("Enabled",(Option.mapx.enabled~f:Boolean.to_value));("InternalUserDatabaseEnabled",(Option.mapx.internalUserDatabaseEnabled~f:Boolean.to_value));("MasterUserOptions",(Option.mapx.masterUserOptions~f:MasterUserOptions.to_value));("SAMLOptions",(Option.mapx.sAMLOptions~f:SAMLOptionsInput.to_value));("AnonymousAuthEnabled",(Option.mapx.anonymousAuthEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letanonymousAuthEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"AnonymousAuthEnabled")inletsAMLOptions=(Option.map~f:SAMLOptionsInput.of_xml)(Xml.childxml_arg0"SAMLOptions")inletmasterUserOptions=(Option.map~f:MasterUserOptions.of_xml)(Xml.childxml_arg0"MasterUserOptions")inletinternalUserDatabaseEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"InternalUserDatabaseEnabled")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"Enabled")inmake?anonymousAuthEnabled?sAMLOptions?masterUserOptions?internalUserDatabaseEnabled?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letanonymousAuthEnabled=field_mapjson__"AnonymousAuthEnabled"Boolean.of_jsoninletsAMLOptions=field_mapjson__"SAMLOptions"SAMLOptionsInput.of_jsoninletmasterUserOptions=field_mapjson__"MasterUserOptions"MasterUserOptions.of_jsoninletinternalUserDatabaseEnabled=field_mapjson__"InternalUserDatabaseEnabled"Boolean.of_jsoninletenabled=field_mapjson__"Enabled"Boolean.of_jsoninmake?anonymousAuthEnabled?sAMLOptions?masterUserOptions?internalUserDatabaseEnabled?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the advanced security configuration: whether advanced security is enabled, whether the internal database option is enabled, master username and password (if internal database is enabled), and master user ARN (if IAM is enabled)."]moduleAutomatedSnapshotPauseRequestOptions=structtypenonrect={enabled:Boolean.t[@ocaml.doc"Whether to enable or disable automated snapshot pause for the domain."];startTime:UpdateTimestamp.toption[@ocaml.doc"The timestamp at which the automated snapshot pause should begin."];endTime:UpdateTimestamp.toption[@ocaml.doc"The timestamp at which the automated snapshot pause should end. The maximum allowed duration between StartTime and EndTime is 3 days."]}letcontext_="AutomatedSnapshotPauseRequestOptions"letmake?startTime=fun?endTime->fun~enabled->fun()->{startTime;endTime;enabled}letto_valuex=structure_to_value[("Enabled",(Some(Boolean.to_valuex.enabled)));("StartTime",(Option.mapx.startTime~f:UpdateTimestamp.to_value));("EndTime",(Option.mapx.endTime~f:UpdateTimestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"EndTime")inletstartTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"StartTime")inletenabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"Enabled")inmake?endTime?startTime~enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendTime=field_mapjson__"EndTime"UpdateTimestamp.of_jsoninletstartTime=field_mapjson__"StartTime"UpdateTimestamp.of_jsoninletenabled=field_map_exnjson__"Enabled"Boolean.of_jsoninmake?endTime?startTime~enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the automated snapshot pause request options for the domain. Suspending snapshots reduces data protection. You cannot restore your domain to points in time when snapshots are suspended. Use this feature only for short-term operational needs such as migrations or maintenance windows. Maximum suspension duration: 3 days."]moduleDryRun=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_valueendmoduleInstanceCount=structtypenonrect=int[@@ocaml.doc"Specifies the number of EC2 instances in the Elasticsearch domain."]letmakei=letopenResultinok_or_failwith(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 InstanceCount"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueend[@@ocaml.doc"Specifies the number of EC2 instances in the Elasticsearch domain."]moduleNextToken=structtypenonrect=string[@@ocaml.doc"Paginated APIs accepts NextToken input to returns next page results and provides a NextToken output in the response which can be used by the client to retrieve more results."]letcontext_="NextToken"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:"NextToken"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Paginated APIs accepts NextToken input to returns next page results and provides a NextToken output in the response which can be used by the client to retrieve more results."]moduleVpcEndpointSummaryList=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:"VpcEndpointSummaryList"~of_json:VpcEndpointSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAuthorizedPrincipalList=structtypenonrect=AuthorizedPrincipal.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AuthorizedPrincipal.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:AuthorizedPrincipal.of_xml)letof_jsonj=list_of_json~kind:"AuthorizedPrincipalList"~of_json:AuthorizedPrincipal.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagList=structtypenonrect=Tag.tlistletmakei=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:"TagList"~of_json:Tag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDomainPackageDetailsList=structtypenonrect=DomainPackageDetails.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DomainPackageDetails.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:DomainPackageDetails.of_xml)letof_jsonj=list_of_json~kind:"DomainPackageDetailsList"~of_json:DomainPackageDetails.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=int[@@ocaml.doc"Set this value to limit the number of results returned."]letmakei=letopenResultinok_or_failwith(check_int_maxi~max:100);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 MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueend[@@ocaml.doc"Set this value to limit the number of results returned."]moduleElasticsearchInstanceTypeList=structtypenonrect=ESPartitionInstanceType.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ESPartitionInstanceType.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:ESPartitionInstanceType.of_xml)letof_jsonj=list_of_json~kind:"ElasticsearchInstanceTypeList"~of_json:ESPartitionInstanceType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDomainInfoList=structtypenonrect=DomainInfo.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DomainInfo.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:DomainInfo.of_xml)letof_jsonj=list_of_json~kind:"DomainInfoList"~of_json:DomainInfo.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpgradeHistoryList=structtypenonrect=UpgradeHistory.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:UpgradeHistory.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:UpgradeHistory.of_xml)letof_jsonj=list_of_json~kind:"UpgradeHistoryList"~of_json:UpgradeHistory.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePackageVersionHistoryList=structtypenonrect=PackageVersionHistory.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PackageVersionHistory.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:PackageVersionHistory.of_xml)letof_jsonj=list_of_json~kind:"PackageVersionHistoryList"~of_json:PackageVersionHistory.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCompatibleElasticsearchVersionsList=structtypenonrect=CompatibleVersionsMap.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CompatibleVersionsMap.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:CompatibleVersionsMap.of_xml)letof_jsonj=list_of_json~kind:"CompatibleElasticsearchVersionsList"~of_json:CompatibleVersionsMap.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVpcEndpointErrorList=structtypenonrect=VpcEndpointError.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VpcEndpointError.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:VpcEndpointError.of_xml)letof_jsonj=list_of_json~kind:"VpcEndpointErrorList"~of_json:VpcEndpointError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVpcEndpoints=structtypenonrect=VpcEndpoint.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:VpcEndpoint.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:VpcEndpoint.of_xml)letof_jsonj=list_of_json~kind:"VpcEndpoints"~of_json:VpcEndpoint.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleVpcEndpointIdList=structtypenonrect=VpcEndpointId.tlistletmakei=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:"VpcEndpointIdList"~of_json:VpcEndpointId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleReservedElasticsearchInstanceList=structtypenonrect=ReservedElasticsearchInstance.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ReservedElasticsearchInstance.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:ReservedElasticsearchInstance.of_xml)letof_jsonj=list_of_json~kind:"ReservedElasticsearchInstanceList"~of_json:ReservedElasticsearchInstance.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleReservedElasticsearchInstanceOfferingList=structtypenonrect=ReservedElasticsearchInstanceOffering.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ReservedElasticsearchInstanceOffering.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:ReservedElasticsearchInstanceOffering.of_xml)letof_jsonj=list_of_json~kind:"ReservedElasticsearchInstanceOfferingList"~of_json:ReservedElasticsearchInstanceOffering.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePackageDetailsList=structtypenonrect=PackageDetails.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PackageDetails.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:PackageDetails.of_xml)letof_jsonj=list_of_json~kind:"PackageDetailsList"~of_json:PackageDetails.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDescribePackagesFilterList=structtypenonrect=DescribePackagesFilter.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DescribePackagesFilter.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:DescribePackagesFilter.of_xml)letof_jsonj=list_of_json~kind:"DescribePackagesFilterList"~of_json:DescribePackagesFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvalidPaginationTokenException=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"The request processing has failed because of invalid pagination token provided by customer. Returns an HTTP status code of 400."]moduleOutboundCrossClusterSearchConnections=structtypenonrect=OutboundCrossClusterSearchConnection.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OutboundCrossClusterSearchConnection.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:OutboundCrossClusterSearchConnection.of_xml)letof_jsonj=list_of_json~kind:"OutboundCrossClusterSearchConnections"~of_json:OutboundCrossClusterSearchConnection.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFilterList=structtypenonrect=Filter.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Filter.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:Filter.of_xml)letof_jsonj=list_of_json~kind:"FilterList"~of_json:Filter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInboundCrossClusterSearchConnections=structtypenonrect=InboundCrossClusterSearchConnection.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:InboundCrossClusterSearchConnection.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:InboundCrossClusterSearchConnection.of_xml)letof_jsonj=list_of_json~kind:"InboundCrossClusterSearchConnections"~of_json:InboundCrossClusterSearchConnection.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLimitsByRole=structtypenonrect=(InstanceRole.t*Limits.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types InstanceRole Limits"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(InstanceRole.to_valuex)|>(funx->(Limits.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:InstanceRole.of_string~of_json:Limits.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleElasticsearchDomainStatusList=structtypenonrect=ElasticsearchDomainStatus.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ElasticsearchDomainStatus.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:ElasticsearchDomainStatus.of_xml)letof_jsonj=list_of_json~kind:"ElasticsearchDomainStatusList"~of_json:ElasticsearchDomainStatus.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDomainNameList=structtypenonrect=DomainName.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DomainName.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:DomainName.of_xml)letof_jsonj=list_of_json~kind:"DomainNameList"~of_json:DomainName.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleChangeProgressStatusDetails=structtypenonrect={changeId:GUID.toption[@ocaml.doc"The unique change identifier associated with a specific domain configuration change."];startTime:UpdateTimestamp.toption[@ocaml.doc"The time at which the configuration change is made on the domain."];status:OverallChangeStatus.toption[@ocaml.doc"The overall status of the domain configuration change. This field can take the following values: PENDING, PROCESSING, COMPLETED and FAILED"];pendingProperties:StringList.toption[@ocaml.doc"The list of properties involved in the domain configuration change that are still in pending."];completedProperties:StringList.toption[@ocaml.doc"The list of properties involved in the domain configuration change that are completed."];totalNumberOfStages:TotalNumberOfStages.toption[@ocaml.doc"The total number of stages required for the configuration change."];changeProgressStages:ChangeProgressStageList.toption[@ocaml.doc"The specific stages that the domain is going through to perform the configuration change."];configChangeStatus:ConfigChangeStatus.toption[@ocaml.doc"The current status of the configuration change."];lastUpdatedTime:UpdateTimestamp.toption[@ocaml.doc"The last time that the status of the configuration change was updated."];initiatedBy:InitiatedBy.toption[@ocaml.doc"The IAM principal who initiated the configuration change."]}letmake?changeId=fun?startTime->fun?status->fun?pendingProperties->fun?completedProperties->fun?totalNumberOfStages->fun?changeProgressStages->fun?configChangeStatus->fun?lastUpdatedTime->fun?initiatedBy->fun()->{changeId;startTime;status;pendingProperties;completedProperties;totalNumberOfStages;changeProgressStages;configChangeStatus;lastUpdatedTime;initiatedBy}letto_valuex=structure_to_value[("ChangeId",(Option.mapx.changeId~f:GUID.to_value));("StartTime",(Option.mapx.startTime~f:UpdateTimestamp.to_value));("Status",(Option.mapx.status~f:OverallChangeStatus.to_value));("PendingProperties",(Option.mapx.pendingProperties~f:StringList.to_value));("CompletedProperties",(Option.mapx.completedProperties~f:StringList.to_value));("TotalNumberOfStages",(Option.mapx.totalNumberOfStages~f:TotalNumberOfStages.to_value));("ChangeProgressStages",(Option.mapx.changeProgressStages~f:ChangeProgressStageList.to_value));("ConfigChangeStatus",(Option.mapx.configChangeStatus~f:ConfigChangeStatus.to_value));("LastUpdatedTime",(Option.mapx.lastUpdatedTime~f:UpdateTimestamp.to_value));("InitiatedBy",(Option.mapx.initiatedBy~f:InitiatedBy.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinitiatedBy=(Option.map~f:InitiatedBy.of_xml)(Xml.childxml_arg0"InitiatedBy")inletlastUpdatedTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"LastUpdatedTime")inletconfigChangeStatus=(Option.map~f:ConfigChangeStatus.of_xml)(Xml.childxml_arg0"ConfigChangeStatus")inletchangeProgressStages=(Option.map~f:ChangeProgressStageList.of_xml)(Xml.childxml_arg0"ChangeProgressStages")inlettotalNumberOfStages=(Option.map~f:TotalNumberOfStages.of_xml)(Xml.childxml_arg0"TotalNumberOfStages")inletcompletedProperties=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"CompletedProperties")inletpendingProperties=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"PendingProperties")inletstatus=(Option.map~f:OverallChangeStatus.of_xml)(Xml.childxml_arg0"Status")inletstartTime=(Option.map~f:UpdateTimestamp.of_xml)(Xml.childxml_arg0"StartTime")inletchangeId=(Option.map~f:GUID.of_xml)(Xml.childxml_arg0"ChangeId")inmake?initiatedBy?lastUpdatedTime?configChangeStatus?changeProgressStages?totalNumberOfStages?completedProperties?pendingProperties?status?startTime?changeId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinitiatedBy=field_mapjson__"InitiatedBy"InitiatedBy.of_jsoninletlastUpdatedTime=field_mapjson__"LastUpdatedTime"UpdateTimestamp.of_jsoninletconfigChangeStatus=field_mapjson__"ConfigChangeStatus"ConfigChangeStatus.of_jsoninletchangeProgressStages=field_mapjson__"ChangeProgressStages"ChangeProgressStageList.of_jsoninlettotalNumberOfStages=field_mapjson__"TotalNumberOfStages"TotalNumberOfStages.of_jsoninletcompletedProperties=field_mapjson__"CompletedProperties"StringList.of_jsoninletpendingProperties=field_mapjson__"PendingProperties"StringList.of_jsoninletstatus=field_mapjson__"Status"OverallChangeStatus.of_jsoninletstartTime=field_mapjson__"StartTime"UpdateTimestamp.of_jsoninletchangeId=field_mapjson__"ChangeId"GUID.of_jsoninmake?initiatedBy?lastUpdatedTime?configChangeStatus?changeProgressStages?totalNumberOfStages?completedProperties?pendingProperties?status?startTime?changeId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The progress details of a specific domain configuration change."]moduleAutoTuneList=structtypenonrect=AutoTune.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AutoTune.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:AutoTune.of_xml)letof_jsonj=list_of_json~kind:"AutoTuneList"~of_json:AutoTune.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleClientToken=structtypenonrect=stringletcontext_="ClientToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:64)>>=(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_valueendmoduleAutoTuneOptionsInput=structtypenonrect={desiredState:AutoTuneDesiredState.toption[@ocaml.doc"Specifies the Auto-Tune desired state. Valid values are ENABLED, DISABLED."];maintenanceSchedules:AutoTuneMaintenanceScheduleList.toption[@ocaml.doc"Specifies list of maitenance schedules. See the Developer Guide for more information."]}letmake?desiredState=fun?maintenanceSchedules->fun()->{desiredState;maintenanceSchedules}letto_valuex=structure_to_value[("DesiredState",(Option.mapx.desiredState~f:AutoTuneDesiredState.to_value));("MaintenanceSchedules",(Option.mapx.maintenanceSchedules~f:AutoTuneMaintenanceScheduleList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaintenanceSchedules=(Option.map~f:AutoTuneMaintenanceScheduleList.of_xml)(Xml.childxml_arg0"MaintenanceSchedules")inletdesiredState=(Option.map~f:AutoTuneDesiredState.of_xml)(Xml.childxml_arg0"DesiredState")inmake?maintenanceSchedules?desiredState()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaintenanceSchedules=field_mapjson__"MaintenanceSchedules"AutoTuneMaintenanceScheduleList.of_jsoninletdesiredState=field_mapjson__"DesiredState"AutoTuneDesiredState.of_jsoninmake?maintenanceSchedules?desiredState()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies the Auto-Tune options: the Auto-Tune desired state for the domain and list of maintenance schedules."]moduleCancelledChangePropertyList=structtypenonrect=CancelledChangeProperty.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CancelledChangeProperty.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:CancelledChangeProperty.of_xml)letof_jsonj=list_of_json~kind:"CancelledChangePropertyList"~of_json:CancelledChangeProperty.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleGUIDList=structtypenonrect=GUID.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GUID.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:GUID.of_xml)letof_jsonj=list_of_json~kind:"GUIDList"~of_json:GUID.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpgradeElasticsearchDomainResponse=structtypenonrect={domainName:DomainName.toption;targetVersion:ElasticsearchVersionString.toption[@ocaml.doc"The version of Elasticsearch that you intend to upgrade the domain to."];performCheckOnly:Boolean.toption[@ocaml.doc"This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade."];changeProgressDetails:ChangeProgressDetails.toption}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceAlreadyExistsExceptionofResourceAlreadyExistsException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainName=fun?targetVersion->fun?performCheckOnly->fun?changeProgressDetails->fun()->{domainName;targetVersion;performCheckOnly;changeProgressDetails}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`ResourceAlreadyExistsExceptione->`Assoc[("error",(`String"ResourceAlreadyExistsException"));("details",(ResourceAlreadyExistsException.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[("DomainName",(Option.mapx.domainName~f:DomainName.to_value));("TargetVersion",(Option.mapx.targetVersion~f:ElasticsearchVersionString.to_value));("PerformCheckOnly",(Option.mapx.performCheckOnly~f:Boolean.to_value));("ChangeProgressDetails",(Option.mapx.changeProgressDetails~f:ChangeProgressDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchangeProgressDetails=(Option.map~f:ChangeProgressDetails.of_xml)(Xml.childxml_arg0"ChangeProgressDetails")inletperformCheckOnly=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PerformCheckOnly")inlettargetVersion=(Option.map~f:ElasticsearchVersionString.of_xml)(Xml.childxml_arg0"TargetVersion")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"DomainName")inmake?changeProgressDetails?performCheckOnly?targetVersion?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchangeProgressDetails=field_mapjson__"ChangeProgressDetails"ChangeProgressDetails.of_jsoninletperformCheckOnly=field_mapjson__"PerformCheckOnly"Boolean.of_jsoninlettargetVersion=field_mapjson__"TargetVersion"ElasticsearchVersionString.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninmake?changeProgressDetails?performCheckOnly?targetVersion?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by UpgradeElasticsearchDomain operation."]moduleUpgradeElasticsearchDomainRequest=structtypenonrect={domainName:DomainName.t;targetVersion:ElasticsearchVersionString.t[@ocaml.doc"The version of Elasticsearch that you intend to upgrade the domain to."];performCheckOnly:Boolean.toption[@ocaml.doc"This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed. This will not actually perform the Upgrade."]}letcontext_="UpgradeElasticsearchDomainRequest"letmake?performCheckOnly=fun~domainName->fun~targetVersion->fun()->{performCheckOnly;domainName;targetVersion}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("TargetVersion",(Some(ElasticsearchVersionString.to_valuex.targetVersion)));("PerformCheckOnly",(Option.mapx.performCheckOnly~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letperformCheckOnly=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"PerformCheckOnly")inlettargetVersion=ElasticsearchVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"TargetVersion")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?performCheckOnly~targetVersion~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letperformCheckOnly=field_mapjson__"PerformCheckOnly"Boolean.of_jsoninlettargetVersion=field_map_exnjson__"TargetVersion"ElasticsearchVersionString.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?performCheckOnly~targetVersion~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to UpgradeElasticsearchDomain operation."]moduleUpdateVpcEndpointResponse=structtypenonrect={vpcEndpoint:VpcEndpoint.toption[@ocaml.doc"The endpoint to be updated."]}typenonrecerror=[`BaseExceptionofBaseException.t|`ConflictExceptionofConflictException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?vpcEndpoint=fun()->{vpcEndpoint}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("VpcEndpoint",(Option.mapx.vpcEndpoint~f:VpcEndpoint.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcEndpoint=(Option.map~f:VpcEndpoint.of_xml)(Xml.childxml_arg0"VpcEndpoint")inmake?vpcEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcEndpoint=field_mapjson__"VpcEndpoint"VpcEndpoint.of_jsoninmake?vpcEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the configuration and status of the VPC endpoint being updated."]moduleUpdateVpcEndpointRequest=structtypenonrect={vpcEndpointId:VpcEndpointId.t[@ocaml.doc"Unique identifier of the VPC endpoint to be updated."];vpcOptions:VPCOptions.t[@ocaml.doc"The security groups and/or subnets to add, remove, or modify."]}letcontext_="UpdateVpcEndpointRequest"letmake~vpcEndpointId=fun~vpcOptions->fun()->{vpcEndpointId;vpcOptions}letto_valuex=structure_to_value[("VpcEndpointId",(Some(VpcEndpointId.to_valuex.vpcEndpointId)));("VpcOptions",(Some(VPCOptions.to_valuex.vpcOptions)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcOptions=VPCOptions.of_xml(Xml.child_exn~context:context_xml_arg0"VpcOptions")inletvpcEndpointId=VpcEndpointId.of_xml(Xml.child_exn~context:context_xml_arg0"VpcEndpointId")inmake~vpcOptions~vpcEndpointId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcOptions=field_map_exnjson__"VpcOptions"VPCOptions.of_jsoninletvpcEndpointId=field_map_exnjson__"VpcEndpointId"VpcEndpointId.of_jsoninmake~vpcOptions~vpcEndpointId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Modifies an Amazon OpenSearch Service-managed interface VPC endpoint."]moduleUpdatePackageResponse=structtypenonrect={packageDetails:PackageDetails.toption[@ocaml.doc"Information about the package PackageDetails."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?packageDetails=fun()->{packageDetails}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.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[("PackageDetails",(Option.mapx.packageDetails~f:PackageDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpackageDetails=(Option.map~f:PackageDetails.of_xml)(Xml.childxml_arg0"PackageDetails")inmake?packageDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpackageDetails=field_mapjson__"PackageDetails"PackageDetails.of_jsoninmake?packageDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by UpdatePackage operation."]moduleUpdatePackageRequest=structtypenonrect={packageID:PackageID.t[@ocaml.doc"Unique identifier for the package."];packageSource:PackageSource.t;packageDescription:PackageDescription.toption[@ocaml.doc"New description of the package."];commitMessage:CommitMessage.toption[@ocaml.doc"An info message for the new version which will be shown as part of GetPackageVersionHistoryResponse."]}letcontext_="UpdatePackageRequest"letmake?packageDescription=fun?commitMessage->fun~packageID->fun~packageSource->fun()->{packageDescription;commitMessage;packageID;packageSource}letto_valuex=structure_to_value[("PackageID",(Some(PackageID.to_valuex.packageID)));("PackageSource",(Some(PackageSource.to_valuex.packageSource)));("PackageDescription",(Option.mapx.packageDescription~f:PackageDescription.to_value));("CommitMessage",(Option.mapx.commitMessage~f:CommitMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcommitMessage=(Option.map~f:CommitMessage.of_xml)(Xml.childxml_arg0"CommitMessage")inletpackageDescription=(Option.map~f:PackageDescription.of_xml)(Xml.childxml_arg0"PackageDescription")inletpackageSource=PackageSource.of_xml(Xml.child_exn~context:context_xml_arg0"PackageSource")inletpackageID=PackageID.of_xml(Xml.child_exn~context:context_xml_arg0"PackageID")inmake?commitMessage?packageDescription~packageSource~packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcommitMessage=field_mapjson__"CommitMessage"CommitMessage.of_jsoninletpackageDescription=field_mapjson__"PackageDescription"PackageDescription.of_jsoninletpackageSource=field_map_exnjson__"PackageSource"PackageSource.of_jsoninletpackageID=field_map_exnjson__"PackageID"PackageID.of_jsoninmake?commitMessage?packageDescription~packageSource~packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to UpdatePackage operation."]moduleUpdateElasticsearchDomainConfigResponse=structtypenonrect={domainConfig:ElasticsearchDomainConfig.toption[@ocaml.doc"The status of the updated Elasticsearch domain."];dryRunResults:DryRunResults.toption[@ocaml.doc"Contains result of DryRun."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`InvalidTypeExceptionofInvalidTypeException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainConfig=fun?dryRunResults->fun()->{domainConfig;dryRunResults}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"InvalidTypeException"->`InvalidTypeException(InvalidTypeException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"InvalidTypeException"->`InvalidTypeException(InvalidTypeException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`InvalidTypeExceptione->`Assoc[("error",(`String"InvalidTypeException"));("details",(InvalidTypeException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.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[("DomainConfig",(Option.mapx.domainConfig~f:ElasticsearchDomainConfig.to_value));("DryRunResults",(Option.mapx.dryRunResults~f:DryRunResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdryRunResults=(Option.map~f:DryRunResults.of_xml)(Xml.childxml_arg0"DryRunResults")inletdomainConfig=(Option.map~f:ElasticsearchDomainConfig.of_xml)(Xml.childxml_arg0"DomainConfig")inmake?dryRunResults?domainConfig()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdryRunResults=field_mapjson__"DryRunResults"DryRunResults.of_jsoninletdomainConfig=field_mapjson__"DomainConfig"ElasticsearchDomainConfig.of_jsoninmake?dryRunResults?domainConfig()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of an UpdateElasticsearchDomain request. Contains the status of the Elasticsearch domain being updated."]moduleUpdateElasticsearchDomainConfigRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the Elasticsearch domain that you are updating."];elasticsearchClusterConfig:ElasticsearchClusterConfig.toption[@ocaml.doc"The type and number of instances to instantiate for the domain cluster."];eBSOptions:EBSOptions.toption[@ocaml.doc"Specify the type and size of the EBS volume that you want to use."];snapshotOptions:SnapshotOptions.toption[@ocaml.doc"Option to set the time, in UTC format, for the daily automated snapshot. Default value is 0 hours."];vPCOptions:VPCOptions.toption[@ocaml.doc"Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains"];cognitoOptions:CognitoOptions.toption[@ocaml.doc"Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana."];advancedOptions:AdvancedOptions.toption[@ocaml.doc"Modifies the advanced option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information."];accessPolicies:PolicyDocument.toption[@ocaml.doc"IAM access policy as a JSON-formatted string."];logPublishingOptions:LogPublishingOptions.toption[@ocaml.doc"Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log."];domainEndpointOptions:DomainEndpointOptions.toption[@ocaml.doc"Options to specify configuration that will be applied to the domain endpoint."];advancedSecurityOptions:AdvancedSecurityOptionsInput.toption[@ocaml.doc"Specifies advanced security options."];nodeToNodeEncryptionOptions:NodeToNodeEncryptionOptions.toption[@ocaml.doc"Specifies the NodeToNodeEncryptionOptions."];encryptionAtRestOptions:EncryptionAtRestOptions.toption[@ocaml.doc"Specifies the Encryption At Rest Options."];autoTuneOptions:AutoTuneOptions.toption[@ocaml.doc"Specifies Auto-Tune options."];dryRun:DryRun.toption[@ocaml.doc"This flag, when set to True, specifies whether the UpdateElasticsearchDomain request should return the results of validation checks without actually applying the change. This flag, when set to True, specifies the deployment mechanism through which the update shall be applied on the domain. This will not actually perform the Update."];deploymentStrategyOptions:DeploymentStrategyOptions.toption[@ocaml.doc"Specifies the deployment strategy options."];automatedSnapshotPauseOptions:AutomatedSnapshotPauseRequestOptions.toption[@ocaml.doc"Specifies the automated snapshot pause options for the domain. Suspending snapshots reduces data protection. You cannot restore your domain to points in time when snapshots are suspended. Use this feature only for short-term operational needs such as migrations or maintenance windows. Maximum suspension duration: 3 days."]}letcontext_="UpdateElasticsearchDomainConfigRequest"letmake?elasticsearchClusterConfig=fun?eBSOptions->fun?snapshotOptions->fun?vPCOptions->fun?cognitoOptions->fun?advancedOptions->fun?accessPolicies->fun?logPublishingOptions->fun?domainEndpointOptions->fun?advancedSecurityOptions->fun?nodeToNodeEncryptionOptions->fun?encryptionAtRestOptions->fun?autoTuneOptions->fun?dryRun->fun?deploymentStrategyOptions->fun?automatedSnapshotPauseOptions->fun~domainName->fun()->{elasticsearchClusterConfig;eBSOptions;snapshotOptions;vPCOptions;cognitoOptions;advancedOptions;accessPolicies;logPublishingOptions;domainEndpointOptions;advancedSecurityOptions;nodeToNodeEncryptionOptions;encryptionAtRestOptions;autoTuneOptions;dryRun;deploymentStrategyOptions;automatedSnapshotPauseOptions;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("ElasticsearchClusterConfig",(Option.mapx.elasticsearchClusterConfig~f:ElasticsearchClusterConfig.to_value));("EBSOptions",(Option.mapx.eBSOptions~f:EBSOptions.to_value));("SnapshotOptions",(Option.mapx.snapshotOptions~f:SnapshotOptions.to_value));("VPCOptions",(Option.mapx.vPCOptions~f:VPCOptions.to_value));("CognitoOptions",(Option.mapx.cognitoOptions~f:CognitoOptions.to_value));("AdvancedOptions",(Option.mapx.advancedOptions~f:AdvancedOptions.to_value));("AccessPolicies",(Option.mapx.accessPolicies~f:PolicyDocument.to_value));("LogPublishingOptions",(Option.mapx.logPublishingOptions~f:LogPublishingOptions.to_value));("DomainEndpointOptions",(Option.mapx.domainEndpointOptions~f:DomainEndpointOptions.to_value));("AdvancedSecurityOptions",(Option.mapx.advancedSecurityOptions~f:AdvancedSecurityOptionsInput.to_value));("NodeToNodeEncryptionOptions",(Option.mapx.nodeToNodeEncryptionOptions~f:NodeToNodeEncryptionOptions.to_value));("EncryptionAtRestOptions",(Option.mapx.encryptionAtRestOptions~f:EncryptionAtRestOptions.to_value));("AutoTuneOptions",(Option.mapx.autoTuneOptions~f:AutoTuneOptions.to_value));("DryRun",(Option.mapx.dryRun~f:DryRun.to_value));("DeploymentStrategyOptions",(Option.mapx.deploymentStrategyOptions~f:DeploymentStrategyOptions.to_value));("AutomatedSnapshotPauseOptions",(Option.mapx.automatedSnapshotPauseOptions~f:AutomatedSnapshotPauseRequestOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letautomatedSnapshotPauseOptions=(Option.map~f:AutomatedSnapshotPauseRequestOptions.of_xml)(Xml.childxml_arg0"AutomatedSnapshotPauseOptions")inletdeploymentStrategyOptions=(Option.map~f:DeploymentStrategyOptions.of_xml)(Xml.childxml_arg0"DeploymentStrategyOptions")inletdryRun=(Option.map~f:DryRun.of_xml)(Xml.childxml_arg0"DryRun")inletautoTuneOptions=(Option.map~f:AutoTuneOptions.of_xml)(Xml.childxml_arg0"AutoTuneOptions")inletencryptionAtRestOptions=(Option.map~f:EncryptionAtRestOptions.of_xml)(Xml.childxml_arg0"EncryptionAtRestOptions")inletnodeToNodeEncryptionOptions=(Option.map~f:NodeToNodeEncryptionOptions.of_xml)(Xml.childxml_arg0"NodeToNodeEncryptionOptions")inletadvancedSecurityOptions=(Option.map~f:AdvancedSecurityOptionsInput.of_xml)(Xml.childxml_arg0"AdvancedSecurityOptions")inletdomainEndpointOptions=(Option.map~f:DomainEndpointOptions.of_xml)(Xml.childxml_arg0"DomainEndpointOptions")inletlogPublishingOptions=(Option.map~f:LogPublishingOptions.of_xml)(Xml.childxml_arg0"LogPublishingOptions")inletaccessPolicies=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"AccessPolicies")inletadvancedOptions=(Option.map~f:AdvancedOptions.of_xml)(Xml.childxml_arg0"AdvancedOptions")inletcognitoOptions=(Option.map~f:CognitoOptions.of_xml)(Xml.childxml_arg0"CognitoOptions")inletvPCOptions=(Option.map~f:VPCOptions.of_xml)(Xml.childxml_arg0"VPCOptions")inletsnapshotOptions=(Option.map~f:SnapshotOptions.of_xml)(Xml.childxml_arg0"SnapshotOptions")inleteBSOptions=(Option.map~f:EBSOptions.of_xml)(Xml.childxml_arg0"EBSOptions")inletelasticsearchClusterConfig=(Option.map~f:ElasticsearchClusterConfig.of_xml)(Xml.childxml_arg0"ElasticsearchClusterConfig")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?automatedSnapshotPauseOptions?deploymentStrategyOptions?dryRun?autoTuneOptions?encryptionAtRestOptions?nodeToNodeEncryptionOptions?advancedSecurityOptions?domainEndpointOptions?logPublishingOptions?accessPolicies?advancedOptions?cognitoOptions?vPCOptions?snapshotOptions?eBSOptions?elasticsearchClusterConfig~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letautomatedSnapshotPauseOptions=field_mapjson__"AutomatedSnapshotPauseOptions"AutomatedSnapshotPauseRequestOptions.of_jsoninletdeploymentStrategyOptions=field_mapjson__"DeploymentStrategyOptions"DeploymentStrategyOptions.of_jsoninletdryRun=field_mapjson__"DryRun"DryRun.of_jsoninletautoTuneOptions=field_mapjson__"AutoTuneOptions"AutoTuneOptions.of_jsoninletencryptionAtRestOptions=field_mapjson__"EncryptionAtRestOptions"EncryptionAtRestOptions.of_jsoninletnodeToNodeEncryptionOptions=field_mapjson__"NodeToNodeEncryptionOptions"NodeToNodeEncryptionOptions.of_jsoninletadvancedSecurityOptions=field_mapjson__"AdvancedSecurityOptions"AdvancedSecurityOptionsInput.of_jsoninletdomainEndpointOptions=field_mapjson__"DomainEndpointOptions"DomainEndpointOptions.of_jsoninletlogPublishingOptions=field_mapjson__"LogPublishingOptions"LogPublishingOptions.of_jsoninletaccessPolicies=field_mapjson__"AccessPolicies"PolicyDocument.of_jsoninletadvancedOptions=field_mapjson__"AdvancedOptions"AdvancedOptions.of_jsoninletcognitoOptions=field_mapjson__"CognitoOptions"CognitoOptions.of_jsoninletvPCOptions=field_mapjson__"VPCOptions"VPCOptions.of_jsoninletsnapshotOptions=field_mapjson__"SnapshotOptions"SnapshotOptions.of_jsoninleteBSOptions=field_mapjson__"EBSOptions"EBSOptions.of_jsoninletelasticsearchClusterConfig=field_mapjson__"ElasticsearchClusterConfig"ElasticsearchClusterConfig.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?automatedSnapshotPauseOptions?deploymentStrategyOptions?dryRun?autoTuneOptions?encryptionAtRestOptions?nodeToNodeEncryptionOptions?advancedSecurityOptions?domainEndpointOptions?logPublishingOptions?accessPolicies?advancedOptions?cognitoOptions?vPCOptions?snapshotOptions?eBSOptions?elasticsearchClusterConfig~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the UpdateElasticsearchDomain operation. Specifies the type and number of instances in the domain cluster."]moduleStartElasticsearchServiceSoftwareUpdateResponse=structtypenonrect={serviceSoftwareOptions:ServiceSoftwareOptions.toption[@ocaml.doc"The current status of the Elasticsearch service software update."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?serviceSoftwareOptions=fun()->{serviceSoftwareOptions}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("ServiceSoftwareOptions",(Option.mapx.serviceSoftwareOptions~f:ServiceSoftwareOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceSoftwareOptions=(Option.map~f:ServiceSoftwareOptions.of_xml)(Xml.childxml_arg0"ServiceSoftwareOptions")inmake?serviceSoftwareOptions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceSoftwareOptions=field_mapjson__"ServiceSoftwareOptions"ServiceSoftwareOptions.of_jsoninmake?serviceSoftwareOptions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a StartElasticsearchServiceSoftwareUpdate operation. Contains the status of the update."]moduleStartElasticsearchServiceSoftwareUpdateRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to update to the latest service software."]}letcontext_="StartElasticsearchServiceSoftwareUpdateRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the StartElasticsearchServiceSoftwareUpdate operation. Specifies the name of the Elasticsearch domain that you wish to schedule a service software update on."]moduleRevokeVpcEndpointAccessResponse=structtypenonrect=unittypenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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"Container for response parameters to the RevokeVpcEndpointAccess operation. The response body for this operation is empty."]moduleRevokeVpcEndpointAccessRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the OpenSearch Service domain."];account:AWSAccount.t[@ocaml.doc"The account ID to revoke access from."]}letcontext_="RevokeVpcEndpointAccessRequest"letmake~domainName=fun~account->fun()->{domainName;account}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("Account",(Some(AWSAccount.to_valuex.account)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccount=AWSAccount.of_xml(Xml.child_exn~context:context_xml_arg0"Account")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~account~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccount=field_map_exnjson__"Account"AWSAccount.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~account~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Revokes access to an Amazon OpenSearch Service domain that was provided through an interface VPC endpoint."]moduleRemoveTagsRequest=structtypenonrect={aRN:ARN.t[@ocaml.doc"Specifies the ARN for the Elasticsearch domain from which you want to delete the specified tags."];tagKeys:StringList.t[@ocaml.doc"Specifies the TagKey list which you want to remove from the Elasticsearch domain."]}letcontext_="RemoveTagsRequest"letmake~aRN=fun~tagKeys->fun()->{aRN;tagKeys}letto_valuex=structure_to_value[("ARN",(Some(ARN.to_valuex.aRN)));("TagKeys",(Some(StringList.to_valuex.tagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagKeys=StringList.of_xml(Xml.child_exn~context:context_xml_arg0"TagKeys")inletaRN=ARN.of_xml(Xml.child_exn~context:context_xml_arg0"ARN")inmake~tagKeys~aRN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"TagKeys"StringList.of_jsoninletaRN=field_map_exnjson__"ARN"ARN.of_jsoninmake~tagKeys~aRN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the RemoveTags operation. Specify the ARN for the Elasticsearch domain from which you want to remove the specified TagKey."]moduleRejectInboundCrossClusterSearchConnectionResponse=structtypenonrect={crossClusterSearchConnection:InboundCrossClusterSearchConnection.toption[@ocaml.doc"Specifies the InboundCrossClusterSearchConnection of rejected inbound connection."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`Unknown_operation_errorof(string*stringoption)]letmake?crossClusterSearchConnection=fun()->{crossClusterSearchConnection}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("CrossClusterSearchConnection",(Option.mapx.crossClusterSearchConnection~f:InboundCrossClusterSearchConnection.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnection=(Option.map~f:InboundCrossClusterSearchConnection.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnection")inmake?crossClusterSearchConnection()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnection=field_mapjson__"CrossClusterSearchConnection"InboundCrossClusterSearchConnection.of_jsoninmake?crossClusterSearchConnection()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a RejectInboundCrossClusterSearchConnection operation. Contains details of rejected inbound connection."]moduleRejectInboundCrossClusterSearchConnectionRequest=structtypenonrect={crossClusterSearchConnectionId:CrossClusterSearchConnectionId.t[@ocaml.doc"The id of the inbound connection that you want to reject."]}letcontext_="RejectInboundCrossClusterSearchConnectionRequest"letmake~crossClusterSearchConnectionId=fun()->{crossClusterSearchConnectionId}letto_valuex=structure_to_value[("ConnectionId",(Some(CrossClusterSearchConnectionId.to_valuex.crossClusterSearchConnectionId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnectionId=CrossClusterSearchConnectionId.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectionId")inmake~crossClusterSearchConnectionId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnectionId=field_map_exnjson__"CrossClusterSearchConnectionId"CrossClusterSearchConnectionId.of_jsoninmake~crossClusterSearchConnectionId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the RejectInboundCrossClusterSearchConnection operation."]modulePurchaseReservedElasticsearchInstanceOfferingResponse=structtypenonrect={reservedElasticsearchInstanceId:GUID.toption[@ocaml.doc"Details of the reserved Elasticsearch instance which was purchased."];reservationName:ReservationToken.toption[@ocaml.doc"The customer-specified identifier used to track this reservation."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceAlreadyExistsExceptionofResourceAlreadyExistsException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?reservedElasticsearchInstanceId=fun?reservationName->fun()->{reservedElasticsearchInstanceId;reservationName}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_jsonjson)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.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|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_xmlxml)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.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|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.to_jsone))]|`ResourceAlreadyExistsExceptione->`Assoc[("error",(`String"ResourceAlreadyExistsException"));("details",(ResourceAlreadyExistsException.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[("ReservedElasticsearchInstanceId",(Option.mapx.reservedElasticsearchInstanceId~f:GUID.to_value));("ReservationName",(Option.mapx.reservationName~f:ReservationToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreservationName=(Option.map~f:ReservationToken.of_xml)(Xml.childxml_arg0"ReservationName")inletreservedElasticsearchInstanceId=(Option.map~f:GUID.of_xml)(Xml.childxml_arg0"ReservedElasticsearchInstanceId")inmake?reservationName?reservedElasticsearchInstanceId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreservationName=field_mapjson__"ReservationName"ReservationToken.of_jsoninletreservedElasticsearchInstanceId=field_mapjson__"ReservedElasticsearchInstanceId"GUID.of_jsoninmake?reservationName?reservedElasticsearchInstanceId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents the output of a PurchaseReservedElasticsearchInstanceOffering operation."]modulePurchaseReservedElasticsearchInstanceOfferingRequest=structtypenonrect={reservedElasticsearchInstanceOfferingId:GUID.t[@ocaml.doc"The ID of the reserved Elasticsearch instance offering to purchase."];reservationName:ReservationToken.t[@ocaml.doc"A customer-specified identifier to track this reservation."];instanceCount:InstanceCount.toption[@ocaml.doc"The number of Elasticsearch instances to reserve."]}letcontext_="PurchaseReservedElasticsearchInstanceOfferingRequest"letmake?instanceCount=fun~reservedElasticsearchInstanceOfferingId->fun~reservationName->fun()->{instanceCount;reservedElasticsearchInstanceOfferingId;reservationName}letto_valuex=structure_to_value[("ReservedElasticsearchInstanceOfferingId",(Some(GUID.to_valuex.reservedElasticsearchInstanceOfferingId)));("ReservationName",(Some(ReservationToken.to_valuex.reservationName)));("InstanceCount",(Option.mapx.instanceCount~f:InstanceCount.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinstanceCount=(Option.map~f:InstanceCount.of_xml)(Xml.childxml_arg0"InstanceCount")inletreservationName=ReservationToken.of_xml(Xml.child_exn~context:context_xml_arg0"ReservationName")inletreservedElasticsearchInstanceOfferingId=GUID.of_xml(Xml.child_exn~context:context_xml_arg0"ReservedElasticsearchInstanceOfferingId")inmake?instanceCount~reservationName~reservedElasticsearchInstanceOfferingId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinstanceCount=field_mapjson__"InstanceCount"InstanceCount.of_jsoninletreservationName=field_map_exnjson__"ReservationName"ReservationToken.of_jsoninletreservedElasticsearchInstanceOfferingId=field_map_exnjson__"ReservedElasticsearchInstanceOfferingId"GUID.of_jsoninmake?instanceCount~reservationName~reservedElasticsearchInstanceOfferingId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for parameters to PurchaseReservedElasticsearchInstanceOffering"]moduleListVpcEndpointsResponse=structtypenonrect={vpcEndpointSummaryList:VpcEndpointSummaryList.toption[@ocaml.doc"Information about each endpoint."];nextToken:NextToken.toption[@ocaml.doc"Provides an identifier to allow retrieval of paginated results."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`Unknown_operation_errorof(string*stringoption)]letmake?vpcEndpointSummaryList=fun?nextToken->fun()->{vpcEndpointSummaryList;nextToken}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("VpcEndpointSummaryList",(Option.mapx.vpcEndpointSummaryList~f:VpcEndpointSummaryList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletvpcEndpointSummaryList=(Option.map~f:VpcEndpointSummaryList.of_xml)(Xml.childxml_arg0"VpcEndpointSummaryList")inmake?nextToken?vpcEndpointSummaryList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletvpcEndpointSummaryList=field_mapjson__"VpcEndpointSummaryList"VpcEndpointSummaryList.of_jsoninmake?nextToken?vpcEndpointSummaryList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to the ListVpcEndpoints operation. Returns a list containing summarized details of the VPC endpoints."]moduleListVpcEndpointsRequest=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"Identifier to allow retrieval of paginated results."]}letmake?nextToken=fun()->{nextToken}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninmake?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to the ListVpcEndpoints operation."]moduleListVpcEndpointsForDomainResponse=structtypenonrect={vpcEndpointSummaryList:VpcEndpointSummaryList.toption[@ocaml.doc"Provides list of VpcEndpointSummary summarizing details of the VPC endpoints."];nextToken:NextToken.toption[@ocaml.doc"Information about each endpoint associated with the domain."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`Unknown_operation_errorof(string*stringoption)]letmake?vpcEndpointSummaryList=fun?nextToken->fun()->{vpcEndpointSummaryList;nextToken}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("VpcEndpointSummaryList",(Option.mapx.vpcEndpointSummaryList~f:VpcEndpointSummaryList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletvpcEndpointSummaryList=(Option.map~f:VpcEndpointSummaryList.of_xml)(Xml.childxml_arg0"VpcEndpointSummaryList")inmake?nextToken?vpcEndpointSummaryList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletvpcEndpointSummaryList=field_mapjson__"VpcEndpointSummaryList"VpcEndpointSummaryList.of_jsoninmake?nextToken?vpcEndpointSummaryList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to the ListVpcEndpointsForDomain operation. Returns a list containing summarized details of the VPC endpoints."]moduleListVpcEndpointsForDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"Name of the ElasticSearch domain whose VPC endpoints are to be listed."];nextToken:NextToken.toption[@ocaml.doc"Provides an identifier to allow retrieval of paginated results."]}letcontext_="ListVpcEndpointsForDomainRequest"letmake?nextToken=fun~domainName->fun()->{nextToken;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?nextToken~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?nextToken~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to the ListVpcEndpointsForDomain operation. Specifies the domain whose VPC endpoints will be listed."]moduleListVpcEndpointAccessResponse=structtypenonrect={authorizedPrincipalList:AuthorizedPrincipalList.toption[@ocaml.doc"List of AuthorizedPrincipal describing the details of the permissions to manage VPC endpoints against the specified domain."];nextToken:NextToken.toption[@ocaml.doc"Provides an identifier to allow retrieval of paginated results."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`Unknown_operation_errorof(string*stringoption)]letmake?authorizedPrincipalList=fun?nextToken->fun()->{authorizedPrincipalList;nextToken}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("AuthorizedPrincipalList",(Option.mapx.authorizedPrincipalList~f:AuthorizedPrincipalList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletauthorizedPrincipalList=(Option.map~f:AuthorizedPrincipalList.of_xml)(Xml.childxml_arg0"AuthorizedPrincipalList")inmake?nextToken?authorizedPrincipalList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletauthorizedPrincipalList=field_mapjson__"AuthorizedPrincipalList"AuthorizedPrincipalList.of_jsoninmake?nextToken?authorizedPrincipalList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to the ListVpcEndpointAccess operation. Returns a list of accounts id and account type authorized to manage VPC endpoints."]moduleListVpcEndpointAccessRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the OpenSearch Service domain to retrieve access information for."];nextToken:NextToken.toption[@ocaml.doc"Provides an identifier to allow retrieval of paginated results."]}letcontext_="ListVpcEndpointAccessRequest"letmake?nextToken=fun~domainName->fun()->{nextToken;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?nextToken~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?nextToken~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about each principal that is allowed to access a given Amazon OpenSearch Service domain through the use of an interface VPC endpoint"]moduleListTagsResponse=structtypenonrect={tagList:TagList.toption[@ocaml.doc"List of Tag for the requested Elasticsearch domain."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tagList=fun()->{tagList}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("TagList",(Option.mapx.tagList~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagList=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"TagList")inmake?tagList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagList=field_mapjson__"TagList"TagList.of_jsoninmake?tagList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a ListTags operation. Contains tags for all requested Elasticsearch domains."]moduleListTagsRequest=structtypenonrect={aRN:ARN.t[@ocaml.doc"Specify the ARN for the Elasticsearch domain to which the tags are attached that you want to view."]}letcontext_="ListTagsRequest"letmake~aRN=fun()->{aRN}letto_valuex=structure_to_value[("arn",(Some(ARN.to_valuex.aRN)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaRN=ARN.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~aRN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaRN=field_map_exnjson__"ARN"ARN.of_jsoninmake~aRN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the ListTags operation. Specify the ARN for the Elasticsearch domain to which the tags are attached that you want to view are attached."]moduleListPackagesForDomainResponse=structtypenonrect={domainPackageDetailsList:DomainPackageDetailsList.toption[@ocaml.doc"List of DomainPackageDetails objects."];nextToken:String_.toption[@ocaml.doc"Pagination token that needs to be supplied to the next call to get the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainPackageDetailsList=fun?nextToken->fun()->{domainPackageDetailsList;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DomainPackageDetailsList",(Option.mapx.domainPackageDetailsList~f:DomainPackageDetailsList.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")inletdomainPackageDetailsList=(Option.map~f:DomainPackageDetailsList.of_xml)(Xml.childxml_arg0"DomainPackageDetailsList")inmake?nextToken?domainPackageDetailsList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"String_.of_jsoninletdomainPackageDetailsList=field_mapjson__"DomainPackageDetailsList"DomainPackageDetailsList.of_jsoninmake?nextToken?domainPackageDetailsList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to ListPackagesForDomain operation."]moduleListPackagesForDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain for which you want to list associated packages."];maxResults:MaxResults.toption[@ocaml.doc"Limits results to a maximum number of packages."];nextToken:NextToken.toption[@ocaml.doc"Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page."]}letcontext_="ListPackagesForDomainRequest"letmake?maxResults=fun?nextToken->fun~domainName->fun()->{maxResults;nextToken;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?nextToken?maxResults~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?nextToken?maxResults~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to ListPackagesForDomain operation."]moduleListElasticsearchVersionsResponse=structtypenonrect={elasticsearchVersions:ElasticsearchVersionList.toption;nextToken:NextToken.toption}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?elasticsearchVersions=fun?nextToken->fun()->{elasticsearchVersions;nextToken}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("ElasticsearchVersions",(Option.mapx.elasticsearchVersions~f:ElasticsearchVersionList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletelasticsearchVersions=(Option.map~f:ElasticsearchVersionList.of_xml)(Xml.childxml_arg0"ElasticsearchVersions")inmake?nextToken?elasticsearchVersions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletelasticsearchVersions=field_mapjson__"ElasticsearchVersions"ElasticsearchVersionList.of_jsoninmake?nextToken?elasticsearchVersions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters for response received from ListElasticsearchVersions operation."]moduleListElasticsearchVersionsRequest=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"Set this value to limit the number of results returned. Value provided must be greater than 10 else it wont be honored."];nextToken:NextToken.toption}letmake?maxResults=fun?nextToken->fun()->{maxResults;nextToken}letto_valuex=structure_to_value[("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inmake?nextToken?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninmake?nextToken?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the ListElasticsearchVersions operation. Use MaxResults to control the maximum number of results to retrieve in a single call. Use NextToken in response to retrieve more results. If the received response does not contain a NextToken, then there are no more results to retrieve."]moduleListElasticsearchInstanceTypesResponse=structtypenonrect={elasticsearchInstanceTypes:ElasticsearchInstanceTypeList.toption[@ocaml.doc"List of instance types supported by Amazon Elasticsearch service for given ElasticsearchVersion"];nextToken:NextToken.toption[@ocaml.doc"In case if there are more results available NextToken would be present, make further request to the same API with received NextToken to paginate remaining results."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?elasticsearchInstanceTypes=fun?nextToken->fun()->{elasticsearchInstanceTypes;nextToken}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("ElasticsearchInstanceTypes",(Option.mapx.elasticsearchInstanceTypes~f:ElasticsearchInstanceTypeList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletelasticsearchInstanceTypes=(Option.map~f:ElasticsearchInstanceTypeList.of_xml)(Xml.childxml_arg0"ElasticsearchInstanceTypes")inmake?nextToken?elasticsearchInstanceTypes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletelasticsearchInstanceTypes=field_mapjson__"ElasticsearchInstanceTypes"ElasticsearchInstanceTypeList.of_jsoninmake?nextToken?elasticsearchInstanceTypes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters returned by ListElasticsearchInstanceTypes operation."]moduleListElasticsearchInstanceTypesRequest=structtypenonrect={elasticsearchVersion:ElasticsearchVersionString.t[@ocaml.doc"Version of Elasticsearch for which list of supported elasticsearch instance types are needed."];domainName:DomainName.toption[@ocaml.doc"DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for list of available Elasticsearch instance types when modifying existing domain."];maxResults:MaxResults.toption[@ocaml.doc"Set this value to limit the number of results returned. Value provided must be greater than 30 else it wont be honored."];nextToken:NextToken.toption[@ocaml.doc"NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination."]}letcontext_="ListElasticsearchInstanceTypesRequest"letmake?domainName=fun?maxResults->fun?nextToken->fun~elasticsearchVersion->fun()->{domainName;maxResults;nextToken;elasticsearchVersion}letto_valuex=structure_to_value[("ElasticsearchVersion",(Some(ElasticsearchVersionString.to_valuex.elasticsearchVersion)));("domainName",(Option.mapx.domainName~f:DomainName.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inletelasticsearchVersion=ElasticsearchVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"ElasticsearchVersion")inmake?nextToken?maxResults?domainName~elasticsearchVersion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninletelasticsearchVersion=field_map_exnjson__"ElasticsearchVersion"ElasticsearchVersionString.of_jsoninmake?nextToken?maxResults?domainName~elasticsearchVersion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the ListElasticsearchInstanceTypes operation."]moduleListDomainsForPackageResponse=structtypenonrect={domainPackageDetailsList:DomainPackageDetailsList.toption[@ocaml.doc"List of DomainPackageDetails objects."];nextToken:String_.toption}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainPackageDetailsList=fun?nextToken->fun()->{domainPackageDetailsList;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DomainPackageDetailsList",(Option.mapx.domainPackageDetailsList~f:DomainPackageDetailsList.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")inletdomainPackageDetailsList=(Option.map~f:DomainPackageDetailsList.of_xml)(Xml.childxml_arg0"DomainPackageDetailsList")inmake?nextToken?domainPackageDetailsList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"String_.of_jsoninletdomainPackageDetailsList=field_mapjson__"DomainPackageDetailsList"DomainPackageDetailsList.of_jsoninmake?nextToken?domainPackageDetailsList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to ListDomainsForPackage operation."]moduleListDomainsForPackageRequest=structtypenonrect={packageID:PackageID.t[@ocaml.doc"The package for which to list domains."];maxResults:MaxResults.toption[@ocaml.doc"Limits results to a maximum number of domains."];nextToken:NextToken.toption[@ocaml.doc"Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page."]}letcontext_="ListDomainsForPackageRequest"letmake?maxResults=fun?nextToken->fun~packageID->fun()->{maxResults;nextToken;packageID}letto_valuex=structure_to_value[("PackageID",(Some(PackageID.to_valuex.packageID)));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletpackageID=PackageID.of_xml(Xml.child_exn~context:context_xml_arg0"PackageID")inmake?nextToken?maxResults~packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletpackageID=field_map_exnjson__"PackageID"PackageID.of_jsoninmake?nextToken?maxResults~packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to ListDomainsForPackage operation."]moduleListDomainNamesResponse=structtypenonrect={domainNames:DomainInfoList.toption[@ocaml.doc"List of domain names and respective engine types."]}typenonrecerror=[`BaseExceptionofBaseException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainNames=fun()->{domainNames}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.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[("DomainNames",(Option.mapx.domainNames~f:DomainInfoList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainNames=(Option.map~f:DomainInfoList.of_xml)(Xml.childxml_arg0"DomainNames")inmake?domainNames()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainNames=field_mapjson__"DomainNames"DomainInfoList.of_jsoninmake?domainNames()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a ListDomainNames operation. Contains the names of all domains owned by this account and their respective engine types."]moduleListDomainNamesRequest=structtypenonrect={engineType:EngineType.toption[@ocaml.doc"Optional parameter to filter the output by domain engine type. Acceptable values are 'Elasticsearch' and 'OpenSearch'."]}letmake?engineType=fun()->{engineType}letto_valuex=structure_to_value[("engineType",(Option.mapx.engineType~f:EngineType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letengineType=(Option.map~f:EngineType.of_xml)(Xml.childxml_arg0"engineType")inmake?engineType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letengineType=field_mapjson__"EngineType"EngineType.of_jsoninmake?engineType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the ListDomainNames operation."]moduleGetUpgradeStatusResponse=structtypenonrect={upgradeStep:UpgradeStep.toption[@ocaml.doc"Represents one of 3 steps that an Upgrade or Upgrade Eligibility Check does through: PreUpgradeCheck Snapshot Upgrade"];stepStatus:UpgradeStatus.toption[@ocaml.doc"One of 4 statuses that a step can go through returned as part of the GetUpgradeStatusResponse object. The status can take one of the following values: In Progress Succeeded Succeeded with Issues Failed"];upgradeName:UpgradeName.toption[@ocaml.doc"A string that describes the update briefly"]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?upgradeStep=fun?stepStatus->fun?upgradeName->fun()->{upgradeStep;stepStatus;upgradeName}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("UpgradeStep",(Option.mapx.upgradeStep~f:UpgradeStep.to_value));("StepStatus",(Option.mapx.stepStatus~f:UpgradeStatus.to_value));("UpgradeName",(Option.mapx.upgradeName~f:UpgradeName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupgradeName=(Option.map~f:UpgradeName.of_xml)(Xml.childxml_arg0"UpgradeName")inletstepStatus=(Option.map~f:UpgradeStatus.of_xml)(Xml.childxml_arg0"StepStatus")inletupgradeStep=(Option.map~f:UpgradeStep.of_xml)(Xml.childxml_arg0"UpgradeStep")inmake?upgradeName?stepStatus?upgradeStep()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupgradeName=field_mapjson__"UpgradeName"UpgradeName.of_jsoninletstepStatus=field_mapjson__"StepStatus"UpgradeStatus.of_jsoninletupgradeStep=field_mapjson__"UpgradeStep"UpgradeStep.of_jsoninmake?upgradeName?stepStatus?upgradeStep()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by GetUpgradeStatus operation."]moduleGetUpgradeStatusRequest=structtypenonrect={domainName:DomainName.t}letcontext_="GetUpgradeStatusRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to GetUpgradeStatus operation."]moduleGetUpgradeHistoryResponse=structtypenonrect={upgradeHistories:UpgradeHistoryList.toption[@ocaml.doc"A list of UpgradeHistory objects corresponding to each Upgrade or Upgrade Eligibility Check performed on a domain returned as part of GetUpgradeHistoryResponse object."];nextToken:String_.toption[@ocaml.doc"Pagination token that needs to be supplied to the next call to get the next page of results"]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?upgradeHistories=fun?nextToken->fun()->{upgradeHistories;nextToken}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("UpgradeHistories",(Option.mapx.upgradeHistories~f:UpgradeHistoryList.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")inletupgradeHistories=(Option.map~f:UpgradeHistoryList.of_xml)(Xml.childxml_arg0"UpgradeHistories")inmake?nextToken?upgradeHistories()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"String_.of_jsoninletupgradeHistories=field_mapjson__"UpgradeHistories"UpgradeHistoryList.of_jsoninmake?nextToken?upgradeHistories()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by GetUpgradeHistory operation."]moduleGetUpgradeHistoryRequest=structtypenonrect={domainName:DomainName.t;maxResults:MaxResults.toption;nextToken:NextToken.toption}letcontext_="GetUpgradeHistoryRequest"letmake?maxResults=fun?nextToken->fun~domainName->fun()->{maxResults;nextToken;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?nextToken?maxResults~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?nextToken?maxResults~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to GetUpgradeHistory operation."]moduleGetPackageVersionHistoryResponse=structtypenonrect={packageID:PackageID.toption;packageVersionHistoryList:PackageVersionHistoryList.toption[@ocaml.doc"List of PackageVersionHistory objects."];nextToken:String_.toption}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?packageID=fun?packageVersionHistoryList->fun?nextToken->fun()->{packageID;packageVersionHistoryList;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("PackageID",(Option.mapx.packageID~f:PackageID.to_value));("PackageVersionHistoryList",(Option.mapx.packageVersionHistoryList~f:PackageVersionHistoryList.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")inletpackageVersionHistoryList=(Option.map~f:PackageVersionHistoryList.of_xml)(Xml.childxml_arg0"PackageVersionHistoryList")inletpackageID=(Option.map~f:PackageID.of_xml)(Xml.childxml_arg0"PackageID")inmake?nextToken?packageVersionHistoryList?packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"String_.of_jsoninletpackageVersionHistoryList=field_mapjson__"PackageVersionHistoryList"PackageVersionHistoryList.of_jsoninletpackageID=field_mapjson__"PackageID"PackageID.of_jsoninmake?nextToken?packageVersionHistoryList?packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by GetPackageVersionHistory operation."]moduleGetPackageVersionHistoryRequest=structtypenonrect={packageID:PackageID.t[@ocaml.doc"Returns an audit history of versions of the package."];maxResults:MaxResults.toption[@ocaml.doc"Limits results to a maximum number of versions."];nextToken:NextToken.toption[@ocaml.doc"Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page."]}letcontext_="GetPackageVersionHistoryRequest"letmake?maxResults=fun?nextToken->fun~packageID->fun()->{maxResults;nextToken;packageID}letto_valuex=structure_to_value[("PackageID",(Some(PackageID.to_valuex.packageID)));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletpackageID=PackageID.of_xml(Xml.child_exn~context:context_xml_arg0"PackageID")inmake?nextToken?maxResults~packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletpackageID=field_map_exnjson__"PackageID"PackageID.of_jsoninmake?nextToken?maxResults~packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to GetPackageVersionHistory operation."]moduleGetCompatibleElasticsearchVersionsResponse=structtypenonrect={compatibleElasticsearchVersions:CompatibleElasticsearchVersionsList.toption[@ocaml.doc"A map of compatible Elasticsearch versions returned as part of the GetCompatibleElasticsearchVersions operation."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?compatibleElasticsearchVersions=fun()->{compatibleElasticsearchVersions}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("CompatibleElasticsearchVersions",(Option.mapx.compatibleElasticsearchVersions~f:CompatibleElasticsearchVersionsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcompatibleElasticsearchVersions=(Option.map~f:CompatibleElasticsearchVersionsList.of_xml)(Xml.childxml_arg0"CompatibleElasticsearchVersions")inmake?compatibleElasticsearchVersions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcompatibleElasticsearchVersions=field_mapjson__"CompatibleElasticsearchVersions"CompatibleElasticsearchVersionsList.of_jsoninmake?compatibleElasticsearchVersions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by GetCompatibleElasticsearchVersions operation."]moduleGetCompatibleElasticsearchVersionsRequest=structtypenonrect={domainName:DomainName.toption}letmake?domainName=fun()->{domainName}letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:DomainName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inmake?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_mapjson__"DomainName"DomainName.of_jsoninmake?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to GetCompatibleElasticsearchVersions operation."]moduleDissociatePackageResponse=structtypenonrect={domainPackageDetails:DomainPackageDetails.toption[@ocaml.doc"DomainPackageDetails"]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`ConflictExceptionofConflictException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainPackageDetails=fun()->{domainPackageDetails}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DomainPackageDetails",(Option.mapx.domainPackageDetails~f:DomainPackageDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainPackageDetails=(Option.map~f:DomainPackageDetails.of_xml)(Xml.childxml_arg0"DomainPackageDetails")inmake?domainPackageDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainPackageDetails=field_mapjson__"DomainPackageDetails"DomainPackageDetails.of_jsoninmake?domainPackageDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by DissociatePackage operation."]moduleDissociatePackageRequest=structtypenonrect={packageID:PackageID.t[@ocaml.doc"Internal ID of the package that you want to associate with a domain. Use DescribePackages to find this value."];domainName:DomainName.t[@ocaml.doc"Name of the domain that you want to associate the package with."]}letcontext_="DissociatePackageRequest"letmake~packageID=fun~domainName->fun()->{packageID;domainName}letto_valuex=structure_to_value[("PackageID",(Some(PackageID.to_valuex.packageID)));("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inletpackageID=PackageID.of_xml(Xml.child_exn~context:context_xml_arg0"PackageID")inmake~domainName~packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninletpackageID=field_map_exnjson__"PackageID"PackageID.of_jsoninmake~domainName~packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to DissociatePackage operation."]moduleDescribeVpcEndpointsResponse=structtypenonrect={vpcEndpoints:VpcEndpoints.toption[@ocaml.doc"Information about each requested VPC endpoint."];vpcEndpointErrors:VpcEndpointErrorList.toption[@ocaml.doc"Any errors associated with the request."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?vpcEndpoints=fun?vpcEndpointErrors->fun()->{vpcEndpoints;vpcEndpointErrors}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("VpcEndpoints",(Option.mapx.vpcEndpoints~f:VpcEndpoints.to_value));("VpcEndpointErrors",(Option.mapx.vpcEndpointErrors~f:VpcEndpointErrorList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcEndpointErrors=(Option.map~f:VpcEndpointErrorList.of_xml)(Xml.childxml_arg0"VpcEndpointErrors")inletvpcEndpoints=(Option.map~f:VpcEndpoints.of_xml)(Xml.childxml_arg0"VpcEndpoints")inmake?vpcEndpointErrors?vpcEndpoints()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcEndpointErrors=field_mapjson__"VpcEndpointErrors"VpcEndpointErrorList.of_jsoninletvpcEndpoints=field_mapjson__"VpcEndpoints"VpcEndpoints.of_jsoninmake?vpcEndpointErrors?vpcEndpoints()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to the DescribeVpcEndpoints operation. Returns a list containing configuration details and status of the VPC Endpoints as well as a list containing error responses of the endpoints that could not be described"]moduleDescribeVpcEndpointsRequest=structtypenonrect={vpcEndpointIds:VpcEndpointIdList.t[@ocaml.doc"The unique identifiers of the endpoints to get information about."]}letcontext_="DescribeVpcEndpointsRequest"letmake~vpcEndpointIds=fun()->{vpcEndpointIds}letto_valuex=structure_to_value[("VpcEndpointIds",(Some(VpcEndpointIdList.to_valuex.vpcEndpointIds)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcEndpointIds=VpcEndpointIdList.of_xml(Xml.child_exn~context:context_xml_arg0"VpcEndpointIds")inmake~vpcEndpointIds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcEndpointIds=field_map_exnjson__"VpcEndpointIds"VpcEndpointIdList.of_jsoninmake~vpcEndpointIds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to the DescribeVpcEndpoints operation. Specifies the list of VPC endpoints to be described."]moduleDescribeReservedElasticsearchInstancesResponse=structtypenonrect={nextToken:String_.toption[@ocaml.doc"Provides an identifier to allow retrieval of paginated results."];reservedElasticsearchInstances:ReservedElasticsearchInstanceList.toption[@ocaml.doc"List of reserved Elasticsearch instances."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?reservedElasticsearchInstances->fun()->{nextToken;reservedElasticsearchInstances}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("NextToken",(Option.mapx.nextToken~f:String_.to_value));("ReservedElasticsearchInstances",(Option.mapx.reservedElasticsearchInstances~f:ReservedElasticsearchInstanceList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreservedElasticsearchInstances=(Option.map~f:ReservedElasticsearchInstanceList.of_xml)(Xml.childxml_arg0"ReservedElasticsearchInstances")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"NextToken")inmake?reservedElasticsearchInstances?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreservedElasticsearchInstances=field_mapjson__"ReservedElasticsearchInstances"ReservedElasticsearchInstanceList.of_jsoninletnextToken=field_mapjson__"NextToken"String_.of_jsoninmake?reservedElasticsearchInstances?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for results from DescribeReservedElasticsearchInstances"]moduleDescribeReservedElasticsearchInstancesRequest=structtypenonrect={reservedElasticsearchInstanceId:GUID.toption[@ocaml.doc"The reserved instance identifier filter value. Use this parameter to show only the reservation that matches the specified reserved Elasticsearch instance ID."];maxResults:MaxResults.toption[@ocaml.doc"Set this value to limit the number of results returned. If not specified, defaults to 100."];nextToken:NextToken.toption[@ocaml.doc"NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination."]}letmake?reservedElasticsearchInstanceId=fun?maxResults->fun?nextToken->fun()->{reservedElasticsearchInstanceId;maxResults;nextToken}letto_valuex=structure_to_value[("reservationId",(Option.mapx.reservedElasticsearchInstanceId~f:GUID.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletreservedElasticsearchInstanceId=(Option.map~f:GUID.of_xml)(Xml.childxml_arg0"reservationId")inmake?nextToken?maxResults?reservedElasticsearchInstanceId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletreservedElasticsearchInstanceId=field_mapjson__"ReservedElasticsearchInstanceId"GUID.of_jsoninmake?nextToken?maxResults?reservedElasticsearchInstanceId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for parameters to DescribeReservedElasticsearchInstances"]moduleDescribeReservedElasticsearchInstanceOfferingsResponse=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"Provides an identifier to allow retrieval of paginated results."];reservedElasticsearchInstanceOfferings:ReservedElasticsearchInstanceOfferingList.toption[@ocaml.doc"List of reserved Elasticsearch instance offerings"]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?reservedElasticsearchInstanceOfferings->fun()->{nextToken;reservedElasticsearchInstanceOfferings}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("ReservedElasticsearchInstanceOfferings",(Option.mapx.reservedElasticsearchInstanceOfferings~f:ReservedElasticsearchInstanceOfferingList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreservedElasticsearchInstanceOfferings=(Option.map~f:ReservedElasticsearchInstanceOfferingList.of_xml)(Xml.childxml_arg0"ReservedElasticsearchInstanceOfferings")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inmake?reservedElasticsearchInstanceOfferings?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreservedElasticsearchInstanceOfferings=field_mapjson__"ReservedElasticsearchInstanceOfferings"ReservedElasticsearchInstanceOfferingList.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninmake?reservedElasticsearchInstanceOfferings?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for results from DescribeReservedElasticsearchInstanceOfferings"]moduleDescribeReservedElasticsearchInstanceOfferingsRequest=structtypenonrect={reservedElasticsearchInstanceOfferingId:GUID.toption[@ocaml.doc"The offering identifier filter value. Use this parameter to show only the available offering that matches the specified reservation identifier."];maxResults:MaxResults.toption[@ocaml.doc"Set this value to limit the number of results returned. If not specified, defaults to 100."];nextToken:NextToken.toption[@ocaml.doc"NextToken should be sent in case if earlier API call produced result containing NextToken. It is used for pagination."]}letmake?reservedElasticsearchInstanceOfferingId=fun?maxResults->fun?nextToken->fun()->{reservedElasticsearchInstanceOfferingId;maxResults;nextToken}letto_valuex=structure_to_value[("offeringId",(Option.mapx.reservedElasticsearchInstanceOfferingId~f:GUID.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletreservedElasticsearchInstanceOfferingId=(Option.map~f:GUID.of_xml)(Xml.childxml_arg0"offeringId")inmake?nextToken?maxResults?reservedElasticsearchInstanceOfferingId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletreservedElasticsearchInstanceOfferingId=field_mapjson__"ReservedElasticsearchInstanceOfferingId"GUID.of_jsoninmake?nextToken?maxResults?reservedElasticsearchInstanceOfferingId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for parameters to DescribeReservedElasticsearchInstanceOfferings"]moduleDescribePackagesResponse=structtypenonrect={packageDetailsList:PackageDetailsList.toption[@ocaml.doc"List of PackageDetails objects."];nextToken:String_.toption}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?packageDetailsList=fun?nextToken->fun()->{packageDetailsList;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("PackageDetailsList",(Option.mapx.packageDetailsList~f:PackageDetailsList.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")inletpackageDetailsList=(Option.map~f:PackageDetailsList.of_xml)(Xml.childxml_arg0"PackageDetailsList")inmake?nextToken?packageDetailsList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"String_.of_jsoninletpackageDetailsList=field_mapjson__"PackageDetailsList"PackageDetailsList.of_jsoninmake?nextToken?packageDetailsList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by DescribePackages operation."]moduleDescribePackagesRequest=structtypenonrect={filters:DescribePackagesFilterList.toption[@ocaml.doc"Only returns packages that match the DescribePackagesFilterList values."];maxResults:MaxResults.toption[@ocaml.doc"Limits results to a maximum number of packages."];nextToken:NextToken.toption[@ocaml.doc"Used for pagination. Only necessary if a previous API call includes a non-null NextToken value. If provided, returns results for the next page."]}letmake?filters=fun?maxResults->fun?nextToken->fun()->{filters;maxResults;nextToken}letto_valuex=structure_to_value[("Filters",(Option.mapx.filters~f:DescribePackagesFilterList.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletfilters=(Option.map~f:DescribePackagesFilterList.of_xml)(Xml.childxml_arg0"Filters")inmake?nextToken?maxResults?filters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletfilters=field_mapjson__"Filters"DescribePackagesFilterList.of_jsoninmake?nextToken?maxResults?filters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to DescribePackage operation."]moduleDescribeOutboundCrossClusterSearchConnectionsResponse=structtypenonrect={crossClusterSearchConnections:OutboundCrossClusterSearchConnections.toption[@ocaml.doc"Consists of list of OutboundCrossClusterSearchConnection matching the specified filter criteria."];nextToken:NextToken.toption[@ocaml.doc"If more results are available and NextToken is present, make the next request to the same API with the received NextToken to paginate the remaining results."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`InvalidPaginationTokenExceptionofInvalidPaginationTokenException.t|`Unknown_operation_errorof(string*stringoption)]letmake?crossClusterSearchConnections=fun?nextToken->fun()->{crossClusterSearchConnections;nextToken}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InvalidPaginationTokenException"->`InvalidPaginationTokenException(InvalidPaginationTokenException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InvalidPaginationTokenException"->`InvalidPaginationTokenException(InvalidPaginationTokenException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InvalidPaginationTokenExceptione->`Assoc[("error",(`String"InvalidPaginationTokenException"));("details",(InvalidPaginationTokenException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("CrossClusterSearchConnections",(Option.mapx.crossClusterSearchConnections~f:OutboundCrossClusterSearchConnections.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletcrossClusterSearchConnections=(Option.map~f:OutboundCrossClusterSearchConnections.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnections")inmake?nextToken?crossClusterSearchConnections()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletcrossClusterSearchConnections=field_mapjson__"CrossClusterSearchConnections"OutboundCrossClusterSearchConnections.of_jsoninmake?nextToken?crossClusterSearchConnections()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DescribeOutboundCrossClusterSearchConnections request. Contains the list of connections matching the filter criteria."]moduleDescribeOutboundCrossClusterSearchConnectionsRequest=structtypenonrect={filters:FilterList.toption[@ocaml.doc"A list of filters used to match properties for outbound cross-cluster search connection. Available Filter names for this operation are: cross-cluster-search-connection-id destination-domain-info.domain-name destination-domain-info.owner-id destination-domain-info.region source-domain-info.domain-name"];maxResults:MaxResults.toption[@ocaml.doc"Set this value to limit the number of results returned. If not specified, defaults to 100."];nextToken:NextToken.toption[@ocaml.doc"NextToken is sent in case the earlier API call results contain the NextToken. It is used for pagination."]}letmake?filters=fun?maxResults->fun?nextToken->fun()->{filters;maxResults;nextToken}letto_valuex=structure_to_value[("Filters",(Option.mapx.filters~f:FilterList.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletfilters=(Option.map~f:FilterList.of_xml)(Xml.childxml_arg0"Filters")inmake?nextToken?maxResults?filters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletfilters=field_mapjson__"Filters"FilterList.of_jsoninmake?nextToken?maxResults?filters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DescribeOutboundCrossClusterSearchConnections operation."]moduleDescribeInboundCrossClusterSearchConnectionsResponse=structtypenonrect={crossClusterSearchConnections:InboundCrossClusterSearchConnections.toption[@ocaml.doc"Consists of list of InboundCrossClusterSearchConnection matching the specified filter criteria."];nextToken:NextToken.toption[@ocaml.doc"If more results are available and NextToken is present, make the next request to the same API with the received NextToken to paginate the remaining results."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`InvalidPaginationTokenExceptionofInvalidPaginationTokenException.t|`Unknown_operation_errorof(string*stringoption)]letmake?crossClusterSearchConnections=fun?nextToken->fun()->{crossClusterSearchConnections;nextToken}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InvalidPaginationTokenException"->`InvalidPaginationTokenException(InvalidPaginationTokenException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InvalidPaginationTokenException"->`InvalidPaginationTokenException(InvalidPaginationTokenException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InvalidPaginationTokenExceptione->`Assoc[("error",(`String"InvalidPaginationTokenException"));("details",(InvalidPaginationTokenException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("CrossClusterSearchConnections",(Option.mapx.crossClusterSearchConnections~f:InboundCrossClusterSearchConnections.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletcrossClusterSearchConnections=(Option.map~f:InboundCrossClusterSearchConnections.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnections")inmake?nextToken?crossClusterSearchConnections()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletcrossClusterSearchConnections=field_mapjson__"CrossClusterSearchConnections"InboundCrossClusterSearchConnections.of_jsoninmake?nextToken?crossClusterSearchConnections()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DescribeInboundCrossClusterSearchConnections request. Contains the list of connections matching the filter criteria."]moduleDescribeInboundCrossClusterSearchConnectionsRequest=structtypenonrect={filters:FilterList.toption[@ocaml.doc"A list of filters used to match properties for inbound cross-cluster search connection. Available Filter names for this operation are: cross-cluster-search-connection-id source-domain-info.domain-name source-domain-info.owner-id source-domain-info.region destination-domain-info.domain-name"];maxResults:MaxResults.toption[@ocaml.doc"Set this value to limit the number of results returned. If not specified, defaults to 100."];nextToken:NextToken.toption[@ocaml.doc"NextToken is sent in case the earlier API call results contain the NextToken. It is used for pagination."]}letmake?filters=fun?maxResults->fun?nextToken->fun()->{filters;maxResults;nextToken}letto_valuex=structure_to_value[("Filters",(Option.mapx.filters~f:FilterList.to_value));("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inletfilters=(Option.map~f:FilterList.of_xml)(Xml.childxml_arg0"Filters")inmake?nextToken?maxResults?filters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletfilters=field_mapjson__"Filters"FilterList.of_jsoninmake?nextToken?maxResults?filters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DescribeInboundCrossClusterSearchConnections operation."]moduleDescribeElasticsearchInstanceTypeLimitsResponse=structtypenonrect={limitsByRole:LimitsByRole.toption}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`InvalidTypeExceptionofInvalidTypeException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?limitsByRole=fun()->{limitsByRole}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"InvalidTypeException"->`InvalidTypeException(InvalidTypeException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"InvalidTypeException"->`InvalidTypeException(InvalidTypeException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`InvalidTypeExceptione->`Assoc[("error",(`String"InvalidTypeException"));("details",(InvalidTypeException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.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[("LimitsByRole",(Option.mapx.limitsByRole~f:LimitsByRole.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlimitsByRole=(Option.map~f:LimitsByRole.of_xml)(Xml.childxml_arg0"LimitsByRole")inmake?limitsByRole()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlimitsByRole=field_mapjson__"LimitsByRole"LimitsByRole.of_jsoninmake?limitsByRole()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters received from DescribeElasticsearchInstanceTypeLimits operation."]moduleDescribeElasticsearchInstanceTypeLimitsRequest=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"DomainName represents the name of the Domain that we are trying to modify. This should be present only if we are querying for Elasticsearch Limits for existing domain."];instanceType:ESPartitionInstanceType.t[@ocaml.doc"The instance type for an Elasticsearch cluster for which Elasticsearch Limits are needed."];elasticsearchVersion:ElasticsearchVersionString.t[@ocaml.doc"Version of Elasticsearch for which Limits are needed."]}letcontext_="DescribeElasticsearchInstanceTypeLimitsRequest"letmake?domainName=fun~instanceType->fun~elasticsearchVersion->fun()->{domainName;instanceType;elasticsearchVersion}letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:DomainName.to_value));("InstanceType",(Some(ESPartitionInstanceType.to_valuex.instanceType)));("ElasticsearchVersion",(Some(ElasticsearchVersionString.to_valuex.elasticsearchVersion)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letelasticsearchVersion=ElasticsearchVersionString.of_xml(Xml.child_exn~context:context_xml_arg0"ElasticsearchVersion")inletinstanceType=ESPartitionInstanceType.of_xml(Xml.child_exn~context:context_xml_arg0"InstanceType")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inmake~elasticsearchVersion~instanceType?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letelasticsearchVersion=field_map_exnjson__"ElasticsearchVersion"ElasticsearchVersionString.of_jsoninletinstanceType=field_map_exnjson__"InstanceType"ESPartitionInstanceType.of_jsoninletdomainName=field_mapjson__"DomainName"DomainName.of_jsoninmake~elasticsearchVersion~instanceType?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to DescribeElasticsearchInstanceTypeLimits operation."]moduleDescribeElasticsearchDomainsResponse=structtypenonrect={domainStatusList:ElasticsearchDomainStatusList.toption[@ocaml.doc"The status of the domains requested in the DescribeElasticsearchDomains request."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainStatusList=fun()->{domainStatusList}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DomainStatusList",(Option.mapx.domainStatusList~f:ElasticsearchDomainStatusList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainStatusList=(Option.map~f:ElasticsearchDomainStatusList.of_xml)(Xml.childxml_arg0"DomainStatusList")inmake?domainStatusList()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainStatusList=field_mapjson__"DomainStatusList"ElasticsearchDomainStatusList.of_jsoninmake?domainStatusList()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DescribeElasticsearchDomains request. Contains the status of the specified domains or all domains owned by the account."]moduleDescribeElasticsearchDomainsRequest=structtypenonrect={domainNames:DomainNameList.t[@ocaml.doc"The Elasticsearch domains for which you want information."]}letcontext_="DescribeElasticsearchDomainsRequest"letmake~domainNames=fun()->{domainNames}letto_valuex=structure_to_value[("DomainNames",(Some(DomainNameList.to_valuex.domainNames)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainNames=DomainNameList.of_xml(Xml.child_exn~context:context_xml_arg0"DomainNames")inmake~domainNames()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainNames=field_map_exnjson__"DomainNames"DomainNameList.of_jsoninmake~domainNames()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DescribeElasticsearchDomains operation. By default, the API returns the status of all Elasticsearch domains."]moduleDescribeElasticsearchDomainResponse=structtypenonrect={domainStatus:ElasticsearchDomainStatus.toption[@ocaml.doc"The current status of the Elasticsearch domain."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainStatus=fun()->{domainStatus}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DomainStatus",(Option.mapx.domainStatus~f:ElasticsearchDomainStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainStatus=(Option.map~f:ElasticsearchDomainStatus.of_xml)(Xml.childxml_arg0"DomainStatus")inmake?domainStatus()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainStatus=field_mapjson__"DomainStatus"ElasticsearchDomainStatus.of_jsoninmake?domainStatus()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DescribeElasticsearchDomain request. Contains the status of the domain specified in the request."]moduleDescribeElasticsearchDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the Elasticsearch domain for which you want information."]}letcontext_="DescribeElasticsearchDomainRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DescribeElasticsearchDomain operation."]moduleDescribeElasticsearchDomainConfigResponse=structtypenonrect={domainConfig:ElasticsearchDomainConfig.toption[@ocaml.doc"The configuration information of the domain requested in the DescribeElasticsearchDomainConfig request."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainConfig=fun()->{domainConfig}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DomainConfig",(Option.mapx.domainConfig~f:ElasticsearchDomainConfig.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainConfig=(Option.map~f:ElasticsearchDomainConfig.of_xml)(Xml.childxml_arg0"DomainConfig")inmake?domainConfig()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainConfig=field_mapjson__"DomainConfig"ElasticsearchDomainConfig.of_jsoninmake?domainConfig()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DescribeElasticsearchDomainConfig request. Contains the configuration information of the requested domain."]moduleDescribeElasticsearchDomainConfigRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The Elasticsearch domain that you want to get information about."]}letcontext_="DescribeElasticsearchDomainConfigRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DescribeElasticsearchDomainConfig operation. Specifies the domain name for which you want configuration information."]moduleDescribeDomainChangeProgressResponse=structtypenonrect={changeProgressStatus:ChangeProgressStatusDetails.toption[@ocaml.doc"Progress information for the configuration change that is requested in the DescribeDomainChangeProgress request."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?changeProgressStatus=fun()->{changeProgressStatus}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("ChangeProgressStatus",(Option.mapx.changeProgressStatus~f:ChangeProgressStatusDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchangeProgressStatus=(Option.map~f:ChangeProgressStatusDetails.of_xml)(Xml.childxml_arg0"ChangeProgressStatus")inmake?changeProgressStatus()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchangeProgressStatus=field_mapjson__"ChangeProgressStatus"ChangeProgressStatusDetails.of_jsoninmake?changeProgressStatus()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DescribeDomainChangeProgress request. Contains the progress information of the requested domain change."]moduleDescribeDomainChangeProgressRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The domain you want to get the progress information about."];changeId:GUID.toption[@ocaml.doc"The specific change ID for which you want to get progress information. This is an optional parameter. If omitted, the service returns information about the most recent configuration change."]}letcontext_="DescribeDomainChangeProgressRequest"letmake?changeId=fun~domainName->fun()->{changeId;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("changeid",(Option.mapx.changeId~f:GUID.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchangeId=(Option.map~f:GUID.of_xml)(Xml.childxml_arg0"changeid")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?changeId~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchangeId=field_mapjson__"ChangeId"GUID.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?changeId~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DescribeDomainChangeProgress operation. Specifies the domain name and optional change specific identity for which you want progress information."]moduleDescribeDomainAutoTunesResponse=structtypenonrect={autoTunes:AutoTuneList.toption[@ocaml.doc"Specifies the list of setting adjustments that Auto-Tune has made to the domain. See the Developer Guide for more information."];nextToken:NextToken.toption[@ocaml.doc"Specifies an identifier to allow retrieval of paginated results."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?autoTunes=fun?nextToken->fun()->{autoTunes;nextToken}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("AutoTunes",(Option.mapx.autoTunes~f:AutoTuneList.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletautoTunes=(Option.map~f:AutoTuneList.of_xml)(Xml.childxml_arg0"AutoTunes")inmake?nextToken?autoTunes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletautoTunes=field_mapjson__"AutoTunes"AutoTuneList.of_jsoninmake?nextToken?autoTunes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of DescribeDomainAutoTunes request. See the Developer Guide for more information."]moduleDescribeDomainAutoTunesRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"Specifies the domain name for which you want Auto-Tune action details."];maxResults:MaxResults.toption[@ocaml.doc"Set this value to limit the number of results returned. If not specified, defaults to 100."];nextToken:NextToken.toption[@ocaml.doc"NextToken is sent in case the earlier API call results contain the NextToken. It is used for pagination."]}letcontext_="DescribeDomainAutoTunesRequest"letmake?maxResults=fun?nextToken->fun~domainName->fun()->{maxResults;nextToken;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?nextToken?maxResults~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?nextToken?maxResults~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DescribeDomainAutoTunes operation."]moduleDeleteVpcEndpointResponse=structtypenonrect={vpcEndpointSummary:VpcEndpointSummary.toption[@ocaml.doc"Information about the deleted endpoint, including its current status (DELETING or DELETE_FAILED)."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`Unknown_operation_errorof(string*stringoption)]letmake?vpcEndpointSummary=fun()->{vpcEndpointSummary}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("VpcEndpointSummary",(Option.mapx.vpcEndpointSummary~f:VpcEndpointSummary.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcEndpointSummary=(Option.map~f:VpcEndpointSummary.of_xml)(Xml.childxml_arg0"VpcEndpointSummary")inmake?vpcEndpointSummary()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcEndpointSummary=field_mapjson__"VpcEndpointSummary"VpcEndpointSummary.of_jsoninmake?vpcEndpointSummary()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to the DeleteVpcEndpoint operation. Contains the summarized detail of the VPC Endpoint being deleted."]moduleDeleteVpcEndpointRequest=structtypenonrect={vpcEndpointId:VpcEndpointId.t[@ocaml.doc"The unique identifier of the endpoint to be deleted."]}letcontext_="DeleteVpcEndpointRequest"letmake~vpcEndpointId=fun()->{vpcEndpointId}letto_valuex=structure_to_value[("VpcEndpointId",(Some(VpcEndpointId.to_valuex.vpcEndpointId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcEndpointId=VpcEndpointId.of_xml(Xml.child_exn~context:context_xml_arg0"VpcEndpointId")inmake~vpcEndpointId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcEndpointId=field_map_exnjson__"VpcEndpointId"VpcEndpointId.of_jsoninmake~vpcEndpointId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes an Amazon OpenSearch Service-managed interface VPC endpoint."]moduleDeletePackageResponse=structtypenonrect={packageDetails:PackageDetails.toption[@ocaml.doc"PackageDetails"]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`ConflictExceptionofConflictException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?packageDetails=fun()->{packageDetails}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("PackageDetails",(Option.mapx.packageDetails~f:PackageDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpackageDetails=(Option.map~f:PackageDetails.of_xml)(Xml.childxml_arg0"PackageDetails")inmake?packageDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpackageDetails=field_mapjson__"PackageDetails"PackageDetails.of_jsoninmake?packageDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to DeletePackage operation."]moduleDeletePackageRequest=structtypenonrect={packageID:PackageID.t[@ocaml.doc"Internal ID of the package that you want to delete. Use DescribePackages to find this value."]}letcontext_="DeletePackageRequest"letmake~packageID=fun()->{packageID}letto_valuex=structure_to_value[("PackageID",(Some(PackageID.to_valuex.packageID)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpackageID=PackageID.of_xml(Xml.child_exn~context:context_xml_arg0"PackageID")inmake~packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpackageID=field_map_exnjson__"PackageID"PackageID.of_jsoninmake~packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to DeletePackage operation."]moduleDeleteOutboundCrossClusterSearchConnectionResponse=structtypenonrect={crossClusterSearchConnection:OutboundCrossClusterSearchConnection.toption[@ocaml.doc"Specifies the OutboundCrossClusterSearchConnection of deleted outbound connection."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`Unknown_operation_errorof(string*stringoption)]letmake?crossClusterSearchConnection=fun()->{crossClusterSearchConnection}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("CrossClusterSearchConnection",(Option.mapx.crossClusterSearchConnection~f:OutboundCrossClusterSearchConnection.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnection=(Option.map~f:OutboundCrossClusterSearchConnection.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnection")inmake?crossClusterSearchConnection()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnection=field_mapjson__"CrossClusterSearchConnection"OutboundCrossClusterSearchConnection.of_jsoninmake?crossClusterSearchConnection()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DeleteOutboundCrossClusterSearchConnection operation. Contains details of deleted outbound connection."]moduleDeleteOutboundCrossClusterSearchConnectionRequest=structtypenonrect={crossClusterSearchConnectionId:CrossClusterSearchConnectionId.t[@ocaml.doc"The id of the outbound connection that you want to permanently delete."]}letcontext_="DeleteOutboundCrossClusterSearchConnectionRequest"letmake~crossClusterSearchConnectionId=fun()->{crossClusterSearchConnectionId}letto_valuex=structure_to_value[("ConnectionId",(Some(CrossClusterSearchConnectionId.to_valuex.crossClusterSearchConnectionId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnectionId=CrossClusterSearchConnectionId.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectionId")inmake~crossClusterSearchConnectionId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnectionId=field_map_exnjson__"CrossClusterSearchConnectionId"CrossClusterSearchConnectionId.of_jsoninmake~crossClusterSearchConnectionId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DeleteOutboundCrossClusterSearchConnection operation."]moduleDeleteInboundCrossClusterSearchConnectionResponse=structtypenonrect={crossClusterSearchConnection:InboundCrossClusterSearchConnection.toption[@ocaml.doc"Specifies the InboundCrossClusterSearchConnection of deleted inbound connection."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`Unknown_operation_errorof(string*stringoption)]letmake?crossClusterSearchConnection=fun()->{crossClusterSearchConnection}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("CrossClusterSearchConnection",(Option.mapx.crossClusterSearchConnection~f:InboundCrossClusterSearchConnection.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnection=(Option.map~f:InboundCrossClusterSearchConnection.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnection")inmake?crossClusterSearchConnection()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnection=field_mapjson__"CrossClusterSearchConnection"InboundCrossClusterSearchConnection.of_jsoninmake?crossClusterSearchConnection()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DeleteInboundCrossClusterSearchConnection operation. Contains details of deleted inbound connection."]moduleDeleteInboundCrossClusterSearchConnectionRequest=structtypenonrect={crossClusterSearchConnectionId:CrossClusterSearchConnectionId.t[@ocaml.doc"The id of the inbound connection that you want to permanently delete."]}letcontext_="DeleteInboundCrossClusterSearchConnectionRequest"letmake~crossClusterSearchConnectionId=fun()->{crossClusterSearchConnectionId}letto_valuex=structure_to_value[("ConnectionId",(Some(CrossClusterSearchConnectionId.to_valuex.crossClusterSearchConnectionId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnectionId=CrossClusterSearchConnectionId.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectionId")inmake~crossClusterSearchConnectionId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnectionId=field_map_exnjson__"CrossClusterSearchConnectionId"CrossClusterSearchConnectionId.of_jsoninmake~crossClusterSearchConnectionId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DeleteInboundCrossClusterSearchConnection operation."]moduleDeleteElasticsearchDomainResponse=structtypenonrect={domainStatus:ElasticsearchDomainStatus.toption[@ocaml.doc"The status of the Elasticsearch domain being deleted."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainStatus=fun()->{domainStatus}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DomainStatus",(Option.mapx.domainStatus~f:ElasticsearchDomainStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainStatus=(Option.map~f:ElasticsearchDomainStatus.of_xml)(Xml.childxml_arg0"DomainStatus")inmake?domainStatus()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainStatus=field_mapjson__"DomainStatus"ElasticsearchDomainStatus.of_jsoninmake?domainStatus()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a DeleteElasticsearchDomain request. Contains the status of the pending deletion, or no status if the domain and all of its resources have been deleted."]moduleDeleteElasticsearchDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the Elasticsearch domain that you want to permanently delete."]}letcontext_="DeleteElasticsearchDomainRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the DeleteElasticsearchDomain operation. Specifies the name of the Elasticsearch domain that you want to delete."]moduleCreateVpcEndpointResponse=structtypenonrect={vpcEndpoint:VpcEndpoint.toption[@ocaml.doc"Information about the newly created VPC endpoint."]}typenonrecerror=[`BaseExceptionofBaseException.t|`ConflictExceptionofConflictException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`LimitExceededExceptionofLimitExceededException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?vpcEndpoint=fun()->{vpcEndpoint}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.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[("VpcEndpoint",(Option.mapx.vpcEndpoint~f:VpcEndpoint.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcEndpoint=(Option.map~f:VpcEndpoint.of_xml)(Xml.childxml_arg0"VpcEndpoint")inmake?vpcEndpoint()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcEndpoint=field_mapjson__"VpcEndpoint"VpcEndpoint.of_jsoninmake?vpcEndpoint()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to the CreateVpcEndpoint operation. Contains the configuration and status of the VPC Endpoint being created."]moduleCreateVpcEndpointRequest=structtypenonrect={domainArn:DomainArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the domain to grant access to."];vpcOptions:VPCOptions.t[@ocaml.doc"Options to specify the subnets and security groups for the endpoint."];clientToken:ClientToken.toption[@ocaml.doc"Unique, case-sensitive identifier to ensure idempotency of the request."]}letcontext_="CreateVpcEndpointRequest"letmake?clientToken=fun~domainArn->fun~vpcOptions->fun()->{clientToken;domainArn;vpcOptions}letto_valuex=structure_to_value[("DomainArn",(Some(DomainArn.to_valuex.domainArn)));("VpcOptions",(Some(VPCOptions.to_valuex.vpcOptions)));("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")inletvpcOptions=VPCOptions.of_xml(Xml.child_exn~context:context_xml_arg0"VpcOptions")inletdomainArn=DomainArn.of_xml(Xml.child_exn~context:context_xml_arg0"DomainArn")inmake?clientToken~vpcOptions~domainArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninletvpcOptions=field_map_exnjson__"VpcOptions"VPCOptions.of_jsoninletdomainArn=field_map_exnjson__"DomainArn"DomainArn.of_jsoninmake?clientToken~vpcOptions~domainArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the CreateVpcEndpointRequest operation."]moduleCreatePackageResponse=structtypenonrect={packageDetails:PackageDetails.toption[@ocaml.doc"Information about the package PackageDetails."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`InvalidTypeExceptionofInvalidTypeException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceAlreadyExistsExceptionofResourceAlreadyExistsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?packageDetails=fun()->{packageDetails}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"InvalidTypeException"->`InvalidTypeException(InvalidTypeException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_jsonjson)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"InvalidTypeException"->`InvalidTypeException(InvalidTypeException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_xmlxml)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`InvalidTypeExceptione->`Assoc[("error",(`String"InvalidTypeException"));("details",(InvalidTypeException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.to_jsone))]|`ResourceAlreadyExistsExceptione->`Assoc[("error",(`String"ResourceAlreadyExistsException"));("details",(ResourceAlreadyExistsException.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[("PackageDetails",(Option.mapx.packageDetails~f:PackageDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpackageDetails=(Option.map~f:PackageDetails.of_xml)(Xml.childxml_arg0"PackageDetails")inmake?packageDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpackageDetails=field_mapjson__"PackageDetails"PackageDetails.of_jsoninmake?packageDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by CreatePackage operation."]moduleCreatePackageRequest=structtypenonrect={packageName:PackageName.t[@ocaml.doc"Unique identifier for the package."];packageType:PackageType.t[@ocaml.doc"Type of package. Currently supports only TXT-DICTIONARY."];packageDescription:PackageDescription.toption[@ocaml.doc"Description of the package."];packageSource:PackageSource.t[@ocaml.doc"The customer S3 location PackageSource for importing the package."]}letcontext_="CreatePackageRequest"letmake?packageDescription=fun~packageName->fun~packageType->fun~packageSource->fun()->{packageDescription;packageName;packageType;packageSource}letto_valuex=structure_to_value[("PackageName",(Some(PackageName.to_valuex.packageName)));("PackageType",(Some(PackageType.to_valuex.packageType)));("PackageDescription",(Option.mapx.packageDescription~f:PackageDescription.to_value));("PackageSource",(Some(PackageSource.to_valuex.packageSource)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpackageSource=PackageSource.of_xml(Xml.child_exn~context:context_xml_arg0"PackageSource")inletpackageDescription=(Option.map~f:PackageDescription.of_xml)(Xml.childxml_arg0"PackageDescription")inletpackageType=PackageType.of_xml(Xml.child_exn~context:context_xml_arg0"PackageType")inletpackageName=PackageName.of_xml(Xml.child_exn~context:context_xml_arg0"PackageName")inmake~packageSource?packageDescription~packageType~packageName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpackageSource=field_map_exnjson__"PackageSource"PackageSource.of_jsoninletpackageDescription=field_mapjson__"PackageDescription"PackageDescription.of_jsoninletpackageType=field_map_exnjson__"PackageType"PackageType.of_jsoninletpackageName=field_map_exnjson__"PackageName"PackageName.of_jsoninmake~packageSource?packageDescription~packageType~packageName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to CreatePackage operation."]moduleCreateOutboundCrossClusterSearchConnectionResponse=structtypenonrect={sourceDomainInfo:DomainInformation.toption[@ocaml.doc"Specifies the DomainInformation for the source Elasticsearch domain."];destinationDomainInfo:DomainInformation.toption[@ocaml.doc"Specifies the DomainInformation for the destination Elasticsearch domain."];connectionAlias:ConnectionAlias.toption[@ocaml.doc"Specifies the connection alias provided during the create connection request."];connectionStatus:OutboundCrossClusterSearchConnectionStatus.toption[@ocaml.doc"Specifies the OutboundCrossClusterSearchConnectionStatus for the newly created connection."];crossClusterSearchConnectionId:CrossClusterSearchConnectionId.toption[@ocaml.doc"Unique id for the created outbound connection, which is used for subsequent operations on connection."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceAlreadyExistsExceptionofResourceAlreadyExistsException.t|`Unknown_operation_errorof(string*stringoption)]letmake?sourceDomainInfo=fun?destinationDomainInfo->fun?connectionAlias->fun?connectionStatus->fun?crossClusterSearchConnectionId->fun()->{sourceDomainInfo;destinationDomainInfo;connectionAlias;connectionStatus;crossClusterSearchConnectionId}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_jsonjson)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_xmlxml)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.to_jsone))]|`ResourceAlreadyExistsExceptione->`Assoc[("error",(`String"ResourceAlreadyExistsException"));("details",(ResourceAlreadyExistsException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("SourceDomainInfo",(Option.mapx.sourceDomainInfo~f:DomainInformation.to_value));("DestinationDomainInfo",(Option.mapx.destinationDomainInfo~f:DomainInformation.to_value));("ConnectionAlias",(Option.mapx.connectionAlias~f:ConnectionAlias.to_value));("ConnectionStatus",(Option.mapx.connectionStatus~f:OutboundCrossClusterSearchConnectionStatus.to_value));("CrossClusterSearchConnectionId",(Option.mapx.crossClusterSearchConnectionId~f:CrossClusterSearchConnectionId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnectionId=(Option.map~f:CrossClusterSearchConnectionId.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnectionId")inletconnectionStatus=(Option.map~f:OutboundCrossClusterSearchConnectionStatus.of_xml)(Xml.childxml_arg0"ConnectionStatus")inletconnectionAlias=(Option.map~f:ConnectionAlias.of_xml)(Xml.childxml_arg0"ConnectionAlias")inletdestinationDomainInfo=(Option.map~f:DomainInformation.of_xml)(Xml.childxml_arg0"DestinationDomainInfo")inletsourceDomainInfo=(Option.map~f:DomainInformation.of_xml)(Xml.childxml_arg0"SourceDomainInfo")inmake?crossClusterSearchConnectionId?connectionStatus?connectionAlias?destinationDomainInfo?sourceDomainInfo()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnectionId=field_mapjson__"CrossClusterSearchConnectionId"CrossClusterSearchConnectionId.of_jsoninletconnectionStatus=field_mapjson__"ConnectionStatus"OutboundCrossClusterSearchConnectionStatus.of_jsoninletconnectionAlias=field_mapjson__"ConnectionAlias"ConnectionAlias.of_jsoninletdestinationDomainInfo=field_mapjson__"DestinationDomainInfo"DomainInformation.of_jsoninletsourceDomainInfo=field_mapjson__"SourceDomainInfo"DomainInformation.of_jsoninmake?crossClusterSearchConnectionId?connectionStatus?connectionAlias?destinationDomainInfo?sourceDomainInfo()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a CreateOutboundCrossClusterSearchConnection request. Contains the details of the newly created cross-cluster search connection."]moduleCreateOutboundCrossClusterSearchConnectionRequest=structtypenonrect={sourceDomainInfo:DomainInformation.t[@ocaml.doc"Specifies the DomainInformation for the source Elasticsearch domain."];destinationDomainInfo:DomainInformation.t[@ocaml.doc"Specifies the DomainInformation for the destination Elasticsearch domain."];connectionAlias:ConnectionAlias.t[@ocaml.doc"Specifies the connection alias that will be used by the customer for this connection."]}letcontext_="CreateOutboundCrossClusterSearchConnectionRequest"letmake~sourceDomainInfo=fun~destinationDomainInfo->fun~connectionAlias->fun()->{sourceDomainInfo;destinationDomainInfo;connectionAlias}letto_valuex=structure_to_value[("SourceDomainInfo",(Some(DomainInformation.to_valuex.sourceDomainInfo)));("DestinationDomainInfo",(Some(DomainInformation.to_valuex.destinationDomainInfo)));("ConnectionAlias",(Some(ConnectionAlias.to_valuex.connectionAlias)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconnectionAlias=ConnectionAlias.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectionAlias")inletdestinationDomainInfo=DomainInformation.of_xml(Xml.child_exn~context:context_xml_arg0"DestinationDomainInfo")inletsourceDomainInfo=DomainInformation.of_xml(Xml.child_exn~context:context_xml_arg0"SourceDomainInfo")inmake~connectionAlias~destinationDomainInfo~sourceDomainInfo()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconnectionAlias=field_map_exnjson__"ConnectionAlias"ConnectionAlias.of_jsoninletdestinationDomainInfo=field_map_exnjson__"DestinationDomainInfo"DomainInformation.of_jsoninletsourceDomainInfo=field_map_exnjson__"SourceDomainInfo"DomainInformation.of_jsoninmake~connectionAlias~destinationDomainInfo~sourceDomainInfo()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the CreateOutboundCrossClusterSearchConnection operation."]moduleCreateElasticsearchDomainResponse=structtypenonrect={domainStatus:ElasticsearchDomainStatus.toption[@ocaml.doc"The status of the newly created Elasticsearch domain."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`InvalidTypeExceptionofInvalidTypeException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceAlreadyExistsExceptionofResourceAlreadyExistsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainStatus=fun()->{domainStatus}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"InvalidTypeException"->`InvalidTypeException(InvalidTypeException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_jsonjson)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"InvalidTypeException"->`InvalidTypeException(InvalidTypeException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_xmlxml)|"ResourceAlreadyExistsException"->`ResourceAlreadyExistsException(ResourceAlreadyExistsException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`InvalidTypeExceptione->`Assoc[("error",(`String"InvalidTypeException"));("details",(InvalidTypeException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.to_jsone))]|`ResourceAlreadyExistsExceptione->`Assoc[("error",(`String"ResourceAlreadyExistsException"));("details",(ResourceAlreadyExistsException.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[("DomainStatus",(Option.mapx.domainStatus~f:ElasticsearchDomainStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainStatus=(Option.map~f:ElasticsearchDomainStatus.of_xml)(Xml.childxml_arg0"DomainStatus")inmake?domainStatus()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainStatus=field_mapjson__"DomainStatus"ElasticsearchDomainStatus.of_jsoninmake?domainStatus()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a CreateElasticsearchDomain operation. Contains the status of the newly created Elasticsearch domain."]moduleCreateElasticsearchDomainRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the Elasticsearch domain that you are creating. Domain names are unique across the domains owned by an account within an AWS region. Domain names must start with a lowercase letter and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen)."];elasticsearchVersion:ElasticsearchVersionString.toption[@ocaml.doc"String of format X.Y to specify version for the Elasticsearch domain eg. \"1.5\" or \"2.3\". For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide."];elasticsearchClusterConfig:ElasticsearchClusterConfig.toption[@ocaml.doc"Configuration options for an Elasticsearch domain. Specifies the instance type and number of instances in the domain cluster."];eBSOptions:EBSOptions.toption[@ocaml.doc"Options to enable, disable and specify the type and size of EBS storage volumes."];accessPolicies:PolicyDocument.toption[@ocaml.doc"IAM access policy as a JSON-formatted string."];snapshotOptions:SnapshotOptions.toption[@ocaml.doc"Option to set time, in UTC format, of the daily automated snapshot. Default value is 0 hours."];vPCOptions:VPCOptions.toption[@ocaml.doc"Options to specify the subnets and security groups for VPC endpoint. For more information, see Creating a VPC in VPC Endpoints for Amazon Elasticsearch Service Domains"];cognitoOptions:CognitoOptions.toption[@ocaml.doc"Options to specify the Cognito user and identity pools for Kibana authentication. For more information, see Amazon Cognito Authentication for Kibana."];encryptionAtRestOptions:EncryptionAtRestOptions.toption[@ocaml.doc"Specifies the Encryption At Rest Options."];nodeToNodeEncryptionOptions:NodeToNodeEncryptionOptions.toption[@ocaml.doc"Specifies the NodeToNodeEncryptionOptions."];advancedOptions:AdvancedOptions.toption[@ocaml.doc"Option to allow references to indices in an HTTP request body. Must be false when configuring access to individual sub-resources. By default, the value is true. See Configuration Advanced Options for more information."];logPublishingOptions:LogPublishingOptions.toption[@ocaml.doc"Map of LogType and LogPublishingOption, each containing options to publish a given type of Elasticsearch log."];domainEndpointOptions:DomainEndpointOptions.toption[@ocaml.doc"Options to specify configuration that will be applied to the domain endpoint."];advancedSecurityOptions:AdvancedSecurityOptionsInput.toption[@ocaml.doc"Specifies advanced security options."];autoTuneOptions:AutoTuneOptionsInput.toption[@ocaml.doc"Specifies Auto-Tune options."];tagList:TagList.toption[@ocaml.doc"A list of Tag added during domain creation."];deploymentStrategyOptions:DeploymentStrategyOptions.toption[@ocaml.doc"Specifies the deployment strategy options."];automatedSnapshotPauseOptions:AutomatedSnapshotPauseRequestOptions.toption[@ocaml.doc"Specifies the automated snapshot pause options for the domain. Suspending snapshots reduces data protection. You cannot restore your domain to points in time when snapshots are suspended. Use this feature only for short-term operational needs such as migrations or maintenance windows. Maximum suspension duration: 3 days."]}letcontext_="CreateElasticsearchDomainRequest"letmake?elasticsearchVersion=fun?elasticsearchClusterConfig->fun?eBSOptions->fun?accessPolicies->fun?snapshotOptions->fun?vPCOptions->fun?cognitoOptions->fun?encryptionAtRestOptions->fun?nodeToNodeEncryptionOptions->fun?advancedOptions->fun?logPublishingOptions->fun?domainEndpointOptions->fun?advancedSecurityOptions->fun?autoTuneOptions->fun?tagList->fun?deploymentStrategyOptions->fun?automatedSnapshotPauseOptions->fun~domainName->fun()->{elasticsearchVersion;elasticsearchClusterConfig;eBSOptions;accessPolicies;snapshotOptions;vPCOptions;cognitoOptions;encryptionAtRestOptions;nodeToNodeEncryptionOptions;advancedOptions;logPublishingOptions;domainEndpointOptions;advancedSecurityOptions;autoTuneOptions;tagList;deploymentStrategyOptions;automatedSnapshotPauseOptions;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("ElasticsearchVersion",(Option.mapx.elasticsearchVersion~f:ElasticsearchVersionString.to_value));("ElasticsearchClusterConfig",(Option.mapx.elasticsearchClusterConfig~f:ElasticsearchClusterConfig.to_value));("EBSOptions",(Option.mapx.eBSOptions~f:EBSOptions.to_value));("AccessPolicies",(Option.mapx.accessPolicies~f:PolicyDocument.to_value));("SnapshotOptions",(Option.mapx.snapshotOptions~f:SnapshotOptions.to_value));("VPCOptions",(Option.mapx.vPCOptions~f:VPCOptions.to_value));("CognitoOptions",(Option.mapx.cognitoOptions~f:CognitoOptions.to_value));("EncryptionAtRestOptions",(Option.mapx.encryptionAtRestOptions~f:EncryptionAtRestOptions.to_value));("NodeToNodeEncryptionOptions",(Option.mapx.nodeToNodeEncryptionOptions~f:NodeToNodeEncryptionOptions.to_value));("AdvancedOptions",(Option.mapx.advancedOptions~f:AdvancedOptions.to_value));("LogPublishingOptions",(Option.mapx.logPublishingOptions~f:LogPublishingOptions.to_value));("DomainEndpointOptions",(Option.mapx.domainEndpointOptions~f:DomainEndpointOptions.to_value));("AdvancedSecurityOptions",(Option.mapx.advancedSecurityOptions~f:AdvancedSecurityOptionsInput.to_value));("AutoTuneOptions",(Option.mapx.autoTuneOptions~f:AutoTuneOptionsInput.to_value));("TagList",(Option.mapx.tagList~f:TagList.to_value));("DeploymentStrategyOptions",(Option.mapx.deploymentStrategyOptions~f:DeploymentStrategyOptions.to_value));("AutomatedSnapshotPauseOptions",(Option.mapx.automatedSnapshotPauseOptions~f:AutomatedSnapshotPauseRequestOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letautomatedSnapshotPauseOptions=(Option.map~f:AutomatedSnapshotPauseRequestOptions.of_xml)(Xml.childxml_arg0"AutomatedSnapshotPauseOptions")inletdeploymentStrategyOptions=(Option.map~f:DeploymentStrategyOptions.of_xml)(Xml.childxml_arg0"DeploymentStrategyOptions")inlettagList=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"TagList")inletautoTuneOptions=(Option.map~f:AutoTuneOptionsInput.of_xml)(Xml.childxml_arg0"AutoTuneOptions")inletadvancedSecurityOptions=(Option.map~f:AdvancedSecurityOptionsInput.of_xml)(Xml.childxml_arg0"AdvancedSecurityOptions")inletdomainEndpointOptions=(Option.map~f:DomainEndpointOptions.of_xml)(Xml.childxml_arg0"DomainEndpointOptions")inletlogPublishingOptions=(Option.map~f:LogPublishingOptions.of_xml)(Xml.childxml_arg0"LogPublishingOptions")inletadvancedOptions=(Option.map~f:AdvancedOptions.of_xml)(Xml.childxml_arg0"AdvancedOptions")inletnodeToNodeEncryptionOptions=(Option.map~f:NodeToNodeEncryptionOptions.of_xml)(Xml.childxml_arg0"NodeToNodeEncryptionOptions")inletencryptionAtRestOptions=(Option.map~f:EncryptionAtRestOptions.of_xml)(Xml.childxml_arg0"EncryptionAtRestOptions")inletcognitoOptions=(Option.map~f:CognitoOptions.of_xml)(Xml.childxml_arg0"CognitoOptions")inletvPCOptions=(Option.map~f:VPCOptions.of_xml)(Xml.childxml_arg0"VPCOptions")inletsnapshotOptions=(Option.map~f:SnapshotOptions.of_xml)(Xml.childxml_arg0"SnapshotOptions")inletaccessPolicies=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"AccessPolicies")inleteBSOptions=(Option.map~f:EBSOptions.of_xml)(Xml.childxml_arg0"EBSOptions")inletelasticsearchClusterConfig=(Option.map~f:ElasticsearchClusterConfig.of_xml)(Xml.childxml_arg0"ElasticsearchClusterConfig")inletelasticsearchVersion=(Option.map~f:ElasticsearchVersionString.of_xml)(Xml.childxml_arg0"ElasticsearchVersion")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?automatedSnapshotPauseOptions?deploymentStrategyOptions?tagList?autoTuneOptions?advancedSecurityOptions?domainEndpointOptions?logPublishingOptions?advancedOptions?nodeToNodeEncryptionOptions?encryptionAtRestOptions?cognitoOptions?vPCOptions?snapshotOptions?accessPolicies?eBSOptions?elasticsearchClusterConfig?elasticsearchVersion~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letautomatedSnapshotPauseOptions=field_mapjson__"AutomatedSnapshotPauseOptions"AutomatedSnapshotPauseRequestOptions.of_jsoninletdeploymentStrategyOptions=field_mapjson__"DeploymentStrategyOptions"DeploymentStrategyOptions.of_jsoninlettagList=field_mapjson__"TagList"TagList.of_jsoninletautoTuneOptions=field_mapjson__"AutoTuneOptions"AutoTuneOptionsInput.of_jsoninletadvancedSecurityOptions=field_mapjson__"AdvancedSecurityOptions"AdvancedSecurityOptionsInput.of_jsoninletdomainEndpointOptions=field_mapjson__"DomainEndpointOptions"DomainEndpointOptions.of_jsoninletlogPublishingOptions=field_mapjson__"LogPublishingOptions"LogPublishingOptions.of_jsoninletadvancedOptions=field_mapjson__"AdvancedOptions"AdvancedOptions.of_jsoninletnodeToNodeEncryptionOptions=field_mapjson__"NodeToNodeEncryptionOptions"NodeToNodeEncryptionOptions.of_jsoninletencryptionAtRestOptions=field_mapjson__"EncryptionAtRestOptions"EncryptionAtRestOptions.of_jsoninletcognitoOptions=field_mapjson__"CognitoOptions"CognitoOptions.of_jsoninletvPCOptions=field_mapjson__"VPCOptions"VPCOptions.of_jsoninletsnapshotOptions=field_mapjson__"SnapshotOptions"SnapshotOptions.of_jsoninletaccessPolicies=field_mapjson__"AccessPolicies"PolicyDocument.of_jsoninleteBSOptions=field_mapjson__"EBSOptions"EBSOptions.of_jsoninletelasticsearchClusterConfig=field_mapjson__"ElasticsearchClusterConfig"ElasticsearchClusterConfig.of_jsoninletelasticsearchVersion=field_mapjson__"ElasticsearchVersion"ElasticsearchVersionString.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?automatedSnapshotPauseOptions?deploymentStrategyOptions?tagList?autoTuneOptions?advancedSecurityOptions?domainEndpointOptions?logPublishingOptions?advancedOptions?nodeToNodeEncryptionOptions?encryptionAtRestOptions?cognitoOptions?vPCOptions?snapshotOptions?accessPolicies?eBSOptions?elasticsearchClusterConfig?elasticsearchVersion~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new Elasticsearch domain. For more information, see Creating Elasticsearch Domains in the Amazon Elasticsearch Service Developer Guide."]moduleCancelElasticsearchServiceSoftwareUpdateResponse=structtypenonrect={serviceSoftwareOptions:ServiceSoftwareOptions.toption[@ocaml.doc"The current status of the Elasticsearch service software update."]}typenonrecerror=[`BaseExceptionofBaseException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?serviceSoftwareOptions=fun()->{serviceSoftwareOptions}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("ServiceSoftwareOptions",(Option.mapx.serviceSoftwareOptions~f:ServiceSoftwareOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceSoftwareOptions=(Option.map~f:ServiceSoftwareOptions.of_xml)(Xml.childxml_arg0"ServiceSoftwareOptions")inmake?serviceSoftwareOptions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceSoftwareOptions=field_mapjson__"ServiceSoftwareOptions"ServiceSoftwareOptions.of_jsoninmake?serviceSoftwareOptions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a CancelElasticsearchServiceSoftwareUpdate operation. Contains the status of the update."]moduleCancelElasticsearchServiceSoftwareUpdateRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the domain that you want to stop the latest service software update on."]}letcontext_="CancelElasticsearchServiceSoftwareUpdateRequest"letmake~domainName=fun()->{domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the CancelElasticsearchServiceSoftwareUpdate operation. Specifies the name of the Elasticsearch domain that you wish to cancel a service software update on."]moduleCancelDomainConfigChangeResponse=structtypenonrect={dryRun:DryRun.toption[@ocaml.doc"Whether or not the request was a dry run. If True, the changes were not actually cancelled."];cancelledChangeIds:GUIDList.toption[@ocaml.doc"The unique identifiers of the changes that were cancelled."];cancelledChangeProperties:CancelledChangePropertyList.toption[@ocaml.doc"The domain change properties that were cancelled."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?dryRun=fun?cancelledChangeIds->fun?cancelledChangeProperties->fun()->{dryRun;cancelledChangeIds;cancelledChangeProperties}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DryRun",(Option.mapx.dryRun~f:DryRun.to_value));("CancelledChangeIds",(Option.mapx.cancelledChangeIds~f:GUIDList.to_value));("CancelledChangeProperties",(Option.mapx.cancelledChangeProperties~f:CancelledChangePropertyList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcancelledChangeProperties=(Option.map~f:CancelledChangePropertyList.of_xml)(Xml.childxml_arg0"CancelledChangeProperties")inletcancelledChangeIds=(Option.map~f:GUIDList.of_xml)(Xml.childxml_arg0"CancelledChangeIds")inletdryRun=(Option.map~f:DryRun.of_xml)(Xml.childxml_arg0"DryRun")inmake?cancelledChangeProperties?cancelledChangeIds?dryRun()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcancelledChangeProperties=field_mapjson__"CancelledChangeProperties"CancelledChangePropertyList.of_jsoninletcancelledChangeIds=field_mapjson__"CancelledChangeIds"GUIDList.of_jsoninletdryRun=field_mapjson__"DryRun"DryRun.of_jsoninmake?cancelledChangeProperties?cancelledChangeIds?dryRun()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the details of the cancelled domain config change."]moduleCancelDomainConfigChangeRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"Name of the OpenSearch Service domain configuration request to cancel."];dryRun:DryRun.toption[@ocaml.doc"When set to True, returns the list of change IDs and properties that will be cancelled without actually cancelling the change."]}letcontext_="CancelDomainConfigChangeRequest"letmake?dryRun=fun~domainName->fun()->{dryRun;domainName}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("DryRun",(Option.mapx.dryRun~f:DryRun.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdryRun=(Option.map~f:DryRun.of_xml)(Xml.childxml_arg0"DryRun")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake?dryRun~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdryRun=field_mapjson__"DryRun"DryRun.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake?dryRun~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for parameters of the CancelDomainConfigChange operation."]moduleAuthorizeVpcEndpointAccessResponse=structtypenonrect={authorizedPrincipal:AuthorizedPrincipal.toption[@ocaml.doc"Information about the account or service that was provided access to the domain."]}typenonrecerror=[`BaseExceptionofBaseException.t|`DisabledOperationExceptionofDisabledOperationException.t|`InternalExceptionofInternalException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?authorizedPrincipal=fun()->{authorizedPrincipal}leterror_of_jsonnamejson=matchnamewith|"BaseException"->`BaseException(BaseException.of_jsonjson)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"InternalException"->`InternalException(InternalException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|"BaseException"->`BaseException(BaseException.of_xmlxml)|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"InternalException"->`InternalException(InternalException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.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|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.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[("AuthorizedPrincipal",(Option.mapx.authorizedPrincipal~f:AuthorizedPrincipal.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthorizedPrincipal=(Option.map~f:AuthorizedPrincipal.of_xml)(Xml.childxml_arg0"AuthorizedPrincipal")inmake?authorizedPrincipal()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthorizedPrincipal=field_mapjson__"AuthorizedPrincipal"AuthorizedPrincipal.of_jsoninmake?authorizedPrincipal()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response parameters to the AuthorizeVpcEndpointAccess operation. Contains the account ID and the type of the account being authorized to access the VPC endpoint."]moduleAuthorizeVpcEndpointAccessRequest=structtypenonrect={domainName:DomainName.t[@ocaml.doc"The name of the OpenSearch Service domain to provide access to."];account:AWSAccount.t[@ocaml.doc"The account ID to grant access to."]}letcontext_="AuthorizeVpcEndpointAccessRequest"letmake~domainName=fun~account->fun()->{domainName;account}letto_valuex=structure_to_value[("DomainName",(Some(DomainName.to_valuex.domainName)));("Account",(Some(AWSAccount.to_valuex.account)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccount=AWSAccount.of_xml(Xml.child_exn~context:context_xml_arg0"Account")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inmake~account~domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccount=field_map_exnjson__"Account"AWSAccount.of_jsoninletdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninmake~account~domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to the AuthorizeVpcEndpointAccess operation. Specifies the account to be permitted to manage VPC endpoints against the domain."]moduleAssociatePackageResponse=structtypenonrect={domainPackageDetails:DomainPackageDetails.toption[@ocaml.doc"DomainPackageDetails"]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BaseExceptionofBaseException.t|`ConflictExceptionofConflictException.t|`InternalExceptionofInternalException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?domainPackageDetails=fun()->{domainPackageDetails}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BaseException"->`BaseException(BaseException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalException"->`InternalException(InternalException.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|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BaseException"->`BaseException(BaseException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalException"->`InternalException(InternalException.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|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BaseExceptione->`Assoc[("error",(`String"BaseException"));("details",(BaseException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalExceptione->`Assoc[("error",(`String"InternalException"));("details",(InternalException.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[("DomainPackageDetails",(Option.mapx.domainPackageDetails~f:DomainPackageDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainPackageDetails=(Option.map~f:DomainPackageDetails.of_xml)(Xml.childxml_arg0"DomainPackageDetails")inmake?domainPackageDetails()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainPackageDetails=field_mapjson__"DomainPackageDetails"DomainPackageDetails.of_jsoninmake?domainPackageDetails()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for response returned by AssociatePackage operation."]moduleAssociatePackageRequest=structtypenonrect={packageID:PackageID.t[@ocaml.doc"Internal ID of the package that you want to associate with a domain. Use DescribePackages to find this value."];domainName:DomainName.t[@ocaml.doc"Name of the domain that you want to associate the package with."]}letcontext_="AssociatePackageRequest"letmake~packageID=fun~domainName->fun()->{packageID;domainName}letto_valuex=structure_to_value[("PackageID",(Some(PackageID.to_valuex.packageID)));("DomainName",(Some(DomainName.to_valuex.domainName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"DomainName")inletpackageID=PackageID.of_xml(Xml.child_exn~context:context_xml_arg0"PackageID")inmake~domainName~packageID()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_map_exnjson__"DomainName"DomainName.of_jsoninletpackageID=field_map_exnjson__"PackageID"PackageID.of_jsoninmake~domainName~packageID()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for request parameters to AssociatePackage operation."]moduleAddTagsRequest=structtypenonrect={aRN:ARN.t[@ocaml.doc"Specify the ARN for which you want to add the tags."];tagList:TagList.t[@ocaml.doc"List of Tag that need to be added for the Elasticsearch domain."]}letcontext_="AddTagsRequest"letmake~aRN=fun~tagList->fun()->{aRN;tagList}letto_valuex=structure_to_value[("ARN",(Some(ARN.to_valuex.aRN)));("TagList",(Some(TagList.to_valuex.tagList)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagList=TagList.of_xml(Xml.child_exn~context:context_xml_arg0"TagList")inletaRN=ARN.of_xml(Xml.child_exn~context:context_xml_arg0"ARN")inmake~tagList~aRN()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagList=field_map_exnjson__"TagList"TagList.of_jsoninletaRN=field_map_exnjson__"ARN"ARN.of_jsoninmake~tagList~aRN()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the AddTags operation. Specify the tags that you want to attach to the Elasticsearch domain."]moduleAcceptInboundCrossClusterSearchConnectionResponse=structtypenonrect={crossClusterSearchConnection:InboundCrossClusterSearchConnection.toption[@ocaml.doc"Specifies the InboundCrossClusterSearchConnection of accepted inbound connection."]}typenonrecerror=[`DisabledOperationExceptionofDisabledOperationException.t|`LimitExceededExceptionofLimitExceededException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`Unknown_operation_errorof(string*stringoption)]letmake?crossClusterSearchConnection=fun()->{crossClusterSearchConnection}leterror_of_jsonnamejson=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_jsonjson)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DisabledOperationException"->`DisabledOperationException(DisabledOperationException.of_xmlxml)|"LimitExceededException"->`LimitExceededException(LimitExceededException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`DisabledOperationExceptione->`Assoc[("error",(`String"DisabledOperationException"));("details",(DisabledOperationException.to_jsone))]|`LimitExceededExceptione->`Assoc[("error",(`String"LimitExceededException"));("details",(LimitExceededException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("CrossClusterSearchConnection",(Option.mapx.crossClusterSearchConnection~f:InboundCrossClusterSearchConnection.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnection=(Option.map~f:InboundCrossClusterSearchConnection.of_xml)(Xml.childxml_arg0"CrossClusterSearchConnection")inmake?crossClusterSearchConnection()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnection=field_mapjson__"CrossClusterSearchConnection"InboundCrossClusterSearchConnection.of_jsoninmake?crossClusterSearchConnection()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The result of a AcceptInboundCrossClusterSearchConnection operation. Contains details of accepted inbound connection."]moduleAcceptInboundCrossClusterSearchConnectionRequest=structtypenonrect={crossClusterSearchConnectionId:CrossClusterSearchConnectionId.t[@ocaml.doc"The id of the inbound connection that you want to accept."]}letcontext_="AcceptInboundCrossClusterSearchConnectionRequest"letmake~crossClusterSearchConnectionId=fun()->{crossClusterSearchConnectionId}letto_valuex=structure_to_value[("ConnectionId",(Some(CrossClusterSearchConnectionId.to_valuex.crossClusterSearchConnectionId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcrossClusterSearchConnectionId=CrossClusterSearchConnectionId.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectionId")inmake~crossClusterSearchConnectionId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcrossClusterSearchConnectionId=field_map_exnjson__"CrossClusterSearchConnectionId"CrossClusterSearchConnectionId.of_jsoninmake~crossClusterSearchConnectionId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Container for the parameters to the AcceptInboundCrossClusterSearchConnection operation."]