1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711771277137714771577167717771877197720772177227723772477257726772777287729773077317732773377347735773677377738773977407741774277437744774577467747774877497750775177527753775477557756775777587759776077617762776377647765776677677768776977707771777277737774777577767777777877797780778177827783778477857786778777887789779077917792779377947795779677977798779978007801780278037804780578067807780878097810781178127813781478157816781778187819782078217822782378247825782678277828782978307831783278337834783578367837783878397840784178427843784478457846784778487849785078517852785378547855785678577858785978607861786278637864786578667867786878697870787178727873787478757876787778787879788078817882788378847885788678877888788978907891789278937894789578967897789878997900790179027903790479057906790779087909791079117912791379147915791679177918791979207921792279237924792579267927792879297930793179327933793479357936793779387939794079417942794379447945794679477948794979507951795279537954795579567957795879597960796179627963796479657966796779687969797079717972797379747975797679777978797979807981798279837984798579867987798879897990799179927993799479957996799779987999800080018002800380048005800680078008800980108011801280138014801580168017801880198020802180228023802480258026802780288029803080318032803380348035803680378038803980408041804280438044804580468047804880498050805180528053805480558056805780588059806080618062806380648065806680678068806980708071807280738074807580768077807880798080808180828083808480858086808780888089809080918092809380948095809680978098809981008101810281038104810581068107810881098110811181128113811481158116811781188119812081218122812381248125812681278128812981308131813281338134813581368137813881398140814181428143814481458146814781488149815081518152815381548155815681578158815981608161816281638164816581668167816881698170817181728173817481758176817781788179818081818182818381848185818681878188818981908191819281938194819581968197819881998200820182028203820482058206820782088209821082118212821382148215821682178218821982208221822282238224822582268227822882298230823182328233823482358236823782388239824082418242824382448245824682478248824982508251825282538254825582568257825882598260826182628263826482658266826782688269827082718272827382748275827682778278827982808281828282838284828582868287828882898290829182928293829482958296829782988299830083018302830383048305830683078308830983108311831283138314831583168317831883198320832183228323832483258326832783288329833083318332833383348335833683378338833983408341834283438344834583468347834883498350835183528353835483558356835783588359836083618362836383648365836683678368836983708371837283738374837583768377837883798380838183828383838483858386838783888389839083918392839383948395839683978398839984008401840284038404840584068407840884098410841184128413841484158416841784188419842084218422842384248425842684278428842984308431843284338434843584368437843884398440844184428443844484458446844784488449845084518452845384548455845684578458845984608461846284638464846584668467846884698470847184728473847484758476847784788479848084818482848384848485848684878488848984908491849284938494849584968497849884998500850185028503850485058506850785088509851085118512851385148515851685178518851985208521852285238524852585268527852885298530853185328533853485358536853785388539854085418542854385448545854685478548854985508551855285538554855585568557855885598560856185628563856485658566856785688569857085718572857385748575857685778578857985808581858285838584858585868587858885898590859185928593859485958596859785988599860086018602860386048605860686078608860986108611861286138614861586168617861886198620862186228623862486258626862786288629863086318632863386348635863686378638863986408641864286438644864586468647864886498650865186528653865486558656865786588659866086618662866386648665866686678668866986708671867286738674867586768677867886798680868186828683868486858686868786888689869086918692869386948695869686978698869987008701870287038704870587068707870887098710871187128713871487158716871787188719872087218722872387248725872687278728872987308731873287338734873587368737873887398740874187428743874487458746874787488749875087518752875387548755875687578758875987608761876287638764876587668767876887698770877187728773877487758776877787788779878087818782878387848785878687878788878987908791879287938794879587968797879887998800880188028803880488058806880788088809881088118812881388148815881688178818881988208821882288238824882588268827882888298830883188328833883488358836883788388839884088418842884388448845884688478848884988508851885288538854885588568857885888598860886188628863886488658866886788688869887088718872887388748875887688778878887988808881888288838884888588868887888888898890889188928893889488958896889788988899890089018902890389048905890689078908890989108911891289138914891589168917891889198920892189228923892489258926892789288929893089318932893389348935893689378938893989408941894289438944894589468947894889498950895189528953895489558956895789588959896089618962896389648965896689678968896989708971897289738974897589768977897889798980898189828983898489858986898789888989899089918992899389948995899689978998899990009001900290039004900590069007900890099010901190129013901490159016901790189019902090219022902390249025902690279028902990309031903290339034903590369037903890399040904190429043904490459046904790489049905090519052905390549055905690579058905990609061906290639064906590669067906890699070907190729073907490759076907790789079908090819082908390849085908690879088908990909091909290939094909590969097909890999100910191029103910491059106910791089109911091119112911391149115911691179118911991209121912291239124912591269127912891299130913191329133913491359136913791389139914091419142914391449145914691479148914991509151915291539154915591569157915891599160916191629163916491659166916791689169917091719172917391749175917691779178917991809181918291839184918591869187918891899190919191929193919491959196919791989199920092019202920392049205920692079208920992109211921292139214921592169217921892199220922192229223922492259226922792289229923092319232923392349235923692379238923992409241924292439244924592469247924892499250925192529253925492559256925792589259926092619262926392649265926692679268926992709271927292739274927592769277927892799280928192829283928492859286928792889289929092919292929392949295929692979298929993009301930293039304930593069307930893099310931193129313931493159316931793189319932093219322932393249325932693279328932993309331933293339334933593369337933893399340934193429343934493459346934793489349935093519352935393549355935693579358935993609361936293639364936593669367936893699370937193729373937493759376937793789379938093819382938393849385938693879388938993909391939293939394939593969397939893999400940194029403940494059406940794089409941094119412941394149415941694179418941994209421942294239424942594269427942894299430943194329433943494359436943794389439944094419442944394449445944694479448944994509451945294539454945594569457945894599460946194629463946494659466946794689469947094719472947394749475947694779478947994809481948294839484948594869487948894899490949194929493949494959496949794989499950095019502950395049505950695079508950995109511951295139514951595169517951895199520952195229523952495259526952795289529953095319532953395349535953695379538953995409541954295439544954595469547954895499550955195529553955495559556955795589559956095619562956395649565956695679568956995709571957295739574957595769577957895799580958195829583958495859586958795889589959095919592959395949595959695979598959996009601960296039604960596069607960896099610961196129613961496159616961796189619962096219622962396249625962696279628962996309631963296339634963596369637963896399640964196429643964496459646964796489649965096519652965396549655965696579658965996609661966296639664966596669667966896699670967196729673967496759676967796789679968096819682968396849685968696879688968996909691969296939694969596969697969896999700970197029703970497059706970797089709971097119712971397149715971697179718971997209721972297239724972597269727972897299730973197329733973497359736973797389739974097419742974397449745974697479748974997509751975297539754975597569757975897599760976197629763976497659766976797689769977097719772977397749775977697779778977997809781978297839784978597869787978897899790979197929793979497959796979797989799980098019802980398049805980698079808980998109811981298139814981598169817981898199820982198229823982498259826982798289829983098319832983398349835983698379838983998409841984298439844984598469847984898499850985198529853985498559856985798589859986098619862986398649865986698679868986998709871987298739874987598769877987898799880988198829883988498859886988798889889989098919892989398949895989698979898989999009901990299039904990599069907990899099910991199129913991499159916991799189919992099219922992399249925992699279928992999309931993299339934993599369937993899399940994199429943994499459946994799489949995099519952995399549955995699579958995999609961996299639964996599669967996899699970997199729973997499759976997799789979998099819982998399849985998699879988998999909991999299939994999599969997999899991000010001100021000310004100051000610007100081000910010100111001210013100141001510016100171001810019100201002110022100231002410025100261002710028100291003010031100321003310034100351003610037100381003910040100411004210043100441004510046100471004810049100501005110052100531005410055100561005710058100591006010061100621006310064100651006610067100681006910070100711007210073100741007510076100771007810079100801008110082100831008410085100861008710088100891009010091100921009310094100951009610097100981009910100101011010210103101041010510106101071010810109101101011110112101131011410115101161011710118101191012010121101221012310124101251012610127101281012910130101311013210133101341013510136101371013810139101401014110142101431014410145101461014710148101491015010151101521015310154101551015610157101581015910160101611016210163101641016510166101671016810169101701017110172101731017410175101761017710178101791018010181101821018310184101851018610187101881018910190101911019210193101941019510196101971019810199102001020110202102031020410205102061020710208102091021010211102121021310214102151021610217102181021910220102211022210223102241022510226102271022810229102301023110232102331023410235102361023710238102391024010241102421024310244102451024610247102481024910250102511025210253102541025510256102571025810259102601026110262102631026410265102661026710268102691027010271102721027310274102751027610277102781027910280102811028210283102841028510286102871028810289102901029110292102931029410295102961029710298102991030010301103021030310304103051030610307103081030910310103111031210313103141031510316103171031810319103201032110322103231032410325103261032710328103291033010331103321033310334103351033610337103381033910340103411034210343103441034510346103471034810349103501035110352103531035410355103561035710358103591036010361103621036310364103651036610367103681036910370103711037210373103741037510376103771037810379103801038110382103831038410385103861038710388103891039010391103921039310394103951039610397103981039910400104011040210403104041040510406104071040810409104101041110412104131041410415104161041710418104191042010421104221042310424104251042610427104281042910430104311043210433104341043510436104371043810439104401044110442104431044410445104461044710448104491045010451104521045310454104551045610457104581045910460104611046210463104641046510466104671046810469104701047110472104731047410475104761047710478104791048010481104821048310484104851048610487104881048910490104911049210493104941049510496104971049810499105001050110502105031050410505105061050710508105091051010511105121051310514105151051610517105181051910520105211052210523105241052510526105271052810529105301053110532105331053410535105361053710538105391054010541105421054310544105451054610547105481054910550105511055210553105541055510556105571055810559105601056110562105631056410565105661056710568105691057010571105721057310574105751057610577105781057910580105811058210583105841058510586105871058810589105901059110592105931059410595105961059710598105991060010601106021060310604106051060610607106081060910610106111061210613106141061510616106171061810619106201062110622106231062410625106261062710628106291063010631106321063310634106351063610637106381063910640106411064210643106441064510646106471064810649106501065110652106531065410655106561065710658106591066010661106621066310664106651066610667106681066910670106711067210673106741067510676106771067810679106801068110682106831068410685106861068710688106891069010691106921069310694106951069610697106981069910700107011070210703107041070510706107071070810709107101071110712107131071410715107161071710718107191072010721107221072310724107251072610727107281072910730107311073210733107341073510736107371073810739107401074110742107431074410745107461074710748107491075010751107521075310754107551075610757107581075910760107611076210763107641076510766107671076810769107701077110772107731077410775107761077710778107791078010781107821078310784107851078610787107881078910790107911079210793107941079510796107971079810799108001080110802108031080410805108061080710808108091081010811108121081310814108151081610817108181081910820108211082210823108241082510826108271082810829108301083110832108331083410835108361083710838108391084010841108421084310844108451084610847108481084910850108511085210853108541085510856108571085810859108601086110862108631086410865108661086710868108691087010871108721087310874108751087610877108781087910880108811088210883108841088510886108871088810889108901089110892108931089410895108961089710898108991090010901109021090310904109051090610907109081090910910109111091210913109141091510916109171091810919109201092110922109231092410925109261092710928109291093010931109321093310934109351093610937109381093910940109411094210943109441094510946109471094810949109501095110952109531095410955109561095710958109591096010961109621096310964109651096610967109681096910970109711097210973109741097510976109771097810979109801098110982109831098410985109861098710988109891099010991109921099310994109951099610997109981099911000110011100211003110041100511006110071100811009110101101111012110131101411015110161101711018110191102011021110221102311024110251102611027110281102911030110311103211033110341103511036110371103811039110401104111042110431104411045110461104711048110491105011051110521105311054110551105611057110581105911060110611106211063110641106511066110671106811069110701107111072110731107411075110761107711078110791108011081110821108311084110851108611087110881108911090110911109211093110941109511096110971109811099111001110111102111031110411105111061110711108111091111011111111121111311114111151111611117111181111911120111211112211123111241112511126111271112811129111301113111132111331113411135111361113711138111391114011141111421114311144111451114611147111481114911150111511115211153111541115511156111571115811159111601116111162111631116411165111661116711168111691117011171111721117311174111751117611177111781117911180111811118211183111841118511186111871118811189111901119111192111931119411195111961119711198111991120011201112021120311204112051120611207112081120911210112111121211213112141121511216112171121811219112201122111222112231122411225112261122711228112291123011231112321123311234112351123611237112381123911240112411124211243112441124511246112471124811249112501125111252112531125411255112561125711258112591126011261112621126311264112651126611267112681126911270112711127211273112741127511276112771127811279112801128111282112831128411285112861128711288112891129011291112921129311294112951129611297112981129911300113011130211303113041130511306113071130811309113101131111312113131131411315113161131711318113191132011321113221132311324113251132611327113281132911330113311133211333113341133511336113371133811339113401134111342113431134411345113461134711348113491135011351113521135311354113551135611357113581135911360113611136211363113641136511366113671136811369113701137111372113731137411375113761137711378113791138011381113821138311384113851138611387113881138911390113911139211393113941139511396113971139811399114001140111402114031140411405114061140711408114091141011411114121141311414114151141611417114181141911420114211142211423114241142511426114271142811429114301143111432114331143411435114361143711438114391144011441114421144311444114451144611447114481144911450114511145211453114541145511456114571145811459114601146111462114631146411465114661146711468114691147011471114721147311474114751147611477114781147911480114811148211483114841148511486114871148811489114901149111492114931149411495114961149711498114991150011501115021150311504115051150611507115081150911510115111151211513115141151511516115171151811519115201152111522115231152411525115261152711528115291153011531115321153311534115351153611537115381153911540115411154211543115441154511546115471154811549115501155111552115531155411555115561155711558115591156011561115621156311564115651156611567115681156911570115711157211573115741157511576115771157811579115801158111582115831158411585115861158711588115891159011591115921159311594115951159611597115981159911600116011160211603116041160511606116071160811609116101161111612116131161411615116161161711618116191162011621116221162311624116251162611627116281162911630116311163211633116341163511636116371163811639116401164111642116431164411645116461164711648116491165011651116521165311654116551165611657116581165911660116611166211663116641166511666116671166811669116701167111672116731167411675116761167711678116791168011681116821168311684116851168611687116881168911690116911169211693116941169511696116971169811699117001170111702117031170411705117061170711708117091171011711117121171311714117151171611717117181171911720117211172211723117241172511726117271172811729117301173111732117331173411735117361173711738117391174011741117421174311744117451174611747117481174911750117511175211753117541175511756117571175811759117601176111762117631176411765117661176711768117691177011771117721177311774117751177611777117781177911780117811178211783117841178511786117871178811789117901179111792117931179411795117961179711798117991180011801118021180311804118051180611807118081180911810118111181211813118141181511816118171181811819118201182111822118231182411825118261182711828118291183011831118321183311834118351183611837118381183911840118411184211843118441184511846118471184811849118501185111852118531185411855118561185711858118591186011861118621186311864118651186611867118681186911870118711187211873118741187511876118771187811879118801188111882118831188411885118861188711888118891189011891118921189311894118951189611897118981189911900119011190211903119041190511906119071190811909119101191111912119131191411915119161191711918119191192011921119221192311924119251192611927119281192911930119311193211933119341193511936119371193811939119401194111942119431194411945119461194711948119491195011951119521195311954119551195611957119581195911960119611196211963119641196511966119671196811969119701197111972119731197411975119761197711978119791198011981119821198311984119851198611987119881198911990119911199211993119941199511996119971199811999120001200112002120031200412005120061200712008120091201012011120121201312014120151201612017120181201912020120211202212023120241202512026120271202812029120301203112032120331203412035120361203712038120391204012041120421204312044120451204612047120481204912050120511205212053120541205512056120571205812059120601206112062120631206412065120661206712068120691207012071120721207312074120751207612077120781207912080120811208212083120841208512086120871208812089120901209112092120931209412095120961209712098120991210012101121021210312104121051210612107121081210912110121111211212113121141211512116121171211812119121201212112122121231212412125121261212712128121291213012131121321213312134121351213612137121381213912140121411214212143121441214512146121471214812149121501215112152121531215412155121561215712158121591216012161121621216312164121651216612167121681216912170121711217212173121741217512176121771217812179121801218112182121831218412185121861218712188121891219012191121921219312194121951219612197121981219912200122011220212203122041220512206122071220812209122101221112212122131221412215122161221712218122191222012221122221222312224122251222612227122281222912230122311223212233122341223512236122371223812239122401224112242122431224412245122461224712248122491225012251122521225312254122551225612257122581225912260122611226212263122641226512266122671226812269122701227112272122731227412275122761227712278122791228012281122821228312284122851228612287122881228912290122911229212293122941229512296122971229812299123001230112302123031230412305123061230712308123091231012311123121231312314123151231612317123181231912320123211232212323123241232512326123271232812329123301233112332123331233412335123361233712338123391234012341123421234312344123451234612347123481234912350123511235212353123541235512356123571235812359123601236112362123631236412365123661236712368123691237012371123721237312374123751237612377123781237912380123811238212383123841238512386123871238812389123901239112392123931239412395123961239712398123991240012401124021240312404124051240612407124081240912410124111241212413124141241512416124171241812419124201242112422124231242412425124261242712428124291243012431124321243312434124351243612437124381243912440124411244212443124441244512446124471244812449124501245112452124531245412455124561245712458124591246012461124621246312464124651246612467124681246912470124711247212473124741247512476124771247812479124801248112482124831248412485124861248712488124891249012491124921249312494124951249612497124981249912500125011250212503125041250512506125071250812509125101251112512125131251412515125161251712518125191252012521125221252312524125251252612527125281252912530125311253212533125341253512536125371253812539125401254112542125431254412545125461254712548125491255012551125521255312554125551255612557125581255912560125611256212563125641256512566125671256812569125701257112572125731257412575125761257712578125791258012581125821258312584125851258612587125881258912590125911259212593125941259512596125971259812599126001260112602126031260412605126061260712608126091261012611126121261312614126151261612617126181261912620126211262212623126241262512626126271262812629126301263112632126331263412635126361263712638126391264012641126421264312644126451264612647126481264912650126511265212653126541265512656126571265812659126601266112662126631266412665126661266712668126691267012671126721267312674126751267612677126781267912680126811268212683126841268512686126871268812689126901269112692126931269412695126961269712698126991270012701127021270312704127051270612707127081270912710127111271212713127141271512716127171271812719127201272112722127231272412725127261272712728127291273012731127321273312734127351273612737127381273912740127411274212743127441274512746127471274812749127501275112752127531275412755127561275712758127591276012761127621276312764127651276612767127681276912770127711277212773127741277512776127771277812779127801278112782127831278412785127861278712788127891279012791127921279312794127951279612797127981279912800128011280212803128041280512806128071280812809128101281112812128131281412815128161281712818128191282012821128221282312824128251282612827128281282912830128311283212833128341283512836128371283812839128401284112842128431284412845128461284712848128491285012851128521285312854128551285612857128581285912860128611286212863128641286512866128671286812869128701287112872128731287412875128761287712878128791288012881128821288312884128851288612887128881288912890128911289212893128941289512896128971289812899129001290112902129031290412905129061290712908129091291012911129121291312914129151291612917129181291912920129211292212923129241292512926129271292812929129301293112932129331293412935129361293712938129391294012941129421294312944129451294612947129481294912950129511295212953129541295512956129571295812959129601296112962129631296412965129661296712968129691297012971129721297312974129751297612977129781297912980129811298212983129841298512986129871298812989129901299112992129931299412995129961299712998129991300013001130021300313004130051300613007130081300913010130111301213013130141301513016130171301813019130201302113022130231302413025130261302713028130291303013031130321303313034130351303613037130381303913040130411304213043130441304513046130471304813049130501305113052130531305413055130561305713058130591306013061130621306313064130651306613067130681306913070130711307213073130741307513076130771307813079130801308113082130831308413085130861308713088130891309013091130921309313094130951309613097130981309913100131011310213103131041310513106131071310813109131101311113112131131311413115131161311713118131191312013121131221312313124131251312613127131281312913130131311313213133131341313513136131371313813139131401314113142131431314413145131461314713148131491315013151131521315313154131551315613157131581315913160131611316213163131641316513166131671316813169131701317113172131731317413175131761317713178131791318013181131821318313184131851318613187131881318913190131911319213193131941319513196131971319813199132001320113202132031320413205132061320713208132091321013211132121321313214132151321613217132181321913220132211322213223132241322513226132271322813229132301323113232132331323413235132361323713238132391324013241132421324313244132451324613247132481324913250132511325213253132541325513256132571325813259132601326113262132631326413265132661326713268132691327013271132721327313274132751327613277132781327913280132811328213283132841328513286132871328813289132901329113292132931329413295132961329713298132991330013301133021330313304133051330613307133081330913310133111331213313133141331513316133171331813319133201332113322133231332413325133261332713328133291333013331133321333313334133351333613337133381333913340133411334213343133441334513346133471334813349133501335113352133531335413355133561335713358133591336013361133621336313364133651336613367133681336913370133711337213373133741337513376133771337813379133801338113382133831338413385133861338713388133891339013391133921339313394133951339613397133981339913400134011340213403134041340513406134071340813409134101341113412134131341413415134161341713418134191342013421134221342313424134251342613427134281342913430134311343213433134341343513436134371343813439134401344113442134431344413445134461344713448134491345013451134521345313454134551345613457134581345913460134611346213463134641346513466134671346813469134701347113472134731347413475134761347713478134791348013481134821348313484134851348613487134881348913490134911349213493134941349513496134971349813499135001350113502135031350413505135061350713508135091351013511135121351313514135151351613517135181351913520135211352213523135241352513526135271352813529135301353113532135331353413535135361353713538135391354013541135421354313544135451354613547135481354913550135511355213553135541355513556135571355813559135601356113562135631356413565135661356713568135691357013571135721357313574135751357613577135781357913580135811358213583135841358513586135871358813589135901359113592135931359413595135961359713598135991360013601136021360313604136051360613607136081360913610136111361213613136141361513616136171361813619136201362113622136231362413625136261362713628136291363013631136321363313634136351363613637136381363913640136411364213643136441364513646136471364813649136501365113652136531365413655136561365713658136591366013661136621366313664136651366613667136681366913670136711367213673136741367513676136771367813679136801368113682136831368413685136861368713688136891369013691136921369313694136951369613697136981369913700137011370213703137041370513706137071370813709137101371113712137131371413715137161371713718137191372013721137221372313724137251372613727137281372913730137311373213733137341373513736137371373813739137401374113742137431374413745137461374713748137491375013751137521375313754137551375613757137581375913760137611376213763137641376513766137671376813769137701377113772137731377413775137761377713778137791378013781137821378313784137851378613787137881378913790137911379213793137941379513796137971379813799138001380113802138031380413805138061380713808138091381013811138121381313814138151381613817138181381913820138211382213823138241382513826138271382813829138301383113832138331383413835138361383713838138391384013841138421384313844138451384613847138481384913850138511385213853138541385513856138571385813859138601386113862138631386413865138661386713868138691387013871138721387313874138751387613877138781387913880138811388213883138841388513886138871388813889138901389113892138931389413895138961389713898138991390013901139021390313904139051390613907139081390913910139111391213913139141391513916139171391813919139201392113922139231392413925139261392713928139291393013931139321393313934139351393613937139381393913940139411394213943139441394513946139471394813949139501395113952139531395413955139561395713958139591396013961139621396313964139651396613967139681396913970139711397213973139741397513976139771397813979139801398113982139831398413985139861398713988139891399013991139921399313994139951399613997139981399914000140011400214003140041400514006140071400814009140101401114012140131401414015140161401714018140191402014021140221402314024140251402614027140281402914030140311403214033140341403514036140371403814039140401404114042140431404414045140461404714048140491405014051140521405314054140551405614057140581405914060140611406214063140641406514066140671406814069140701407114072140731407414075140761407714078140791408014081140821408314084140851408614087140881408914090140911409214093140941409514096140971409814099141001410114102141031410414105141061410714108141091411014111141121411314114141151411614117141181411914120141211412214123141241412514126141271412814129141301413114132141331413414135141361413714138141391414014141141421414314144141451414614147141481414914150141511415214153141541415514156141571415814159141601416114162141631416414165141661416714168141691417014171141721417314174141751417614177141781417914180141811418214183141841418514186141871418814189141901419114192141931419414195141961419714198141991420014201142021420314204142051420614207142081420914210142111421214213142141421514216142171421814219142201422114222142231422414225142261422714228142291423014231142321423314234142351423614237142381423914240142411424214243142441424514246142471424814249142501425114252142531425414255142561425714258142591426014261142621426314264142651426614267142681426914270142711427214273142741427514276142771427814279142801428114282142831428414285142861428714288142891429014291142921429314294142951429614297142981429914300143011430214303143041430514306143071430814309143101431114312143131431414315143161431714318143191432014321143221432314324143251432614327143281432914330143311433214333143341433514336143371433814339143401434114342143431434414345143461434714348143491435014351143521435314354143551435614357143581435914360143611436214363143641436514366143671436814369143701437114372143731437414375143761437714378143791438014381143821438314384143851438614387143881438914390143911439214393143941439514396143971439814399144001440114402144031440414405144061440714408144091441014411144121441314414144151441614417144181441914420144211442214423144241442514426144271442814429144301443114432144331443414435144361443714438144391444014441144421444314444144451444614447144481444914450144511445214453144541445514456144571445814459144601446114462144631446414465144661446714468144691447014471144721447314474144751447614477144781447914480144811448214483144841448514486144871448814489144901449114492144931449414495144961449714498144991450014501145021450314504145051450614507145081450914510145111451214513145141451514516145171451814519145201452114522145231452414525145261452714528145291453014531145321453314534145351453614537145381453914540145411454214543145441454514546145471454814549145501455114552145531455414555145561455714558145591456014561145621456314564145651456614567145681456914570145711457214573145741457514576145771457814579145801458114582145831458414585145861458714588145891459014591145921459314594145951459614597145981459914600146011460214603146041460514606146071460814609146101461114612146131461414615146161461714618146191462014621146221462314624146251462614627146281462914630146311463214633146341463514636146371463814639146401464114642146431464414645146461464714648146491465014651146521465314654146551465614657146581465914660146611466214663146641466514666146671466814669146701467114672146731467414675146761467714678146791468014681146821468314684146851468614687146881468914690146911469214693146941469514696146971469814699147001470114702147031470414705147061470714708147091471014711147121471314714147151471614717147181471914720147211472214723147241472514726147271472814729147301473114732147331473414735147361473714738147391474014741147421474314744147451474614747147481474914750147511475214753147541475514756147571475814759147601476114762147631476414765147661476714768147691477014771147721477314774147751477614777147781477914780147811478214783147841478514786147871478814789147901479114792147931479414795147961479714798147991480014801148021480314804148051480614807148081480914810148111481214813148141481514816148171481814819148201482114822148231482414825148261482714828148291483014831148321483314834148351483614837148381483914840148411484214843148441484514846148471484814849148501485114852148531485414855148561485714858148591486014861148621486314864148651486614867148681486914870148711487214873148741487514876148771487814879148801488114882148831488414885148861488714888148891489014891148921489314894148951489614897148981489914900149011490214903149041490514906149071490814909149101491114912149131491414915149161491714918149191492014921149221492314924149251492614927149281492914930149311493214933149341493514936149371493814939149401494114942149431494414945149461494714948149491495014951149521495314954149551495614957149581495914960149611496214963149641496514966149671496814969149701497114972149731497414975149761497714978149791498014981149821498314984149851498614987149881498914990149911499214993149941499514996149971499814999150001500115002150031500415005150061500715008150091501015011150121501315014150151501615017150181501915020150211502215023150241502515026150271502815029150301503115032150331503415035150361503715038150391504015041150421504315044150451504615047150481504915050150511505215053150541505515056150571505815059150601506115062150631506415065150661506715068150691507015071150721507315074150751507615077150781507915080150811508215083150841508515086150871508815089150901509115092150931509415095150961509715098150991510015101151021510315104151051510615107151081510915110151111511215113151141511515116151171511815119151201512115122151231512415125151261512715128151291513015131151321513315134151351513615137151381513915140151411514215143151441514515146151471514815149151501515115152151531515415155151561515715158151591516015161151621516315164151651516615167151681516915170151711517215173151741517515176151771517815179151801518115182151831518415185151861518715188151891519015191151921519315194151951519615197151981519915200152011520215203152041520515206152071520815209152101521115212152131521415215152161521715218152191522015221152221522315224152251522615227152281522915230152311523215233152341523515236152371523815239152401524115242152431524415245152461524715248152491525015251152521525315254152551525615257152581525915260152611526215263152641526515266152671526815269152701527115272152731527415275152761527715278152791528015281152821528315284152851528615287152881528915290152911529215293152941529515296152971529815299153001530115302153031530415305153061530715308153091531015311153121531315314153151531615317153181531915320153211532215323153241532515326153271532815329153301533115332153331533415335153361533715338153391534015341153421534315344153451534615347153481534915350153511535215353153541535515356153571535815359153601536115362153631536415365153661536715368153691537015371153721537315374153751537615377153781537915380153811538215383153841538515386153871538815389153901539115392153931539415395153961539715398153991540015401154021540315404154051540615407154081540915410154111541215413154141541515416154171541815419154201542115422154231542415425154261542715428154291543015431154321543315434154351543615437154381543915440154411544215443154441544515446154471544815449154501545115452154531545415455154561545715458154591546015461154621546315464154651546615467154681546915470154711547215473154741547515476154771547815479154801548115482154831548415485154861548715488154891549015491154921549315494154951549615497154981549915500155011550215503155041550515506155071550815509155101551115512155131551415515155161551715518155191552015521155221552315524155251552615527155281552915530155311553215533155341553515536155371553815539155401554115542155431554415545155461554715548155491555015551155521555315554155551555615557155581555915560155611556215563155641556515566155671556815569155701557115572155731557415575155761557715578155791558015581155821558315584155851558615587155881558915590155911559215593155941559515596155971559815599156001560115602156031560415605156061560715608156091561015611156121561315614156151561615617156181561915620156211562215623156241562515626156271562815629156301563115632156331563415635156361563715638156391564015641156421564315644156451564615647156481564915650156511565215653156541565515656156571565815659156601566115662156631566415665156661566715668156691567015671156721567315674156751567615677156781567915680156811568215683156841568515686156871568815689156901569115692156931569415695156961569715698156991570015701157021570315704157051570615707157081570915710157111571215713157141571515716157171571815719157201572115722157231572415725157261572715728157291573015731157321573315734157351573615737157381573915740157411574215743157441574515746157471574815749157501575115752157531575415755157561575715758157591576015761157621576315764157651576615767157681576915770157711577215773157741577515776157771577815779157801578115782157831578415785157861578715788157891579015791157921579315794157951579615797157981579915800158011580215803158041580515806158071580815809158101581115812158131581415815158161581715818158191582015821158221582315824158251582615827158281582915830158311583215833158341583515836158371583815839158401584115842158431584415845158461584715848158491585015851158521585315854158551585615857158581585915860158611586215863158641586515866158671586815869158701587115872158731587415875158761587715878158791588015881158821588315884158851588615887158881588915890158911589215893158941589515896158971589815899159001590115902159031590415905159061590715908159091591015911159121591315914159151591615917159181591915920159211592215923159241592515926159271592815929159301593115932159331593415935159361593715938159391594015941159421594315944159451594615947159481594915950159511595215953159541595515956159571595815959159601596115962159631596415965159661596715968159691597015971159721597315974159751597615977159781597915980159811598215983159841598515986159871598815989159901599115992159931599415995159961599715998159991600016001160021600316004160051600616007160081600916010160111601216013160141601516016160171601816019160201602116022160231602416025160261602716028160291603016031160321603316034160351603616037160381603916040160411604216043160441604516046160471604816049160501605116052160531605416055160561605716058160591606016061160621606316064160651606616067160681606916070160711607216073160741607516076160771607816079160801608116082160831608416085160861608716088160891609016091160921609316094160951609616097160981609916100161011610216103161041610516106161071610816109161101611116112161131611416115161161611716118161191612016121161221612316124161251612616127161281612916130161311613216133161341613516136161371613816139161401614116142161431614416145161461614716148161491615016151161521615316154161551615616157161581615916160161611616216163161641616516166161671616816169161701617116172161731617416175161761617716178161791618016181161821618316184161851618616187161881618916190161911619216193161941619516196161971619816199162001620116202162031620416205162061620716208162091621016211162121621316214162151621616217162181621916220162211622216223162241622516226162271622816229162301623116232162331623416235162361623716238162391624016241162421624316244162451624616247162481624916250162511625216253162541625516256162571625816259162601626116262162631626416265162661626716268162691627016271162721627316274162751627616277162781627916280162811628216283162841628516286162871628816289162901629116292162931629416295162961629716298162991630016301163021630316304163051630616307163081630916310163111631216313163141631516316163171631816319163201632116322163231632416325163261632716328163291633016331163321633316334163351633616337163381633916340163411634216343163441634516346163471634816349163501635116352163531635416355163561635716358163591636016361163621636316364163651636616367163681636916370163711637216373163741637516376163771637816379163801638116382163831638416385163861638716388163891639016391163921639316394163951639616397163981639916400164011640216403164041640516406164071640816409164101641116412164131641416415164161641716418164191642016421164221642316424164251642616427164281642916430164311643216433164341643516436164371643816439164401644116442164431644416445164461644716448164491645016451164521645316454164551645616457164581645916460164611646216463164641646516466164671646816469164701647116472164731647416475164761647716478164791648016481164821648316484164851648616487164881648916490164911649216493164941649516496164971649816499165001650116502165031650416505165061650716508165091651016511165121651316514165151651616517165181651916520165211652216523165241652516526165271652816529165301653116532165331653416535165361653716538165391654016541165421654316544165451654616547165481654916550165511655216553165541655516556165571655816559165601656116562165631656416565165661656716568165691657016571165721657316574165751657616577165781657916580165811658216583165841658516586165871658816589165901659116592165931659416595165961659716598165991660016601166021660316604166051660616607166081660916610166111661216613166141661516616166171661816619166201662116622166231662416625166261662716628166291663016631166321663316634166351663616637166381663916640166411664216643166441664516646166471664816649166501665116652166531665416655166561665716658166591666016661166621666316664166651666616667166681666916670166711667216673166741667516676166771667816679166801668116682166831668416685166861668716688166891669016691166921669316694166951669616697166981669916700167011670216703167041670516706167071670816709167101671116712167131671416715167161671716718167191672016721167221672316724167251672616727167281672916730167311673216733167341673516736167371673816739167401674116742167431674416745167461674716748167491675016751167521675316754167551675616757167581675916760167611676216763167641676516766167671676816769167701677116772167731677416775167761677716778167791678016781167821678316784167851678616787167881678916790167911679216793167941679516796167971679816799168001680116802168031680416805168061680716808168091681016811168121681316814168151681616817168181681916820168211682216823168241682516826168271682816829168301683116832168331683416835168361683716838168391684016841168421684316844168451684616847168481684916850168511685216853168541685516856168571685816859168601686116862168631686416865168661686716868168691687016871168721687316874168751687616877168781687916880168811688216883168841688516886168871688816889168901689116892168931689416895168961689716898168991690016901169021690316904169051690616907169081690916910169111691216913169141691516916169171691816919169201692116922169231692416925169261692716928169291693016931169321693316934169351693616937169381693916940169411694216943169441694516946169471694816949169501695116952169531695416955169561695716958169591696016961169621696316964169651696616967169681696916970169711697216973169741697516976169771697816979169801698116982169831698416985169861698716988169891699016991169921699316994169951699616997169981699917000170011700217003170041700517006170071700817009170101701117012170131701417015170161701717018170191702017021170221702317024170251702617027170281702917030170311703217033170341703517036170371703817039170401704117042170431704417045170461704717048170491705017051170521705317054170551705617057170581705917060170611706217063170641706517066170671706817069170701707117072170731707417075170761707717078170791708017081170821708317084170851708617087170881708917090170911709217093170941709517096170971709817099171001710117102171031710417105171061710717108171091711017111171121711317114171151711617117171181711917120171211712217123171241712517126171271712817129171301713117132171331713417135171361713717138171391714017141171421714317144171451714617147171481714917150171511715217153171541715517156171571715817159171601716117162171631716417165171661716717168171691717017171171721717317174171751717617177171781717917180171811718217183171841718517186171871718817189171901719117192171931719417195171961719717198171991720017201172021720317204172051720617207172081720917210172111721217213172141721517216172171721817219172201722117222172231722417225172261722717228172291723017231172321723317234172351723617237172381723917240172411724217243172441724517246172471724817249172501725117252172531725417255172561725717258172591726017261172621726317264172651726617267172681726917270172711727217273172741727517276172771727817279172801728117282172831728417285172861728717288172891729017291172921729317294172951729617297172981729917300173011730217303173041730517306173071730817309173101731117312173131731417315173161731717318173191732017321173221732317324173251732617327173281732917330173311733217333173341733517336173371733817339173401734117342173431734417345173461734717348173491735017351173521735317354173551735617357173581735917360173611736217363173641736517366173671736817369173701737117372173731737417375173761737717378173791738017381173821738317384173851738617387173881738917390173911739217393173941739517396173971739817399174001740117402174031740417405174061740717408174091741017411174121741317414174151741617417174181741917420174211742217423174241742517426174271742817429174301743117432174331743417435174361743717438174391744017441174421744317444174451744617447174481744917450174511745217453174541745517456174571745817459174601746117462174631746417465174661746717468174691747017471174721747317474174751747617477174781747917480174811748217483174841748517486174871748817489174901749117492174931749417495174961749717498174991750017501175021750317504175051750617507175081750917510175111751217513175141751517516175171751817519175201752117522175231752417525175261752717528175291753017531175321753317534175351753617537175381753917540175411754217543175441754517546175471754817549175501755117552175531755417555175561755717558175591756017561175621756317564175651756617567175681756917570175711757217573175741757517576175771757817579175801758117582175831758417585175861758717588175891759017591175921759317594175951759617597175981759917600176011760217603176041760517606176071760817609176101761117612176131761417615176161761717618176191762017621176221762317624176251762617627176281762917630176311763217633176341763517636176371763817639176401764117642176431764417645176461764717648176491765017651176521765317654176551765617657176581765917660176611766217663176641766517666176671766817669176701767117672176731767417675176761767717678176791768017681176821768317684176851768617687176881768917690176911769217693176941769517696176971769817699177001770117702177031770417705177061770717708177091771017711177121771317714177151771617717177181771917720177211772217723177241772517726177271772817729177301773117732177331773417735177361773717738177391774017741177421774317744177451774617747177481774917750177511775217753177541775517756177571775817759177601776117762177631776417765177661776717768177691777017771177721777317774177751777617777177781777917780177811778217783177841778517786177871778817789177901779117792177931779417795177961779717798177991780017801178021780317804178051780617807178081780917810178111781217813178141781517816178171781817819178201782117822178231782417825178261782717828178291783017831178321783317834178351783617837178381783917840178411784217843178441784517846178471784817849178501785117852178531785417855178561785717858178591786017861178621786317864178651786617867178681786917870178711787217873178741787517876178771787817879178801788117882178831788417885178861788717888178891789017891178921789317894178951789617897178981789917900179011790217903179041790517906179071790817909179101791117912179131791417915179161791717918179191792017921179221792317924179251792617927179281792917930179311793217933179341793517936179371793817939179401794117942179431794417945179461794717948179491795017951179521795317954179551795617957179581795917960179611796217963179641796517966179671796817969179701797117972179731797417975179761797717978179791798017981179821798317984179851798617987179881798917990179911799217993179941799517996179971799817999180001800118002180031800418005180061800718008180091801018011180121801318014180151801618017180181801918020180211802218023180241802518026180271802818029180301803118032180331803418035180361803718038180391804018041180421804318044180451804618047180481804918050180511805218053180541805518056180571805818059180601806118062180631806418065180661806718068180691807018071180721807318074180751807618077180781807918080180811808218083180841808518086180871808818089180901809118092180931809418095180961809718098180991810018101181021810318104181051810618107181081810918110181111811218113181141811518116181171811818119181201812118122181231812418125181261812718128181291813018131181321813318134181351813618137181381813918140181411814218143181441814518146181471814818149181501815118152181531815418155181561815718158181591816018161181621816318164181651816618167181681816918170181711817218173181741817518176181771817818179181801818118182181831818418185181861818718188181891819018191181921819318194181951819618197181981819918200182011820218203182041820518206182071820818209182101821118212182131821418215182161821718218182191822018221182221822318224182251822618227182281822918230182311823218233182341823518236182371823818239182401824118242182431824418245182461824718248182491825018251182521825318254182551825618257182581825918260182611826218263182641826518266182671826818269182701827118272182731827418275182761827718278182791828018281182821828318284182851828618287182881828918290182911829218293182941829518296182971829818299183001830118302183031830418305183061830718308183091831018311183121831318314183151831618317183181831918320183211832218323183241832518326183271832818329183301833118332183331833418335183361833718338183391834018341183421834318344183451834618347183481834918350183511835218353183541835518356183571835818359183601836118362183631836418365183661836718368183691837018371183721837318374183751837618377183781837918380183811838218383183841838518386183871838818389183901839118392183931839418395183961839718398183991840018401184021840318404184051840618407184081840918410184111841218413184141841518416184171841818419184201842118422184231842418425184261842718428184291843018431184321843318434184351843618437184381843918440184411844218443184441844518446184471844818449184501845118452184531845418455184561845718458184591846018461184621846318464184651846618467184681846918470184711847218473184741847518476184771847818479184801848118482184831848418485184861848718488184891849018491184921849318494184951849618497184981849918500185011850218503185041850518506185071850818509185101851118512185131851418515185161851718518185191852018521185221852318524185251852618527185281852918530185311853218533185341853518536185371853818539185401854118542185431854418545185461854718548185491855018551185521855318554185551855618557185581855918560185611856218563185641856518566185671856818569185701857118572185731857418575185761857718578185791858018581185821858318584185851858618587185881858918590185911859218593185941859518596185971859818599186001860118602186031860418605186061860718608186091861018611186121861318614186151861618617186181861918620186211862218623186241862518626186271862818629186301863118632186331863418635186361863718638186391864018641186421864318644186451864618647186481864918650186511865218653186541865518656186571865818659186601866118662186631866418665186661866718668186691867018671186721867318674186751867618677186781867918680186811868218683186841868518686186871868818689186901869118692186931869418695186961869718698186991870018701187021870318704187051870618707187081870918710187111871218713187141871518716187171871818719187201872118722187231872418725187261872718728187291873018731187321873318734187351873618737187381873918740187411874218743187441874518746187471874818749187501875118752187531875418755187561875718758187591876018761187621876318764187651876618767187681876918770187711877218773187741877518776187771877818779187801878118782187831878418785187861878718788187891879018791187921879318794187951879618797187981879918800188011880218803188041880518806188071880818809188101881118812188131881418815188161881718818188191882018821188221882318824188251882618827188281882918830188311883218833188341883518836188371883818839188401884118842188431884418845188461884718848188491885018851188521885318854188551885618857188581885918860188611886218863188641886518866188671886818869188701887118872188731887418875188761887718878188791888018881188821888318884188851888618887188881888918890188911889218893188941889518896188971889818899189001890118902189031890418905189061890718908189091891018911189121891318914189151891618917189181891918920189211892218923189241892518926189271892818929189301893118932189331893418935189361893718938189391894018941189421894318944189451894618947189481894918950189511895218953189541895518956189571895818959189601896118962189631896418965189661896718968189691897018971189721897318974189751897618977189781897918980189811898218983189841898518986189871898818989189901899118992189931899418995189961899718998189991900019001190021900319004190051900619007190081900919010190111901219013190141901519016190171901819019190201902119022190231902419025190261902719028190291903019031190321903319034190351903619037190381903919040190411904219043190441904519046190471904819049190501905119052190531905419055190561905719058190591906019061190621906319064190651906619067190681906919070190711907219073190741907519076190771907819079190801908119082190831908419085190861908719088190891909019091190921909319094190951909619097190981909919100191011910219103191041910519106191071910819109191101911119112191131911419115191161911719118191191912019121191221912319124191251912619127191281912919130191311913219133191341913519136191371913819139191401914119142191431914419145191461914719148191491915019151191521915319154191551915619157191581915919160191611916219163191641916519166191671916819169191701917119172191731917419175191761917719178191791918019181191821918319184191851918619187191881918919190191911919219193191941919519196191971919819199192001920119202192031920419205192061920719208192091921019211192121921319214192151921619217192181921919220192211922219223192241922519226192271922819229192301923119232192331923419235192361923719238192391924019241192421924319244192451924619247192481924919250192511925219253192541925519256192571925819259192601926119262192631926419265192661926719268192691927019271192721927319274192751927619277192781927919280192811928219283192841928519286192871928819289192901929119292192931929419295192961929719298192991930019301193021930319304193051930619307193081930919310193111931219313193141931519316193171931819319193201932119322193231932419325193261932719328193291933019331193321933319334193351933619337193381933919340193411934219343193441934519346193471934819349193501935119352193531935419355193561935719358193591936019361193621936319364193651936619367193681936919370193711937219373193741937519376193771937819379193801938119382193831938419385193861938719388193891939019391193921939319394193951939619397193981939919400194011940219403194041940519406194071940819409194101941119412194131941419415194161941719418194191942019421194221942319424194251942619427194281942919430194311943219433194341943519436194371943819439194401944119442194431944419445194461944719448194491945019451194521945319454194551945619457194581945919460194611946219463194641946519466194671946819469194701947119472194731947419475194761947719478194791948019481194821948319484194851948619487194881948919490194911949219493194941949519496194971949819499195001950119502195031950419505195061950719508195091951019511195121951319514195151951619517195181951919520195211952219523195241952519526195271952819529195301953119532195331953419535195361953719538195391954019541195421954319544195451954619547195481954919550195511955219553195541955519556195571955819559195601956119562195631956419565195661956719568195691957019571195721957319574195751957619577195781957919580195811958219583195841958519586195871958819589195901959119592195931959419595195961959719598195991960019601196021960319604196051960619607196081960919610196111961219613196141961519616196171961819619196201962119622196231962419625196261962719628196291963019631196321963319634196351963619637196381963919640196411964219643196441964519646196471964819649196501965119652196531965419655196561965719658196591966019661196621966319664196651966619667196681966919670196711967219673196741967519676196771967819679196801968119682196831968419685196861968719688196891969019691(* 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.vpc_latticeletapiVersion="2022-11-30"letendpointPrefix="vpc-lattice"letserviceFullName="Amazon VPC Lattice"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[]))])moduleHeaderMatchContains=structtypenonrect=stringletcontext_="HeaderMatchContains"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:200)>>=(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:"HeaderMatchContains"jletto_json=simple_to_jsonto_valueendmoduleHeaderMatchExact=structtypenonrect=stringletcontext_="HeaderMatchExact"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:200)>>=(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:"HeaderMatchExact"jletto_json=simple_to_jsonto_valueendmoduleHeaderMatchPrefix=structtypenonrect=stringletcontext_="HeaderMatchPrefix"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:200)>>=(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:"HeaderMatchPrefix"jletto_json=simple_to_jsonto_valueendmoduleTargetGroupIdentifier=structtypenonrect=stringletcontext_="TargetGroupIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:17)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((tg-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:targetgroup/tg-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TargetGroupIdentifier"jletto_json=simple_to_jsonto_valueendmoduleTargetGroupWeight=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:999)>>=(fun()->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 TargetGroupWeight"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleBoolean=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_valueendmoduleHeaderMatchName=structtypenonrect=stringletcontext_="HeaderMatchName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:100)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"HeaderMatchName"jletto_json=simple_to_jsonto_valueendmoduleHeaderMatchType=structtypenonrect={exact:HeaderMatchExact.toption[@ocaml.doc"An exact type match."];prefix:HeaderMatchPrefix.toption[@ocaml.doc"A prefix type match. Matches the value with the prefix."];contains:HeaderMatchContains.toption[@ocaml.doc"A contains type match."]}letmake?exact=fun?prefix->fun?contains->fun()->{exact;prefix;contains}letto_valuex=structure_to_value[("exact",(Option.mapx.exact~f:HeaderMatchExact.to_value));("prefix",(Option.mapx.prefix~f:HeaderMatchPrefix.to_value));("contains",(Option.mapx.contains~f:HeaderMatchContains.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontains=(Option.map~f:HeaderMatchContains.of_xml)(Xml.childxml_arg0"contains")inletprefix=(Option.map~f:HeaderMatchPrefix.of_xml)(Xml.childxml_arg0"prefix")inletexact=(Option.map~f:HeaderMatchExact.of_xml)(Xml.childxml_arg0"exact")inmake?contains?prefix?exact()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontains=field_mapjson__"contains"HeaderMatchContains.of_jsoninletprefix=field_mapjson__"prefix"HeaderMatchPrefix.of_jsoninletexact=field_mapjson__"exact"HeaderMatchExact.of_jsoninmake?contains?prefix?exact()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a header match type."]modulePathMatchExact=structtypenonrect=stringletcontext_="PathMatchExact"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->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:"PathMatchExact"jletto_json=simple_to_jsonto_valueendmodulePathMatchPrefix=structtypenonrect=stringletcontext_="PathMatchPrefix"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->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:"PathMatchPrefix"jletto_json=simple_to_jsonto_valueendmoduleWeightedTargetGroup=structtypenonrect={targetGroupIdentifier:TargetGroupIdentifier.t[@ocaml.doc"The ID or ARN of the target group."];weight:TargetGroupWeight.toption[@ocaml.doc"Only required if you specify multiple target groups for a forward action. The weight determines how requests are distributed to the target group. For example, if you specify two target groups, each with a weight of 10, each target group receives half the requests. If you specify two target groups, one with a weight of 10 and the other with a weight of 20, the target group with a weight of 20 receives twice as many requests as the other target group. If there's only one target group specified, then the default value is 100."]}letcontext_="WeightedTargetGroup"letmake?weight=fun~targetGroupIdentifier->fun()->{weight;targetGroupIdentifier}letto_valuex=structure_to_value[("targetGroupIdentifier",(Some(TargetGroupIdentifier.to_valuex.targetGroupIdentifier)));("weight",(Option.mapx.weight~f:TargetGroupWeight.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letweight=(Option.map~f:TargetGroupWeight.of_xml)(Xml.childxml_arg0"weight")inlettargetGroupIdentifier=TargetGroupIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"targetGroupIdentifier")inmake?weight~targetGroupIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letweight=field_mapjson__"weight"TargetGroupWeight.of_jsoninlettargetGroupIdentifier=field_map_exnjson__"targetGroupIdentifier"TargetGroupIdentifier.of_jsoninmake?weight~targetGroupIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the weight of a target group."]moduleHeaderMatch=structtypenonrect={name:HeaderMatchName.t[@ocaml.doc"The name of the header."];match_:HeaderMatchType.t[@ocaml.doc"The header match type."];caseSensitive:Boolean.toption[@ocaml.doc"Indicates whether the match is case sensitive."]}letcontext_="HeaderMatch"letmake?caseSensitive=fun~name->fun~match_->fun()->{caseSensitive;name;match_}letto_valuex=structure_to_value[("name",(Some(HeaderMatchName.to_valuex.name)));("match",(Some(HeaderMatchType.to_valuex.match_)));("caseSensitive",(Option.mapx.caseSensitive~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseSensitive=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"caseSensitive")inletmatch_=HeaderMatchType.of_xml(Xml.child_exn~context:context_xml_arg0"match")inletname=HeaderMatchName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?caseSensitive~match_~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseSensitive=field_mapjson__"caseSensitive"Boolean.of_jsoninletmatch_=field_map_exnjson__"match"HeaderMatchType.of_jsoninletname=field_map_exnjson__"name"HeaderMatchName.of_jsoninmake?caseSensitive~match_~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the constraints for a header match. Matches incoming requests with rule based on request header value before applying rule action."]modulePathMatchType=structtypenonrect={exact:PathMatchExact.toption[@ocaml.doc"An exact match of the path."];prefix:PathMatchPrefix.toption[@ocaml.doc"A prefix match of the path."]}letmake?exact=fun?prefix->fun()->{exact;prefix}letto_valuex=structure_to_value[("exact",(Option.mapx.exact~f:PathMatchExact.to_value));("prefix",(Option.mapx.prefix~f:PathMatchPrefix.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprefix=(Option.map~f:PathMatchPrefix.of_xml)(Xml.childxml_arg0"prefix")inletexact=(Option.map~f:PathMatchExact.of_xml)(Xml.childxml_arg0"exact")inmake?prefix?exact()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprefix=field_mapjson__"prefix"PathMatchPrefix.of_jsoninletexact=field_mapjson__"exact"PathMatchExact.of_jsoninmake?prefix?exact()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a path match type. Each rule can include only one of the following types of paths."]modulePrivateDnsSpecifiedDomain=structtypenonrect=stringletcontext_="PrivateDnsSpecifiedDomain"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(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:"PrivateDnsSpecifiedDomain"jletto_json=simple_to_jsonto_valueendmoduleHttpStatusCode=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:599)>>=(fun()->check_int_mini~min: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 HttpStatusCode"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleWeightedTargetGroupList=structtypenonrect=WeightedTargetGroup.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:WeightedTargetGroup.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:WeightedTargetGroup.of_xml)letof_jsonj=list_of_json~kind:"WeightedTargetGroupList"~of_json:WeightedTargetGroup.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleHeaderMatchList=structtypenonrect=HeaderMatch.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:HeaderMatch.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:HeaderMatch.of_xml)letof_jsonj=list_of_json~kind:"HeaderMatchList"~of_json:HeaderMatch.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleHttpMethod=structtypenonrect=stringletcontext_="HttpMethod"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:16)>>=(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:"HttpMethod"jletto_json=simple_to_jsonto_valueendmodulePathMatch=structtypenonrect={match_:PathMatchType.t[@ocaml.doc"The type of path match."];caseSensitive:Boolean.toption[@ocaml.doc"Indicates whether the match is case sensitive."]}letcontext_="PathMatch"letmake?caseSensitive=fun~match_->fun()->{caseSensitive;match_}letto_valuex=structure_to_value[("match",(Some(PathMatchType.to_valuex.match_)));("caseSensitive",(Option.mapx.caseSensitive~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseSensitive=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"caseSensitive")inletmatch_=PathMatchType.of_xml(Xml.child_exn~context:context_xml_arg0"match")inmake?caseSensitive~match_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseSensitive=field_mapjson__"caseSensitive"Boolean.of_jsoninletmatch_=field_map_exnjson__"match"PathMatchType.of_jsoninmake?caseSensitive~match_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the conditions that can be applied when matching a path for incoming requests."]moduleHttpCodeMatcher=structtypenonrect=stringletcontext_="HttpCodeMatcher"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:2000)>>=(fun()->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:"HttpCodeMatcher"jletto_json=simple_to_jsonto_valueendmoduleString_=structtypenonrect=stringletcontext_="String"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_valueendmoduleServiceArn=structtypenonrect=stringletcontext_="ServiceArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceArn"jletto_json=simple_to_jsonto_valueendmodulePrivateDnsPreference=structtypenonrect=|VERIFIED_DOMAINS_ONLY|ALL_DOMAINS|VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS|SPECIFIED_DOMAINS_ONLY|Non_static_idofstringletmakei=iletto_string=function|VERIFIED_DOMAINS_ONLY->"VERIFIED_DOMAINS_ONLY"|ALL_DOMAINS->"ALL_DOMAINS"|VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS->"VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS"|SPECIFIED_DOMAINS_ONLY->"SPECIFIED_DOMAINS_ONLY"|Non_static_ids->sletof_string=function|"VERIFIED_DOMAINS_ONLY"->VERIFIED_DOMAINS_ONLY|"ALL_DOMAINS"->ALL_DOMAINS|"VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS"->VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS|"SPECIFIED_DOMAINS_ONLY"->SPECIFIED_DOMAINS_ONLY|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 PrivateDnsPreference"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PrivateDnsPreference"j)letto_json=simple_to_jsonto_valueendmodulePrivateDnsSpecifiedDomainsList=structtypenonrect=PrivateDnsSpecifiedDomain.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PrivateDnsSpecifiedDomain.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:PrivateDnsSpecifiedDomain.of_xml)letof_jsonj=list_of_json~kind:"PrivateDnsSpecifiedDomainsList"~of_json:PrivateDnsSpecifiedDomain.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSecurityGroupId=structtypenonrect=stringletcontext_="SecurityGroupId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:5)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"sg-(([0-9a-z]{8})|([0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SecurityGroupId"jletto_json=simple_to_jsonto_valueendmoduleSubnetId=structtypenonrect=stringletcontext_="SubnetId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:200)>>=(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:"SubnetId"jletto_json=simple_to_jsonto_valueendmoduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagValue"jletto_json=simple_to_jsonto_valueendmoduleFixedResponseAction=structtypenonrect={statusCode:HttpStatusCode.t[@ocaml.doc"The HTTP response code. Only 404 and 500 status codes are supported."]}letcontext_="FixedResponseAction"letmake~statusCode=fun()->{statusCode}letto_valuex=structure_to_value[("statusCode",(Some(HttpStatusCode.to_valuex.statusCode)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatusCode=HttpStatusCode.of_xml(Xml.child_exn~context:context_xml_arg0"statusCode")inmake~statusCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatusCode=field_map_exnjson__"statusCode"HttpStatusCode.of_jsoninmake~statusCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes an action that returns a custom HTTP response."]moduleForwardAction=structtypenonrect={targetGroups:WeightedTargetGroupList.t[@ocaml.doc"The target groups. Traffic matching the rule is forwarded to the specified target groups. With forward actions, you can assign a weight that controls the prioritization and selection of each target group. This means that requests are distributed to individual target groups based on their weights. For example, if two target groups have the same weight, each target group receives half of the traffic. The default value is 1. This means that if only one target group is provided, there is no need to set the weight; 100% of the traffic goes to that target group."]}letcontext_="ForwardAction"letmake~targetGroups=fun()->{targetGroups}letto_valuex=structure_to_value[("targetGroups",(Some(WeightedTargetGroupList.to_valuex.targetGroups)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargetGroups=WeightedTargetGroupList.of_xml(Xml.child_exn~context:context_xml_arg0"targetGroups")inmake~targetGroups()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargetGroups=field_map_exnjson__"targetGroups"WeightedTargetGroupList.of_jsoninmake~targetGroups()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a forward action. You can use forward actions to route requests to one or more target groups."]moduleHttpMatch=structtypenonrect={method_:HttpMethod.toption[@ocaml.doc"The HTTP method type."];pathMatch:PathMatch.toption[@ocaml.doc"The path match."];headerMatches:HeaderMatchList.toption[@ocaml.doc"The header matches. Matches incoming requests with rule based on request header value before applying rule action."]}letmake?method_=fun?pathMatch->fun?headerMatches->fun()->{method_;pathMatch;headerMatches}letto_valuex=structure_to_value[("method",(Option.mapx.method_~f:HttpMethod.to_value));("pathMatch",(Option.mapx.pathMatch~f:PathMatch.to_value));("headerMatches",(Option.mapx.headerMatches~f:HeaderMatchList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letheaderMatches=(Option.map~f:HeaderMatchList.of_xml)(Xml.childxml_arg0"headerMatches")inletpathMatch=(Option.map~f:PathMatch.of_xml)(Xml.childxml_arg0"pathMatch")inletmethod_=(Option.map~f:HttpMethod.of_xml)(Xml.childxml_arg0"method")inmake?headerMatches?pathMatch?method_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letheaderMatches=field_mapjson__"headerMatches"HeaderMatchList.of_jsoninletpathMatch=field_mapjson__"pathMatch"PathMatch.of_jsoninletmethod_=field_mapjson__"method"HttpMethod.of_jsoninmake?headerMatches?pathMatch?method_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes criteria that can be applied to incoming requests."]moduleHealthCheckIntervalSeconds=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:300)>>=(fun()->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 HealthCheckIntervalSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleHealthCheckPath=structtypenonrect=stringletcontext_="HealthCheckPath"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->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:"HealthCheckPath"jletto_json=simple_to_jsonto_valueendmoduleHealthCheckPort=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:65535)>>=(fun()->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 HealthCheckPort"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleHealthCheckProtocolVersion=structtypenonrect=|HTTP1|HTTP2|Non_static_idofstringletmakei=iletto_string=function|HTTP1->"HTTP1"|HTTP2->"HTTP2"|Non_static_ids->sletof_string=function|"HTTP1"->HTTP1|"HTTP2"->HTTP2|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 HealthCheckProtocolVersion"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"HealthCheckProtocolVersion"j)letto_json=simple_to_jsonto_valueendmoduleHealthCheckTimeoutSeconds=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:120)>>=(fun()->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 HealthCheckTimeoutSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleHealthyThresholdCount=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->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 HealthyThresholdCount"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleMatcher=structtypenonrect={httpCode:HttpCodeMatcher.toption[@ocaml.doc"The HTTP code to use when checking for a successful response from a target."]}letmake?httpCode=fun()->{httpCode}letto_valuex=structure_to_value[("httpCode",(Option.mapx.httpCode~f:HttpCodeMatcher.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethttpCode=(Option.map~f:HttpCodeMatcher.of_xml)(Xml.childxml_arg0"httpCode")inmake?httpCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethttpCode=field_mapjson__"httpCode"HttpCodeMatcher.of_jsoninmake?httpCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the codes to use when checking for a successful response from a target for health checks."]moduleTargetGroupProtocol=structtypenonrect=|HTTP|HTTPS|TCP|Non_static_idofstringletmakei=iletto_string=function|HTTP->"HTTP"|HTTPS->"HTTPS"|TCP->"TCP"|Non_static_ids->sletof_string=function|"HTTP"->HTTP|"HTTPS"->HTTPS|"TCP"->TCP|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 TargetGroupProtocol"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TargetGroupProtocol"j)letto_json=simple_to_jsonto_valueendmoduleUnhealthyThresholdCount=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:10)>>=(fun()->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 UnhealthyThresholdCount"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleValidationExceptionField=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the validation exception."];message:String_.toption[@ocaml.doc"Additional information about why the validation failed."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?message?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a validation failure."]moduleWildcardArn=structtypenonrect=stringletcontext_="WildcardArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9][-.a-z0-9]{0,62}:[a-z0-9][-.a-z0-9]{0,62}:([a-z0-9][-.a-z0-9]{0,62})?:\\d{12}?:[^/].{0,1023}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"WildcardArn"jletto_json=simple_to_jsonto_valueendmoduleDomainName=structtypenonrect=stringletcontext_="DomainName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(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:"DomainName"jletto_json=simple_to_jsonto_valueendmoduleResourceConfigurationIpAddressType=structtypenonrect=|IPV4|IPV6|DUALSTACK|Non_static_idofstringletmakei=iletto_string=function|IPV4->"IPV4"|IPV6->"IPV6"|DUALSTACK->"DUALSTACK"|Non_static_ids->sletof_string=function|"IPV4"->IPV4|"IPV6"->IPV6|"DUALSTACK"->DUALSTACK|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 ResourceConfigurationIpAddressType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceConfigurationIpAddressType"j)letto_json=simple_to_jsonto_valueendmoduleIpAddress=structtypenonrect=stringletcontext_="IpAddress"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:39)>>=(fun()->check_string_mini~min:4));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IpAddress"jletto_json=simple_to_jsonto_valueendmodulePort=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:65535)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Port"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleTargetIdString=structtypenonrect=stringletcontext_="TargetIdString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:200)>>=(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:"TargetIdString"jletto_json=simple_to_jsonto_valueendmoduleTargetStatus=structtypenonrect=|DRAINING|UNAVAILABLE|HEALTHY|UNHEALTHY|INITIAL|UNUSED|Non_static_idofstringletmakei=iletto_string=function|DRAINING->"DRAINING"|UNAVAILABLE->"UNAVAILABLE"|HEALTHY->"HEALTHY"|UNHEALTHY->"UNHEALTHY"|INITIAL->"INITIAL"|UNUSED->"UNUSED"|Non_static_ids->sletof_string=function|"DRAINING"->DRAINING|"UNAVAILABLE"->UNAVAILABLE|"HEALTHY"->HEALTHY|"UNHEALTHY"->UNHEALTHY|"INITIAL"->INITIAL|"UNUSED"->UNUSED|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 TargetStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TargetStatus"j)letto_json=simple_to_jsonto_valueendmoduleIpAddressType=structtypenonrect=|IPV4|IPV6|Non_static_idofstringletmakei=iletto_string=function|IPV4->"IPV4"|IPV6->"IPV6"|Non_static_ids->sletof_string=function|"IPV4"->IPV4|"IPV6"->IPV6|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 IpAddressType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"IpAddressType"j)letto_json=simple_to_jsonto_valueendmoduleLambdaEventStructureVersion=structtypenonrect=|V1|V2|Non_static_idofstringletmakei=iletto_string=function|V1->"V1"|V2->"V2"|Non_static_ids->sletof_string=function|"V1"->V1|"V2"->V2|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 LambdaEventStructureVersion"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"LambdaEventStructureVersion"j)letto_json=simple_to_jsonto_valueendmoduleServiceArnList=structtypenonrect=ServiceArn.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ServiceArn.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:ServiceArn.of_xml)letof_jsonj=list_of_json~kind:"ServiceArnList"~of_json:ServiceArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTargetGroupArn=structtypenonrect=stringletcontext_="TargetGroupArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:targetgroup/tg-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TargetGroupArn"jletto_json=simple_to_jsonto_valueendmoduleTargetGroupId=structtypenonrect=stringletcontext_="TargetGroupId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:20)>>=(fun()->check_patterni~pattern:"tg-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TargetGroupId"jletto_json=simple_to_jsonto_valueendmoduleTargetGroupName=structtypenonrect=stringletcontext_="TargetGroupName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"(?!tg-)(?![-])(?!.*[-]$)(?!.*[-]{2})[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:"TargetGroupName"jletto_json=simple_to_jsonto_valueendmoduleTargetGroupStatus=structtypenonrect=|CREATE_IN_PROGRESS|ACTIVE|DELETE_IN_PROGRESS|CREATE_FAILED|DELETE_FAILED|Non_static_idofstringletmakei=iletto_string=function|CREATE_IN_PROGRESS->"CREATE_IN_PROGRESS"|ACTIVE->"ACTIVE"|DELETE_IN_PROGRESS->"DELETE_IN_PROGRESS"|CREATE_FAILED->"CREATE_FAILED"|DELETE_FAILED->"DELETE_FAILED"|Non_static_ids->sletof_string=function|"CREATE_IN_PROGRESS"->CREATE_IN_PROGRESS|"ACTIVE"->ACTIVE|"DELETE_IN_PROGRESS"->DELETE_IN_PROGRESS|"CREATE_FAILED"->CREATE_FAILED|"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 TargetGroupStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TargetGroupStatus"j)letto_json=simple_to_jsonto_valueendmoduleTargetGroupType=structtypenonrect=|IP|LAMBDA|INSTANCE|ALB|Non_static_idofstringletmakei=iletto_string=function|IP->"IP"|LAMBDA->"LAMBDA"|INSTANCE->"INSTANCE"|ALB->"ALB"|Non_static_ids->sletof_string=function|"IP"->IP|"LAMBDA"->LAMBDA|"INSTANCE"->INSTANCE|"ALB"->ALB|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 TargetGroupType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TargetGroupType"j)letto_json=simple_to_jsonto_valueendmoduleTimestamp=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_valueendmoduleVpcId=structtypenonrect=stringletcontext_="VpcId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:5)>>=(fun()->(check_string_maxi~max:50)>>=(fun()->check_patterni~pattern:"vpc-(([0-9a-z]{8})|([0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VpcId"jletto_json=simple_to_jsonto_valueendmoduleDnsEntry=structtypenonrect={domainName:String_.toption[@ocaml.doc"The domain name of the service."];hostedZoneId:String_.toption[@ocaml.doc"The ID of the hosted zone."]}letmake?domainName=fun?hostedZoneId->fun()->{domainName;hostedZoneId}letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:String_.to_value));("hostedZoneId",(Option.mapx.hostedZoneId~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethostedZoneId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"hostedZoneId")inletdomainName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"domainName")inmake?hostedZoneId?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethostedZoneId=field_mapjson__"hostedZoneId"String_.of_jsoninletdomainName=field_mapjson__"domainName"String_.of_jsoninmake?hostedZoneId?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the DNS information of a service."]moduleServiceCustomDomainName=structtypenonrect=stringletcontext_="ServiceCustomDomainName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(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:"ServiceCustomDomainName"jletto_json=simple_to_jsonto_valueendmoduleServiceId=structtypenonrect=stringletcontext_="ServiceId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:21)>>=(fun()->(check_string_maxi~max:21)>>=(fun()->check_patterni~pattern:"svc-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceId"jletto_json=simple_to_jsonto_valueendmoduleServiceName=structtypenonrect=stringletcontext_="ServiceName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:40)>>=(fun()->check_patterni~pattern:"(?!svc-)(?![-])(?!.*[-]$)(?!.*[-]{2})[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:"ServiceName"jletto_json=simple_to_jsonto_valueendmoduleServiceStatus=structtypenonrect=|ACTIVE|CREATE_IN_PROGRESS|DELETE_IN_PROGRESS|CREATE_FAILED|DELETE_FAILED|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|CREATE_IN_PROGRESS->"CREATE_IN_PROGRESS"|DELETE_IN_PROGRESS->"DELETE_IN_PROGRESS"|CREATE_FAILED->"CREATE_FAILED"|DELETE_FAILED->"DELETE_FAILED"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"CREATE_IN_PROGRESS"->CREATE_IN_PROGRESS|"DELETE_IN_PROGRESS"->DELETE_IN_PROGRESS|"CREATE_FAILED"->CREATE_FAILED|"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 ServiceStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ServiceStatus"j)letto_json=simple_to_jsonto_valueendmoduleLong=structtypenonrect=Int64.tletmakei=iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmoduleServiceNetworkArn=structtypenonrect=stringletcontext_="ServiceNetworkArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:32)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetwork/sn-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkArn"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkId=structtypenonrect=stringletcontext_="ServiceNetworkId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:20)>>=(fun()->check_patterni~pattern:"sn-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkId"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkName=structtypenonrect=stringletcontext_="ServiceNetworkName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:63)>>=(fun()->check_patterni~pattern:"(?![-])(?!.*[-]$)(?!.*[-]{2})[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:"ServiceNetworkName"jletto_json=simple_to_jsonto_valueendmoduleAccountId=structtypenonrect=stringletcontext_="AccountId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:12)>>=(fun()->check_patterni~pattern:"[0-9]{12}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountId"jletto_json=simple_to_jsonto_valueendmoduleDnsOptions=structtypenonrect={privateDnsPreference:PrivateDnsPreference.toption[@ocaml.doc"The preference for which private domains have a private hosted zone created for and associated with the specified VPC. Only supported when private DNS is enabled and when the VPC endpoint type is ServiceNetwork or Resource. ALL_DOMAINS - VPC Lattice provisions private hosted zones for all custom domain names. VERIFIED_DOMAINS_ONLY - VPC Lattice provisions a private hosted zone only if custom domain name has been verified by the provider. VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS - VPC Lattice provisions private hosted zones for all verified custom domain names and other domain names that the resource consumer specifies. The resource consumer specifies the domain names in the privateDnsSpecifiedDomains parameter. SPECIFIED_DOMAINS_ONLY - VPC Lattice provisions a private hosted zone for domain names specified by the resource consumer. The resource consumer specifies the domain names in the privateDnsSpecifiedDomains parameter."];privateDnsSpecifiedDomains:PrivateDnsSpecifiedDomainsList.toption[@ocaml.doc"Indicates which of the private domains to create private hosted zones for and associate with the specified VPC. Only supported when private DNS is enabled and the private DNS preference is VERIFIED_DOMAINS_AND_SPECIFIED_DOMAINS or SPECIFIED_DOMAINS_ONLY."]}letmake?privateDnsPreference=fun?privateDnsSpecifiedDomains->fun()->{privateDnsPreference;privateDnsSpecifiedDomains}letto_valuex=structure_to_value[("privateDnsPreference",(Option.mapx.privateDnsPreference~f:PrivateDnsPreference.to_value));("privateDnsSpecifiedDomains",(Option.mapx.privateDnsSpecifiedDomains~f:PrivateDnsSpecifiedDomainsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprivateDnsSpecifiedDomains=(Option.map~f:PrivateDnsSpecifiedDomainsList.of_xml)(Xml.childxml_arg0"privateDnsSpecifiedDomains")inletprivateDnsPreference=(Option.map~f:PrivateDnsPreference.of_xml)(Xml.childxml_arg0"privateDnsPreference")inmake?privateDnsSpecifiedDomains?privateDnsPreference()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprivateDnsSpecifiedDomains=field_mapjson__"privateDnsSpecifiedDomains"PrivateDnsSpecifiedDomainsList.of_jsoninletprivateDnsPreference=field_mapjson__"privateDnsPreference"PrivateDnsPreference.of_jsoninmake?privateDnsSpecifiedDomains?privateDnsPreference()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The DNS configuration options."]moduleServiceNetworkVpcAssociationArn=structtypenonrect=stringletcontext_="ServiceNetworkVpcAssociationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkvpcassociation/snva-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkVpcAssociationArn"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkVpcAssociationId=structtypenonrect=stringletcontext_="ServiceNetworkVpcAssociationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:22)>>=(fun()->(check_string_maxi~max:22)>>=(fun()->check_patterni~pattern:"snva-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkVpcAssociationId"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkVpcAssociationStatus=structtypenonrect=|CREATE_IN_PROGRESS|ACTIVE|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|CREATE_FAILED|DELETE_FAILED|UPDATE_FAILED|Non_static_idofstringletmakei=iletto_string=function|CREATE_IN_PROGRESS->"CREATE_IN_PROGRESS"|ACTIVE->"ACTIVE"|UPDATE_IN_PROGRESS->"UPDATE_IN_PROGRESS"|DELETE_IN_PROGRESS->"DELETE_IN_PROGRESS"|CREATE_FAILED->"CREATE_FAILED"|DELETE_FAILED->"DELETE_FAILED"|UPDATE_FAILED->"UPDATE_FAILED"|Non_static_ids->sletof_string=function|"CREATE_IN_PROGRESS"->CREATE_IN_PROGRESS|"ACTIVE"->ACTIVE|"UPDATE_IN_PROGRESS"->UPDATE_IN_PROGRESS|"DELETE_IN_PROGRESS"->DELETE_IN_PROGRESS|"CREATE_FAILED"->CREATE_FAILED|"DELETE_FAILED"->DELETE_FAILED|"UPDATE_FAILED"->UPDATE_FAILED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ServiceNetworkVpcAssociationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ServiceNetworkVpcAssociationStatus"j)letto_json=simple_to_jsonto_valueendmoduleServiceNetworkServiceAssociationArn=structtypenonrect=stringletcontext_="ServiceNetworkServiceAssociationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkserviceassociation/snsa-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkServiceAssociationArn"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkServiceAssociationIdentifier=structtypenonrect=stringletcontext_="ServiceNetworkServiceAssociationIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:17)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((snsa-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkserviceassociation/snsa-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkServiceAssociationIdentifier"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkServiceAssociationStatus=structtypenonrect=|CREATE_IN_PROGRESS|ACTIVE|DELETE_IN_PROGRESS|CREATE_FAILED|DELETE_FAILED|Non_static_idofstringletmakei=iletto_string=function|CREATE_IN_PROGRESS->"CREATE_IN_PROGRESS"|ACTIVE->"ACTIVE"|DELETE_IN_PROGRESS->"DELETE_IN_PROGRESS"|CREATE_FAILED->"CREATE_FAILED"|DELETE_FAILED->"DELETE_FAILED"|Non_static_ids->sletof_string=function|"CREATE_IN_PROGRESS"->CREATE_IN_PROGRESS|"ACTIVE"->ACTIVE|"DELETE_IN_PROGRESS"->DELETE_IN_PROGRESS|"CREATE_FAILED"->CREATE_FAILED|"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 ServiceNetworkServiceAssociationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ServiceNetworkServiceAssociationStatus"j)letto_json=simple_to_jsonto_valueendmoduleResourceConfigurationArn=structtypenonrect=stringletcontext_="ResourceConfigurationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9f\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceConfigurationArn"jletto_json=simple_to_jsonto_valueendmoduleResourceConfigurationId=structtypenonrect=stringletcontext_="ResourceConfigurationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:22)>>=(fun()->(check_string_maxi~max:22)>>=(fun()->check_patterni~pattern:"rcfg-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceConfigurationId"jletto_json=simple_to_jsonto_valueendmoduleResourceConfigurationName=structtypenonrect=stringletcontext_="ResourceConfigurationName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:40)>>=(fun()->check_patterni~pattern:"(?!rcfg-)(?![-])(?!.*[-]$)(?!.*[-]{2})[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:"ResourceConfigurationName"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkArnWithoutRegex=structtypenonrect=stringletcontext_="ServiceNetworkArnWithoutRegex"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(fun()->check_string_mini~min:10));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkArnWithoutRegex"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkIdentifierWithoutRegex=structtypenonrect=stringletcontext_="ServiceNetworkIdentifierWithoutRegex"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(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:"ServiceNetworkIdentifierWithoutRegex"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkNameWithoutRegex=structtypenonrect=stringletcontext_="ServiceNetworkNameWithoutRegex"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:100)>>=(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:"ServiceNetworkNameWithoutRegex"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkResourceAssociationArn=structtypenonrect=stringletcontext_="ServiceNetworkResourceAssociationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:22)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkresourceassociation/snra-[0-9a-f]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkResourceAssociationArn"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkResourceAssociationId=structtypenonrect=stringletcontext_="ServiceNetworkResourceAssociationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:22)>>=(fun()->(check_string_maxi~max:22)>>=(fun()->check_patterni~pattern:"snra-[0-9a-f]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkResourceAssociationId"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkResourceAssociationStatus=structtypenonrect=|CREATE_IN_PROGRESS|ACTIVE|PARTIAL|DELETE_IN_PROGRESS|CREATE_FAILED|DELETE_FAILED|Non_static_idofstringletmakei=iletto_string=function|CREATE_IN_PROGRESS->"CREATE_IN_PROGRESS"|ACTIVE->"ACTIVE"|PARTIAL->"PARTIAL"|DELETE_IN_PROGRESS->"DELETE_IN_PROGRESS"|CREATE_FAILED->"CREATE_FAILED"|DELETE_FAILED->"DELETE_FAILED"|Non_static_ids->sletof_string=function|"CREATE_IN_PROGRESS"->CREATE_IN_PROGRESS|"ACTIVE"->ACTIVE|"PARTIAL"->PARTIAL|"DELETE_IN_PROGRESS"->DELETE_IN_PROGRESS|"CREATE_FAILED"->CREATE_FAILED|"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 ServiceNetworkResourceAssociationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ServiceNetworkResourceAssociationStatus"j)letto_json=simple_to_jsonto_valueendmoduleRuleArn=structtypenonrect=stringletcontext_="RuleArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}/rule/rule-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RuleArn"jletto_json=simple_to_jsonto_valueendmoduleRuleId=structtypenonrect=stringletcontext_="RuleId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:5)>>=(fun()->(check_string_maxi~max:22)>>=(fun()->check_patterni~pattern:"rule-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RuleId"jletto_json=simple_to_jsonto_valueendmoduleRuleName=structtypenonrect=stringletcontext_="RuleName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:63)>>=(fun()->check_patterni~pattern:"(?!rule-)(?![-])(?!.*[-]$)(?!.*[-]{2})[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:"RuleName"jletto_json=simple_to_jsonto_valueendmoduleRulePriority=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:2000)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for RulePriority"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleIpv4AddressesPerEni=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:62)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Ipv4AddressesPerEni"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleResourceConfigDnsResolution=structtypenonrect=|IN_VPC|PUBLIC|Non_static_idofstringletmakei=iletto_string=function|IN_VPC->"IN_VPC"|PUBLIC->"PUBLIC"|Non_static_ids->sletof_string=function|"IN_VPC"->IN_VPC|"PUBLIC"->PUBLIC|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 ResourceConfigDnsResolution"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceConfigDnsResolution"j)letto_json=simple_to_jsonto_valueendmoduleResourceGatewayArn=structtypenonrect=stringletcontext_="ResourceGatewayArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourcegateway/rgw-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceGatewayArn"jletto_json=simple_to_jsonto_valueendmoduleResourceGatewayId=structtypenonrect=stringletcontext_="ResourceGatewayId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:21)>>=(fun()->(check_string_maxi~max:21)>>=(fun()->check_patterni~pattern:"rgw-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceGatewayId"jletto_json=simple_to_jsonto_valueendmoduleResourceGatewayIpAddressType=structtypenonrect=|IPV4|IPV6|DUALSTACK|Non_static_idofstringletmakei=iletto_string=function|IPV4->"IPV4"|IPV6->"IPV6"|DUALSTACK->"DUALSTACK"|Non_static_ids->sletof_string=function|"IPV4"->IPV4|"IPV6"->IPV6|"DUALSTACK"->DUALSTACK|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 ResourceGatewayIpAddressType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceGatewayIpAddressType"j)letto_json=simple_to_jsonto_valueendmoduleResourceGatewayName=structtypenonrect=stringletcontext_="ResourceGatewayName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:40)>>=(fun()->check_patterni~pattern:"(?!rgw-)(?![-])(?!.*[-]$)(?!.*[-]{2})[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:"ResourceGatewayName"jletto_json=simple_to_jsonto_valueendmoduleResourceGatewayStatus=structtypenonrect=|ACTIVE|CREATE_IN_PROGRESS|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|CREATE_FAILED|UPDATE_FAILED|DELETE_FAILED|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|CREATE_IN_PROGRESS->"CREATE_IN_PROGRESS"|UPDATE_IN_PROGRESS->"UPDATE_IN_PROGRESS"|DELETE_IN_PROGRESS->"DELETE_IN_PROGRESS"|CREATE_FAILED->"CREATE_FAILED"|UPDATE_FAILED->"UPDATE_FAILED"|DELETE_FAILED->"DELETE_FAILED"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"CREATE_IN_PROGRESS"->CREATE_IN_PROGRESS|"UPDATE_IN_PROGRESS"->UPDATE_IN_PROGRESS|"DELETE_IN_PROGRESS"->DELETE_IN_PROGRESS|"CREATE_FAILED"->CREATE_FAILED|"UPDATE_FAILED"->UPDATE_FAILED|"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 ResourceGatewayStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceGatewayStatus"j)letto_json=simple_to_jsonto_valueendmoduleSecurityGroupList=structtypenonrect=SecurityGroupId.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityGroupId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityGroupId.of_xml)letof_jsonj=list_of_json~kind:"SecurityGroupList"~of_json:SecurityGroupId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSubnetList=structtypenonrect=SubnetId.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SubnetId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SubnetId.of_xml)letof_jsonj=list_of_json~kind:"SubnetList"~of_json:SubnetId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleResourceEndpointAssociationArn=structtypenonrect=stringletcontext_="ResourceEndpointAssociationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:21)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceendpointassociation/rea-[0-9a-f]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceEndpointAssociationArn"jletto_json=simple_to_jsonto_valueendmoduleResourceEndpointAssociationId=structtypenonrect=stringletcontext_="ResourceEndpointAssociationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:21)>>=(fun()->(check_string_maxi~max:21)>>=(fun()->check_patterni~pattern:"rea-[0-9a-f]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceEndpointAssociationId"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointId=structtypenonrect=stringletcontext_="VpcEndpointId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:22)>>=(fun()->(check_string_maxi~max:22)>>=(fun()->check_patterni~pattern:"vpce-[0-9a-f]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"VpcEndpointId"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointOwner=structtypenonrect=stringletcontext_="VpcEndpointOwner"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:12)>>=(fun()->check_patterni~pattern:"\\d{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:"VpcEndpointOwner"jletto_json=simple_to_jsonto_valueendmoduleDomainVerificationId=structtypenonrect=stringletcontext_="DomainVerificationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:20)>>=(fun()->check_patterni~pattern:"dv-[a-fA-F0-9]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DomainVerificationId"jletto_json=simple_to_jsonto_valueendmoduleResourceConfigurationStatus=structtypenonrect=|ACTIVE|CREATE_IN_PROGRESS|UPDATE_IN_PROGRESS|DELETE_IN_PROGRESS|CREATE_FAILED|UPDATE_FAILED|DELETE_FAILED|Non_static_idofstringletmakei=iletto_string=function|ACTIVE->"ACTIVE"|CREATE_IN_PROGRESS->"CREATE_IN_PROGRESS"|UPDATE_IN_PROGRESS->"UPDATE_IN_PROGRESS"|DELETE_IN_PROGRESS->"DELETE_IN_PROGRESS"|CREATE_FAILED->"CREATE_FAILED"|UPDATE_FAILED->"UPDATE_FAILED"|DELETE_FAILED->"DELETE_FAILED"|Non_static_ids->sletof_string=function|"ACTIVE"->ACTIVE|"CREATE_IN_PROGRESS"->CREATE_IN_PROGRESS|"UPDATE_IN_PROGRESS"->UPDATE_IN_PROGRESS|"DELETE_IN_PROGRESS"->DELETE_IN_PROGRESS|"CREATE_FAILED"->CREATE_FAILED|"UPDATE_FAILED"->UPDATE_FAILED|"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 ResourceConfigurationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceConfigurationStatus"j)letto_json=simple_to_jsonto_valueendmoduleResourceConfigurationType=structtypenonrect=|GROUP|CHILD|SINGLE|ARN|Non_static_idofstringletmakei=iletto_string=function|GROUP->"GROUP"|CHILD->"CHILD"|SINGLE->"SINGLE"|ARN->"ARN"|Non_static_ids->sletof_string=function|"GROUP"->GROUP|"CHILD"->CHILD|"SINGLE"->SINGLE|"ARN"->ARN|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 ResourceConfigurationType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceConfigurationType"j)letto_json=simple_to_jsonto_valueendmoduleListenerArn=structtypenonrect=stringletcontext_="ListenerArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ListenerArn"jletto_json=simple_to_jsonto_valueendmoduleListenerId=structtypenonrect=stringletcontext_="ListenerId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:26)>>=(fun()->(check_string_maxi~max:26)>>=(fun()->check_patterni~pattern:"listener-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ListenerId"jletto_json=simple_to_jsonto_valueendmoduleListenerName=structtypenonrect=stringletcontext_="ListenerName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:63)>>=(fun()->check_patterni~pattern:"(?!listener-)(?![-])(?!.*[-]$)(?!.*[-]{2})[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:"ListenerName"jletto_json=simple_to_jsonto_valueendmoduleListenerProtocol=structtypenonrect=|HTTP|HTTPS|TLS_PASSTHROUGH|Non_static_idofstringletmakei=iletto_string=function|HTTP->"HTTP"|HTTPS->"HTTPS"|TLS_PASSTHROUGH->"TLS_PASSTHROUGH"|Non_static_ids->sletof_string=function|"HTTP"->HTTP|"HTTPS"->HTTPS|"TLS_PASSTHROUGH"->TLS_PASSTHROUGH|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 ListenerProtocol"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ListenerProtocol"j)letto_json=simple_to_jsonto_valueendmoduleDomainVerificationArn=structtypenonrect=stringletcontext_="DomainVerificationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9f\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:domainverification/dv-[a-fA-F0-9]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DomainVerificationArn"jletto_json=simple_to_jsonto_valueendmoduleTagMap=structtypenonrect=(TagKey.t*TagValue.t)listletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:0));iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((TagKey.of_stringchopped),(TagValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(TagKey.to_valuex)|>(funx->(TagValue.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:TagKey.of_string~of_json:TagValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTxtMethodConfig=structtypenonrect={value:String_.toption[@ocaml.doc"The value that must be added to the TXT record for domain verification."];name:String_.toption[@ocaml.doc"The name of the TXT record that must be created for domain verification."]}letmake?value=fun?name->fun()->{value;name}letto_valuex=structure_to_value[("value",(Option.mapx.value~f:String_.to_value));("name",(Option.mapx.name~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inletvalue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"value")inmake?name?value()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letname=field_mapjson__"name"String_.of_jsoninletvalue=field_mapjson__"value"String_.of_jsoninmake?name?value()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration for TXT record-based domain verification method."]moduleVerificationStatus=structtypenonrect=|VERIFIED|PENDING|VERIFICATION_TIMED_OUT|Non_static_idofstringletmakei=iletto_string=function|VERIFIED->"VERIFIED"|PENDING->"PENDING"|VERIFICATION_TIMED_OUT->"VERIFICATION_TIMED_OUT"|Non_static_ids->sletof_string=function|"VERIFIED"->VERIFIED|"PENDING"->PENDING|"VERIFICATION_TIMED_OUT"->VERIFICATION_TIMED_OUT|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 VerificationStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"VerificationStatus"j)letto_json=simple_to_jsonto_valueendmoduleAccessLogDestinationArn=structtypenonrect=stringletcontext_="AccessLogDestinationArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){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:"AccessLogDestinationArn"jletto_json=simple_to_jsonto_valueendmoduleAccessLogSubscriptionArn=structtypenonrect=stringletcontext_="AccessLogSubscriptionArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:accesslogsubscription/als-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccessLogSubscriptionArn"jletto_json=simple_to_jsonto_valueendmoduleAccessLogSubscriptionId=structtypenonrect=stringletcontext_="AccessLogSubscriptionId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:21)>>=(fun()->(check_string_maxi~max:21)>>=(fun()->check_patterni~pattern:"als-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccessLogSubscriptionId"jletto_json=simple_to_jsonto_valueendmoduleResourceArn=structtypenonrect=stringletcontext_="ResourceArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(service/svc)|(resourceconfiguration/rcfg))-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceArn"jletto_json=simple_to_jsonto_valueendmoduleResourceId=structtypenonrect=stringletcontext_="ResourceId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:50)>>=(fun()->check_patterni~pattern:"((sn)|(svc))-[0-9a-z]{17}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceId"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkLogType=structtypenonrect=|SERVICE|RESOURCE|Non_static_idofstringletmakei=iletto_string=function|SERVICE->"SERVICE"|RESOURCE->"RESOURCE"|Non_static_ids->sletof_string=function|"SERVICE"->SERVICE|"RESOURCE"->RESOURCE|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 ServiceNetworkLogType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ServiceNetworkLogType"j)letto_json=simple_to_jsonto_valueendmoduleFailureCode=structtypenonrect=stringletcontext_="FailureCode"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:"FailureCode"jletto_json=simple_to_jsonto_valueendmoduleFailureMessage=structtypenonrect=stringletcontext_="FailureMessage"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:"FailureMessage"jletto_json=simple_to_jsonto_valueendmoduleRuleIdentifier=structtypenonrect=stringletcontext_="RuleIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((rule-[0-9a-z]{17})|(^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}/rule/rule-[0-9a-z]{17}$))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RuleIdentifier"jletto_json=simple_to_jsonto_valueendmoduleRuleAction=structtypenonrect={forward:ForwardAction.toption[@ocaml.doc"The forward action. Traffic that matches the rule is forwarded to the specified target groups."];fixedResponse:FixedResponseAction.toption[@ocaml.doc"The fixed response action. The rule returns a custom HTTP response."]}letmake?forward=fun?fixedResponse->fun()->{forward;fixedResponse}letto_valuex=structure_to_value[("forward",(Option.mapx.forward~f:ForwardAction.to_value));("fixedResponse",(Option.mapx.fixedResponse~f:FixedResponseAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfixedResponse=(Option.map~f:FixedResponseAction.of_xml)(Xml.childxml_arg0"fixedResponse")inletforward=(Option.map~f:ForwardAction.of_xml)(Xml.childxml_arg0"forward")inmake?fixedResponse?forward()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfixedResponse=field_mapjson__"fixedResponse"FixedResponseAction.of_jsoninletforward=field_mapjson__"forward"ForwardAction.of_jsoninmake?fixedResponse?forward()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the action for a rule."]moduleRuleMatch=structtypenonrect={httpMatch:HttpMatch.toption[@ocaml.doc"The HTTP criteria that a rule must match."]}letmake?httpMatch=fun()->{httpMatch}letto_valuex=structure_to_value[("httpMatch",(Option.mapx.httpMatch~f:HttpMatch.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethttpMatch=(Option.map~f:HttpMatch.of_xml)(Xml.childxml_arg0"httpMatch")inmake?httpMatch()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethttpMatch=field_mapjson__"httpMatch"HttpMatch.of_jsoninmake?httpMatch()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a rule match."]moduleInteger=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_valueendmoduleHealthCheckConfig=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"Indicates whether health checking is enabled."];protocol:TargetGroupProtocol.toption[@ocaml.doc"The protocol used when performing health checks on targets. The possible protocols are HTTP and HTTPS. The default is HTTP."];protocolVersion:HealthCheckProtocolVersion.toption[@ocaml.doc"The protocol version used when performing health checks on targets. The possible protocol versions are HTTP1 and HTTP2."];port:HealthCheckPort.toption[@ocaml.doc"The port used when performing health checks on targets. The default setting is the port that a target receives traffic on."];path:HealthCheckPath.toption[@ocaml.doc"The destination for health checks on the targets. If the protocol version is HTTP/1.1 or HTTP/2, specify a valid URI (for example, /path?query). The default path is /. Health checks are not supported if the protocol version is gRPC, however, you can choose HTTP/1.1 or HTTP/2 and specify a valid URI."];healthCheckIntervalSeconds:HealthCheckIntervalSeconds.toption[@ocaml.doc"The approximate amount of time, in seconds, between health checks of an individual target. The range is 5\226\128\147300 seconds. The default is 30 seconds."];healthCheckTimeoutSeconds:HealthCheckTimeoutSeconds.toption[@ocaml.doc"The amount of time, in seconds, to wait before reporting a target as unhealthy. The range is 1\226\128\147120 seconds. The default is 5 seconds."];healthyThresholdCount:HealthyThresholdCount.toption[@ocaml.doc"The number of consecutive successful health checks required before considering an unhealthy target healthy. The range is 2\226\128\14710. The default is 5."];unhealthyThresholdCount:UnhealthyThresholdCount.toption[@ocaml.doc"The number of consecutive failed health checks required before considering a target unhealthy. The range is 2\226\128\14710. The default is 2."];matcher:Matcher.toption[@ocaml.doc"The codes to use when checking for a successful response from a target."]}letmake?enabled=fun?protocol->fun?protocolVersion->fun?port->fun?path->fun?healthCheckIntervalSeconds->fun?healthCheckTimeoutSeconds->fun?healthyThresholdCount->fun?unhealthyThresholdCount->fun?matcher->fun()->{enabled;protocol;protocolVersion;port;path;healthCheckIntervalSeconds;healthCheckTimeoutSeconds;healthyThresholdCount;unhealthyThresholdCount;matcher}letto_valuex=structure_to_value[("enabled",(Option.mapx.enabled~f:Boolean.to_value));("protocol",(Option.mapx.protocol~f:TargetGroupProtocol.to_value));("protocolVersion",(Option.mapx.protocolVersion~f:HealthCheckProtocolVersion.to_value));("port",(Option.mapx.port~f:HealthCheckPort.to_value));("path",(Option.mapx.path~f:HealthCheckPath.to_value));("healthCheckIntervalSeconds",(Option.mapx.healthCheckIntervalSeconds~f:HealthCheckIntervalSeconds.to_value));("healthCheckTimeoutSeconds",(Option.mapx.healthCheckTimeoutSeconds~f:HealthCheckTimeoutSeconds.to_value));("healthyThresholdCount",(Option.mapx.healthyThresholdCount~f:HealthyThresholdCount.to_value));("unhealthyThresholdCount",(Option.mapx.unhealthyThresholdCount~f:UnhealthyThresholdCount.to_value));("matcher",(Option.mapx.matcher~f:Matcher.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmatcher=(Option.map~f:Matcher.of_xml)(Xml.childxml_arg0"matcher")inletunhealthyThresholdCount=(Option.map~f:UnhealthyThresholdCount.of_xml)(Xml.childxml_arg0"unhealthyThresholdCount")inlethealthyThresholdCount=(Option.map~f:HealthyThresholdCount.of_xml)(Xml.childxml_arg0"healthyThresholdCount")inlethealthCheckTimeoutSeconds=(Option.map~f:HealthCheckTimeoutSeconds.of_xml)(Xml.childxml_arg0"healthCheckTimeoutSeconds")inlethealthCheckIntervalSeconds=(Option.map~f:HealthCheckIntervalSeconds.of_xml)(Xml.childxml_arg0"healthCheckIntervalSeconds")inletpath=(Option.map~f:HealthCheckPath.of_xml)(Xml.childxml_arg0"path")inletport=(Option.map~f:HealthCheckPort.of_xml)(Xml.childxml_arg0"port")inletprotocolVersion=(Option.map~f:HealthCheckProtocolVersion.of_xml)(Xml.childxml_arg0"protocolVersion")inletprotocol=(Option.map~f:TargetGroupProtocol.of_xml)(Xml.childxml_arg0"protocol")inletenabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"enabled")inmake?matcher?unhealthyThresholdCount?healthyThresholdCount?healthCheckTimeoutSeconds?healthCheckIntervalSeconds?path?port?protocolVersion?protocol?enabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmatcher=field_mapjson__"matcher"Matcher.of_jsoninletunhealthyThresholdCount=field_mapjson__"unhealthyThresholdCount"UnhealthyThresholdCount.of_jsoninlethealthyThresholdCount=field_mapjson__"healthyThresholdCount"HealthyThresholdCount.of_jsoninlethealthCheckTimeoutSeconds=field_mapjson__"healthCheckTimeoutSeconds"HealthCheckTimeoutSeconds.of_jsoninlethealthCheckIntervalSeconds=field_mapjson__"healthCheckIntervalSeconds"HealthCheckIntervalSeconds.of_jsoninletpath=field_mapjson__"path"HealthCheckPath.of_jsoninletport=field_mapjson__"port"HealthCheckPort.of_jsoninletprotocolVersion=field_mapjson__"protocolVersion"HealthCheckProtocolVersion.of_jsoninletprotocol=field_mapjson__"protocol"TargetGroupProtocol.of_jsoninletenabled=field_mapjson__"enabled"Boolean.of_jsoninmake?matcher?unhealthyThresholdCount?healthyThresholdCount?healthCheckTimeoutSeconds?healthCheckIntervalSeconds?path?port?protocolVersion?protocol?enabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the health check configuration of a target group. Health check configurations aren't used for target groups of type LAMBDA or ALB."]moduleTargetGroupProtocolVersion=structtypenonrect=|HTTP1|HTTP2|GRPC|Non_static_idofstringletmakei=iletto_string=function|HTTP1->"HTTP1"|HTTP2->"HTTP2"|GRPC->"GRPC"|Non_static_ids->sletof_string=function|"HTTP1"->HTTP1|"HTTP2"->HTTP2|"GRPC"->GRPC|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 TargetGroupProtocolVersion"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TargetGroupProtocolVersion"j)letto_json=simple_to_jsonto_valueendmoduleValidationExceptionFieldList=structtypenonrect=ValidationExceptionField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ValidationExceptionField.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:ValidationExceptionField.of_xml)letof_jsonj=list_of_json~kind:"ValidationExceptionFieldList"~of_json:ValidationExceptionField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleValidationExceptionReason=structtypenonrect=|UnknownOperation|CannotParse|FieldValidationFailed|Other|Non_static_idofstringletmakei=iletto_string=function|UnknownOperation->"unknownOperation"|CannotParse->"cannotParse"|FieldValidationFailed->"fieldValidationFailed"|Other->"other"|Non_static_ids->sletof_string=function|"unknownOperation"->UnknownOperation|"cannotParse"->CannotParse|"fieldValidationFailed"->FieldValidationFailed|"other"->Other|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 ValidationExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ValidationExceptionReason"j)letto_json=simple_to_jsonto_valueendmodulePortRange=structtypenonrect=stringletcontext_="PortRange"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:11)>>=(fun()->check_patterni~pattern:"((\\d{1,5}\\-\\d{1,5})|(\\d+))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PortRange"jletto_json=simple_to_jsonto_valueendmoduleArnResource=structtypenonrect={arn:WildcardArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."]}letmake?arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:WildcardArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:WildcardArn.of_xml)(Xml.childxml_arg0"arn")inmake?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"WildcardArn.of_jsoninmake?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Amazon Resource Name (ARN) of the resource."]moduleDnsResource=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The domain name of the resource."];ipAddressType:ResourceConfigurationIpAddressType.toption[@ocaml.doc"The type of IP address. Dualstack is currently not supported."]}letmake?domainName=fun?ipAddressType->fun()->{domainName;ipAddressType}letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:DomainName.to_value));("ipAddressType",(Option.mapx.ipAddressType~f:ResourceConfigurationIpAddressType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letipAddressType=(Option.map~f:ResourceConfigurationIpAddressType.of_xml)(Xml.childxml_arg0"ipAddressType")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inmake?ipAddressType?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letipAddressType=field_mapjson__"ipAddressType"ResourceConfigurationIpAddressType.of_jsoninletdomainName=field_mapjson__"domainName"DomainName.of_jsoninmake?ipAddressType?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The DNS name of the resource."]moduleIpResource=structtypenonrect={ipAddress:IpAddress.toption[@ocaml.doc"The IP address of the IP resource."]}letmake?ipAddress=fun()->{ipAddress}letto_valuex=structure_to_value[("ipAddress",(Option.mapx.ipAddress~f:IpAddress.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letipAddress=(Option.map~f:IpAddress.of_xml)(Xml.childxml_arg0"ipAddress")inmake?ipAddress()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letipAddress=field_mapjson__"ipAddress"IpAddress.of_jsoninmake?ipAddress()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes an IP resource."]moduleTargetFailure=structtypenonrect={id:String_.toption[@ocaml.doc"The ID of the target. If the target group type is INSTANCE, this is an instance ID. If the target group type is IP, this is an IP address. If the target group type is LAMBDA, this is the ARN of a Lambda function. If the target group type is ALB, this is the ARN of an Application Load Balancer."];port:Port.toption[@ocaml.doc"The port on which the target is listening. This parameter doesn't apply if the target is a Lambda function."];failureCode:String_.toption[@ocaml.doc"The failure code."];failureMessage:String_.toption[@ocaml.doc"The failure message."]}letmake?id=fun?port->fun?failureCode->fun?failureMessage->fun()->{id;port;failureCode;failureMessage}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:String_.to_value));("port",(Option.mapx.port~f:Port.to_value));("failureCode",(Option.mapx.failureCode~f:String_.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletfailureCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureCode")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletid=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"id")inmake?failureMessage?failureCode?port?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletfailureCode=field_mapjson__"failureCode"String_.of_jsoninletport=field_mapjson__"port"Port.of_jsoninletid=field_mapjson__"id"String_.of_jsoninmake?failureMessage?failureCode?port?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a target failure."]moduleTarget=structtypenonrect={id:TargetIdString.t[@ocaml.doc"The ID of the target. If the target group type is INSTANCE, this is an instance ID. If the target group type is IP, this is an IP address. If the target group type is LAMBDA, this is the ARN of a Lambda function. If the target group type is ALB, this is the ARN of an Application Load Balancer."];port:Port.toption[@ocaml.doc"The port on which the target is listening. For HTTP, the default is 80. For HTTPS, the default is 443."]}letcontext_="Target"letmake?port=fun~id->fun()->{port;id}letto_valuex=structure_to_value[("id",(Some(TargetIdString.to_valuex.id)));("port",(Option.mapx.port~f:Port.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletid=TargetIdString.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?port~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letport=field_mapjson__"port"Port.of_jsoninletid=field_map_exnjson__"id"TargetIdString.of_jsoninmake?port~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a target."]moduleTargetSummary=structtypenonrect={id:String_.toption[@ocaml.doc"The ID of the target. If the target group type is INSTANCE, this is an instance ID. If the target group type is IP, this is an IP address. If the target group type is LAMBDA, this is the ARN of a Lambda function. If the target type is ALB, this is the ARN of an Application Load Balancer."];port:Port.toption[@ocaml.doc"The port on which the target is listening."];status:TargetStatus.toption[@ocaml.doc"The status of the target. DRAINING: The target is being deregistered. No new connections are sent to this target while current connections are being drained. The default draining time is 1 minute. UNAVAILABLE: Health checks are unavailable for the target group. HEALTHY: The target is healthy. UNHEALTHY: The target is unhealthy. INITIAL: Initial health checks on the target are being performed. UNUSED: Target group is not used in a service."];reasonCode:String_.toption[@ocaml.doc"The code for why the target status is what it is."]}letmake?id=fun?port->fun?status->fun?reasonCode->fun()->{id;port;status;reasonCode}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:String_.to_value));("port",(Option.mapx.port~f:Port.to_value));("status",(Option.mapx.status~f:TargetStatus.to_value));("reasonCode",(Option.mapx.reasonCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreasonCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"reasonCode")inletstatus=(Option.map~f:TargetStatus.of_xml)(Xml.childxml_arg0"status")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletid=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"id")inmake?reasonCode?status?port?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreasonCode=field_mapjson__"reasonCode"String_.of_jsoninletstatus=field_mapjson__"status"TargetStatus.of_jsoninletport=field_mapjson__"port"Port.of_jsoninletid=field_mapjson__"id"String_.of_jsoninmake?reasonCode?status?port?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a target."]moduleTargetGroupSummary=structtypenonrect={id:TargetGroupId.toption[@ocaml.doc"The ID of the target group."];arn:TargetGroupArn.toption[@ocaml.doc"The ARN (Amazon Resource Name) of the target group."];name:TargetGroupName.toption[@ocaml.doc"The name of the target group."];type_:TargetGroupType.toption[@ocaml.doc"The target group type."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the target group was created, in ISO-8601 format."];port:Port.toption[@ocaml.doc"The port of the target group."];protocol:TargetGroupProtocol.toption[@ocaml.doc"The protocol of the target group."];ipAddressType:IpAddressType.toption[@ocaml.doc"The type of IP address used for the target group. The possible values are IPV4 and IPV6. This is an optional parameter. If not specified, the default is IPV4."];vpcIdentifier:VpcId.toption[@ocaml.doc"The ID of the VPC of the target group."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the target group was last updated, in ISO-8601 format."];status:TargetGroupStatus.toption[@ocaml.doc"The status."];serviceArns:ServiceArnList.toption[@ocaml.doc"The Amazon Resource Names (ARNs) of the service."];lambdaEventStructureVersion:LambdaEventStructureVersion.toption[@ocaml.doc"The version of the event structure that your Lambda function receives. Supported only if the target group type is LAMBDA."]}letmake?id=fun?arn->fun?name->fun?type_->fun?createdAt->fun?port->fun?protocol->fun?ipAddressType->fun?vpcIdentifier->fun?lastUpdatedAt->fun?status->fun?serviceArns->fun?lambdaEventStructureVersion->fun()->{id;arn;name;type_;createdAt;port;protocol;ipAddressType;vpcIdentifier;lastUpdatedAt;status;serviceArns;lambdaEventStructureVersion}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:TargetGroupId.to_value));("arn",(Option.mapx.arn~f:TargetGroupArn.to_value));("name",(Option.mapx.name~f:TargetGroupName.to_value));("type",(Option.mapx.type_~f:TargetGroupType.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("port",(Option.mapx.port~f:Port.to_value));("protocol",(Option.mapx.protocol~f:TargetGroupProtocol.to_value));("ipAddressType",(Option.mapx.ipAddressType~f:IpAddressType.to_value));("vpcIdentifier",(Option.mapx.vpcIdentifier~f:VpcId.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("status",(Option.mapx.status~f:TargetGroupStatus.to_value));("serviceArns",(Option.mapx.serviceArns~f:ServiceArnList.to_value));("lambdaEventStructureVersion",(Option.mapx.lambdaEventStructureVersion~f:LambdaEventStructureVersion.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlambdaEventStructureVersion=(Option.map~f:LambdaEventStructureVersion.of_xml)(Xml.childxml_arg0"lambdaEventStructureVersion")inletserviceArns=(Option.map~f:ServiceArnList.of_xml)(Xml.childxml_arg0"serviceArns")inletstatus=(Option.map~f:TargetGroupStatus.of_xml)(Xml.childxml_arg0"status")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletvpcIdentifier=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcIdentifier")inletipAddressType=(Option.map~f:IpAddressType.of_xml)(Xml.childxml_arg0"ipAddressType")inletprotocol=(Option.map~f:TargetGroupProtocol.of_xml)(Xml.childxml_arg0"protocol")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inlettype_=(Option.map~f:TargetGroupType.of_xml)(Xml.childxml_arg0"type")inletname=(Option.map~f:TargetGroupName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:TargetGroupArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:TargetGroupId.of_xml)(Xml.childxml_arg0"id")inmake?lambdaEventStructureVersion?serviceArns?status?lastUpdatedAt?vpcIdentifier?ipAddressType?protocol?port?createdAt?type_?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlambdaEventStructureVersion=field_mapjson__"lambdaEventStructureVersion"LambdaEventStructureVersion.of_jsoninletserviceArns=field_mapjson__"serviceArns"ServiceArnList.of_jsoninletstatus=field_mapjson__"status"TargetGroupStatus.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletvpcIdentifier=field_mapjson__"vpcIdentifier"VpcId.of_jsoninletipAddressType=field_mapjson__"ipAddressType"IpAddressType.of_jsoninletprotocol=field_mapjson__"protocol"TargetGroupProtocol.of_jsoninletport=field_mapjson__"port"Port.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninlettype_=field_mapjson__"type"TargetGroupType.of_jsoninletname=field_mapjson__"name"TargetGroupName.of_jsoninletarn=field_mapjson__"arn"TargetGroupArn.of_jsoninletid=field_mapjson__"id"TargetGroupId.of_jsoninmake?lambdaEventStructureVersion?serviceArns?status?lastUpdatedAt?vpcIdentifier?ipAddressType?protocol?port?createdAt?type_?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a target group. For more information, see Target groups in the Amazon VPC Lattice User Guide."]moduleServiceSummary=structtypenonrect={id:ServiceId.toption[@ocaml.doc"The ID of the service."];name:ServiceName.toption[@ocaml.doc"The name of the service."];arn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the service was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the service was last updated, in ISO-8601 format."];dnsEntry:DnsEntry.toption[@ocaml.doc"The DNS information."];customDomainName:ServiceCustomDomainName.toption[@ocaml.doc"The custom domain name of the service."];status:ServiceStatus.toption[@ocaml.doc"The status."]}letmake?id=fun?name->fun?arn->fun?createdAt->fun?lastUpdatedAt->fun?dnsEntry->fun?customDomainName->fun?status->fun()->{id;name;arn;createdAt;lastUpdatedAt;dnsEntry;customDomainName;status}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ServiceId.to_value));("name",(Option.mapx.name~f:ServiceName.to_value));("arn",(Option.mapx.arn~f:ServiceArn.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("dnsEntry",(Option.mapx.dnsEntry~f:DnsEntry.to_value));("customDomainName",(Option.mapx.customDomainName~f:ServiceCustomDomainName.to_value));("status",(Option.mapx.status~f:ServiceStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:ServiceStatus.of_xml)(Xml.childxml_arg0"status")inletcustomDomainName=(Option.map~f:ServiceCustomDomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletdnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"dnsEntry")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletarn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ServiceName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"id")inmake?status?customDomainName?dnsEntry?lastUpdatedAt?createdAt?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"ServiceStatus.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"ServiceCustomDomainName.of_jsoninletdnsEntry=field_mapjson__"dnsEntry"DnsEntry.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletarn=field_mapjson__"arn"ServiceArn.of_jsoninletname=field_mapjson__"name"ServiceName.of_jsoninletid=field_mapjson__"id"ServiceId.of_jsoninmake?status?customDomainName?dnsEntry?lastUpdatedAt?createdAt?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a service."]moduleServiceNetworkSummary=structtypenonrect={id:ServiceNetworkId.toption[@ocaml.doc"The ID of the service network."];name:ServiceNetworkName.toption[@ocaml.doc"The name of the service network."];arn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the service network was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the service network was last updated, in ISO-8601 format."];numberOfAssociatedVPCs:Long.toption[@ocaml.doc"The number of VPCs associated with the service network."];numberOfAssociatedServices:Long.toption[@ocaml.doc"The number of services associated with the service network."];numberOfAssociatedResourceConfigurations:Long.toption[@ocaml.doc"The number of resource configurations associated with a service network."]}letmake?id=fun?name->fun?arn->fun?createdAt->fun?lastUpdatedAt->fun?numberOfAssociatedVPCs->fun?numberOfAssociatedServices->fun?numberOfAssociatedResourceConfigurations->fun()->{id;name;arn;createdAt;lastUpdatedAt;numberOfAssociatedVPCs;numberOfAssociatedServices;numberOfAssociatedResourceConfigurations}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ServiceNetworkId.to_value));("name",(Option.mapx.name~f:ServiceNetworkName.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkArn.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("numberOfAssociatedVPCs",(Option.mapx.numberOfAssociatedVPCs~f:Long.to_value));("numberOfAssociatedServices",(Option.mapx.numberOfAssociatedServices~f:Long.to_value));("numberOfAssociatedResourceConfigurations",(Option.mapx.numberOfAssociatedResourceConfigurations~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnumberOfAssociatedResourceConfigurations=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"numberOfAssociatedResourceConfigurations")inletnumberOfAssociatedServices=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"numberOfAssociatedServices")inletnumberOfAssociatedVPCs=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"numberOfAssociatedVPCs")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletarn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ServiceNetworkName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ServiceNetworkId.of_xml)(Xml.childxml_arg0"id")inmake?numberOfAssociatedResourceConfigurations?numberOfAssociatedServices?numberOfAssociatedVPCs?lastUpdatedAt?createdAt?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnumberOfAssociatedResourceConfigurations=field_mapjson__"numberOfAssociatedResourceConfigurations"Long.of_jsoninletnumberOfAssociatedServices=field_mapjson__"numberOfAssociatedServices"Long.of_jsoninletnumberOfAssociatedVPCs=field_mapjson__"numberOfAssociatedVPCs"Long.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkArn.of_jsoninletname=field_mapjson__"name"ServiceNetworkName.of_jsoninletid=field_mapjson__"id"ServiceNetworkId.of_jsoninmake?numberOfAssociatedResourceConfigurations?numberOfAssociatedServices?numberOfAssociatedVPCs?lastUpdatedAt?createdAt?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a service network."]moduleServiceNetworkEndpointAssociation=structtypenonrect={vpcEndpointId:String_.toption[@ocaml.doc"The ID of the VPC endpoint associated with the service network."];vpcId:String_.toption[@ocaml.doc"The ID of the VPC for the association."];vpcEndpointOwnerId:String_.toption[@ocaml.doc"The owner of the VPC endpoint associated with the service network."];id:String_.toption[@ocaml.doc"The ID of the association."];state:String_.toption[@ocaml.doc"The state of the association."];serviceNetworkArn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the association was created, in ISO-8601 format."]}letmake?vpcEndpointId=fun?vpcId->fun?vpcEndpointOwnerId->fun?id->fun?state->fun?serviceNetworkArn->fun?createdAt->fun()->{vpcEndpointId;vpcId;vpcEndpointOwnerId;id;state;serviceNetworkArn;createdAt}letto_valuex=structure_to_value[("vpcEndpointId",(Option.mapx.vpcEndpointId~f:String_.to_value));("vpcId",(Option.mapx.vpcId~f:String_.to_value));("vpcEndpointOwnerId",(Option.mapx.vpcEndpointOwnerId~f:String_.to_value));("id",(Option.mapx.id~f:String_.to_value));("state",(Option.mapx.state~f:String_.to_value));("serviceNetworkArn",(Option.mapx.serviceNetworkArn~f:ServiceNetworkArn.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletserviceNetworkArn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"serviceNetworkArn")inletstate=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"state")inletid=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"id")inletvpcEndpointOwnerId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"vpcEndpointOwnerId")inletvpcId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"vpcId")inletvpcEndpointId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"vpcEndpointId")inmake?createdAt?serviceNetworkArn?state?id?vpcEndpointOwnerId?vpcId?vpcEndpointId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletserviceNetworkArn=field_mapjson__"serviceNetworkArn"ServiceNetworkArn.of_jsoninletstate=field_mapjson__"state"String_.of_jsoninletid=field_mapjson__"id"String_.of_jsoninletvpcEndpointOwnerId=field_mapjson__"vpcEndpointOwnerId"String_.of_jsoninletvpcId=field_mapjson__"vpcId"String_.of_jsoninletvpcEndpointId=field_mapjson__"vpcEndpointId"String_.of_jsoninmake?createdAt?serviceNetworkArn?state?id?vpcEndpointOwnerId?vpcId?vpcEndpointId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the association between a service network and a VPC endpoint."]moduleServiceNetworkVpcAssociationSummary=structtypenonrect={id:ServiceNetworkVpcAssociationId.toption[@ocaml.doc"The ID of the association."];arn:ServiceNetworkVpcAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];status:ServiceNetworkVpcAssociationStatus.toption[@ocaml.doc"The status."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the association was created, in ISO-8601 format."];serviceNetworkId:ServiceNetworkId.toption[@ocaml.doc"The ID of the service network."];serviceNetworkName:ServiceNetworkName.toption[@ocaml.doc"The name of the service network."];serviceNetworkArn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];privateDnsEnabled:Boolean.toption[@ocaml.doc"Indicates if private DNS is enabled for the service network VPC association."];dnsOptions:DnsOptions.toption[@ocaml.doc"The DNS options for the service network VPC association."];vpcId:VpcId.toption[@ocaml.doc"The ID of the VPC."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the association was last updated, in ISO-8601 format."]}letmake?id=fun?arn->fun?status->fun?createdBy->fun?createdAt->fun?serviceNetworkId->fun?serviceNetworkName->fun?serviceNetworkArn->fun?privateDnsEnabled->fun?dnsOptions->fun?vpcId->fun?lastUpdatedAt->fun()->{id;arn;status;createdBy;createdAt;serviceNetworkId;serviceNetworkName;serviceNetworkArn;privateDnsEnabled;dnsOptions;vpcId;lastUpdatedAt}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ServiceNetworkVpcAssociationId.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkVpcAssociationArn.to_value));("status",(Option.mapx.status~f:ServiceNetworkVpcAssociationStatus.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("serviceNetworkId",(Option.mapx.serviceNetworkId~f:ServiceNetworkId.to_value));("serviceNetworkName",(Option.mapx.serviceNetworkName~f:ServiceNetworkName.to_value));("serviceNetworkArn",(Option.mapx.serviceNetworkArn~f:ServiceNetworkArn.to_value));("privateDnsEnabled",(Option.mapx.privateDnsEnabled~f:Boolean.to_value));("dnsOptions",(Option.mapx.dnsOptions~f:DnsOptions.to_value));("vpcId",(Option.mapx.vpcId~f:VpcId.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletvpcId=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcId")inletdnsOptions=(Option.map~f:DnsOptions.of_xml)(Xml.childxml_arg0"dnsOptions")inletprivateDnsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"privateDnsEnabled")inletserviceNetworkArn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"serviceNetworkArn")inletserviceNetworkName=(Option.map~f:ServiceNetworkName.of_xml)(Xml.childxml_arg0"serviceNetworkName")inletserviceNetworkId=(Option.map~f:ServiceNetworkId.of_xml)(Xml.childxml_arg0"serviceNetworkId")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletstatus=(Option.map~f:ServiceNetworkVpcAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ServiceNetworkVpcAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceNetworkVpcAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?lastUpdatedAt?vpcId?dnsOptions?privateDnsEnabled?serviceNetworkArn?serviceNetworkName?serviceNetworkId?createdAt?createdBy?status?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletvpcId=field_mapjson__"vpcId"VpcId.of_jsoninletdnsOptions=field_mapjson__"dnsOptions"DnsOptions.of_jsoninletprivateDnsEnabled=field_mapjson__"privateDnsEnabled"Boolean.of_jsoninletserviceNetworkArn=field_mapjson__"serviceNetworkArn"ServiceNetworkArn.of_jsoninletserviceNetworkName=field_mapjson__"serviceNetworkName"ServiceNetworkName.of_jsoninletserviceNetworkId=field_mapjson__"serviceNetworkId"ServiceNetworkId.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkVpcAssociationStatus.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkVpcAssociationArn.of_jsoninletid=field_mapjson__"id"ServiceNetworkVpcAssociationId.of_jsoninmake?lastUpdatedAt?vpcId?dnsOptions?privateDnsEnabled?serviceNetworkArn?serviceNetworkName?serviceNetworkId?createdAt?createdBy?status?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an association between a service network and a VPC."]moduleServiceNetworkServiceAssociationSummary=structtypenonrect={id:ServiceNetworkServiceAssociationIdentifier.toption[@ocaml.doc"The ID of the association."];status:ServiceNetworkServiceAssociationStatus.toption[@ocaml.doc"The status of the service network\226\128\153s association with the service. If the deletion fails, try to delete again."];arn:ServiceNetworkServiceAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the association was created, in ISO-8601 format."];serviceId:ServiceId.toption[@ocaml.doc"The ID of the service."];serviceName:ServiceName.toption[@ocaml.doc"The name of the service."];serviceArn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];serviceNetworkId:ServiceNetworkId.toption[@ocaml.doc"The ID of the service network."];serviceNetworkName:ServiceNetworkName.toption[@ocaml.doc"The name of the service network."];serviceNetworkArn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];dnsEntry:DnsEntry.toption[@ocaml.doc"The DNS information."];customDomainName:ServiceCustomDomainName.toption[@ocaml.doc"The custom domain name of the service."]}letmake?id=fun?status->fun?arn->fun?createdBy->fun?createdAt->fun?serviceId->fun?serviceName->fun?serviceArn->fun?serviceNetworkId->fun?serviceNetworkName->fun?serviceNetworkArn->fun?dnsEntry->fun?customDomainName->fun()->{id;status;arn;createdBy;createdAt;serviceId;serviceName;serviceArn;serviceNetworkId;serviceNetworkName;serviceNetworkArn;dnsEntry;customDomainName}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ServiceNetworkServiceAssociationIdentifier.to_value));("status",(Option.mapx.status~f:ServiceNetworkServiceAssociationStatus.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkServiceAssociationArn.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("serviceId",(Option.mapx.serviceId~f:ServiceId.to_value));("serviceName",(Option.mapx.serviceName~f:ServiceName.to_value));("serviceArn",(Option.mapx.serviceArn~f:ServiceArn.to_value));("serviceNetworkId",(Option.mapx.serviceNetworkId~f:ServiceNetworkId.to_value));("serviceNetworkName",(Option.mapx.serviceNetworkName~f:ServiceNetworkName.to_value));("serviceNetworkArn",(Option.mapx.serviceNetworkArn~f:ServiceNetworkArn.to_value));("dnsEntry",(Option.mapx.dnsEntry~f:DnsEntry.to_value));("customDomainName",(Option.mapx.customDomainName~f:ServiceCustomDomainName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcustomDomainName=(Option.map~f:ServiceCustomDomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletdnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"dnsEntry")inletserviceNetworkArn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"serviceNetworkArn")inletserviceNetworkName=(Option.map~f:ServiceNetworkName.of_xml)(Xml.childxml_arg0"serviceNetworkName")inletserviceNetworkId=(Option.map~f:ServiceNetworkId.of_xml)(Xml.childxml_arg0"serviceNetworkId")inletserviceArn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"serviceArn")inletserviceName=(Option.map~f:ServiceName.of_xml)(Xml.childxml_arg0"serviceName")inletserviceId=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"serviceId")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletarn=(Option.map~f:ServiceNetworkServiceAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:ServiceNetworkServiceAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletid=(Option.map~f:ServiceNetworkServiceAssociationIdentifier.of_xml)(Xml.childxml_arg0"id")inmake?customDomainName?dnsEntry?serviceNetworkArn?serviceNetworkName?serviceNetworkId?serviceArn?serviceName?serviceId?createdAt?createdBy?arn?status?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcustomDomainName=field_mapjson__"customDomainName"ServiceCustomDomainName.of_jsoninletdnsEntry=field_mapjson__"dnsEntry"DnsEntry.of_jsoninletserviceNetworkArn=field_mapjson__"serviceNetworkArn"ServiceNetworkArn.of_jsoninletserviceNetworkName=field_mapjson__"serviceNetworkName"ServiceNetworkName.of_jsoninletserviceNetworkId=field_mapjson__"serviceNetworkId"ServiceNetworkId.of_jsoninletserviceArn=field_mapjson__"serviceArn"ServiceArn.of_jsoninletserviceName=field_mapjson__"serviceName"ServiceName.of_jsoninletserviceId=field_mapjson__"serviceId"ServiceId.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkServiceAssociationArn.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkServiceAssociationStatus.of_jsoninletid=field_mapjson__"id"ServiceNetworkServiceAssociationIdentifier.of_jsoninmake?customDomainName?dnsEntry?serviceNetworkArn?serviceNetworkName?serviceNetworkId?serviceArn?serviceName?serviceId?createdAt?createdBy?arn?status?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an association between a service network and a service."]moduleServiceNetworkResourceAssociationSummary=structtypenonrect={id:ServiceNetworkResourceAssociationId.toption[@ocaml.doc"The ID of the association between the service network and resource configuration."];arn:ServiceNetworkResourceAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];status:ServiceNetworkResourceAssociationStatus.toption[@ocaml.doc"The status of the service network\226\128\153s association with the resource configuration. If the deletion fails, try to delete again."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the association was created, in ISO-8601 format."];resourceConfigurationId:ResourceConfigurationId.toption[@ocaml.doc"The ID of the resource configuration associated with the service network."];resourceConfigurationArn:ResourceConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];resourceConfigurationName:ResourceConfigurationName.toption[@ocaml.doc"The name of the resource configuration associated with the service network."];serviceNetworkId:ServiceNetworkIdentifierWithoutRegex.toption[@ocaml.doc"The ID of the service network associated with the resource configuration."];serviceNetworkArn:ServiceNetworkArnWithoutRegex.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network associated with the resource configuration."];serviceNetworkName:ServiceNetworkNameWithoutRegex.toption[@ocaml.doc"The name of the service network associated with the resource configuration."];dnsEntry:DnsEntry.toption[@ocaml.doc"The DNS entry for the service."];privateDnsEntry:DnsEntry.toption[@ocaml.doc"The private DNS entry for the service."];isManagedAssociation:Boolean.toption[@ocaml.doc"Specifies whether the association is managed by Amazon."];failureCode:String_.toption[@ocaml.doc"The failure code."];privateDnsEnabled:Boolean.toption[@ocaml.doc"Indicates if private DNS is enabled for the service network resource association."]}letmake?id=fun?arn->fun?status->fun?createdBy->fun?createdAt->fun?resourceConfigurationId->fun?resourceConfigurationArn->fun?resourceConfigurationName->fun?serviceNetworkId->fun?serviceNetworkArn->fun?serviceNetworkName->fun?dnsEntry->fun?privateDnsEntry->fun?isManagedAssociation->fun?failureCode->fun?privateDnsEnabled->fun()->{id;arn;status;createdBy;createdAt;resourceConfigurationId;resourceConfigurationArn;resourceConfigurationName;serviceNetworkId;serviceNetworkArn;serviceNetworkName;dnsEntry;privateDnsEntry;isManagedAssociation;failureCode;privateDnsEnabled}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ServiceNetworkResourceAssociationId.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkResourceAssociationArn.to_value));("status",(Option.mapx.status~f:ServiceNetworkResourceAssociationStatus.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("resourceConfigurationId",(Option.mapx.resourceConfigurationId~f:ResourceConfigurationId.to_value));("resourceConfigurationArn",(Option.mapx.resourceConfigurationArn~f:ResourceConfigurationArn.to_value));("resourceConfigurationName",(Option.mapx.resourceConfigurationName~f:ResourceConfigurationName.to_value));("serviceNetworkId",(Option.mapx.serviceNetworkId~f:ServiceNetworkIdentifierWithoutRegex.to_value));("serviceNetworkArn",(Option.mapx.serviceNetworkArn~f:ServiceNetworkArnWithoutRegex.to_value));("serviceNetworkName",(Option.mapx.serviceNetworkName~f:ServiceNetworkNameWithoutRegex.to_value));("dnsEntry",(Option.mapx.dnsEntry~f:DnsEntry.to_value));("privateDnsEntry",(Option.mapx.privateDnsEntry~f:DnsEntry.to_value));("isManagedAssociation",(Option.mapx.isManagedAssociation~f:Boolean.to_value));("failureCode",(Option.mapx.failureCode~f:String_.to_value));("privateDnsEnabled",(Option.mapx.privateDnsEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprivateDnsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"privateDnsEnabled")inletfailureCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureCode")inletisManagedAssociation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isManagedAssociation")inletprivateDnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"privateDnsEntry")inletdnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"dnsEntry")inletserviceNetworkName=(Option.map~f:ServiceNetworkNameWithoutRegex.of_xml)(Xml.childxml_arg0"serviceNetworkName")inletserviceNetworkArn=(Option.map~f:ServiceNetworkArnWithoutRegex.of_xml)(Xml.childxml_arg0"serviceNetworkArn")inletserviceNetworkId=(Option.map~f:ServiceNetworkIdentifierWithoutRegex.of_xml)(Xml.childxml_arg0"serviceNetworkId")inletresourceConfigurationName=(Option.map~f:ResourceConfigurationName.of_xml)(Xml.childxml_arg0"resourceConfigurationName")inletresourceConfigurationArn=(Option.map~f:ResourceConfigurationArn.of_xml)(Xml.childxml_arg0"resourceConfigurationArn")inletresourceConfigurationId=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"resourceConfigurationId")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletstatus=(Option.map~f:ServiceNetworkResourceAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ServiceNetworkResourceAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceNetworkResourceAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?privateDnsEnabled?failureCode?isManagedAssociation?privateDnsEntry?dnsEntry?serviceNetworkName?serviceNetworkArn?serviceNetworkId?resourceConfigurationName?resourceConfigurationArn?resourceConfigurationId?createdAt?createdBy?status?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprivateDnsEnabled=field_mapjson__"privateDnsEnabled"Boolean.of_jsoninletfailureCode=field_mapjson__"failureCode"String_.of_jsoninletisManagedAssociation=field_mapjson__"isManagedAssociation"Boolean.of_jsoninletprivateDnsEntry=field_mapjson__"privateDnsEntry"DnsEntry.of_jsoninletdnsEntry=field_mapjson__"dnsEntry"DnsEntry.of_jsoninletserviceNetworkName=field_mapjson__"serviceNetworkName"ServiceNetworkNameWithoutRegex.of_jsoninletserviceNetworkArn=field_mapjson__"serviceNetworkArn"ServiceNetworkArnWithoutRegex.of_jsoninletserviceNetworkId=field_mapjson__"serviceNetworkId"ServiceNetworkIdentifierWithoutRegex.of_jsoninletresourceConfigurationName=field_mapjson__"resourceConfigurationName"ResourceConfigurationName.of_jsoninletresourceConfigurationArn=field_mapjson__"resourceConfigurationArn"ResourceConfigurationArn.of_jsoninletresourceConfigurationId=field_mapjson__"resourceConfigurationId"ResourceConfigurationId.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkResourceAssociationStatus.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkResourceAssociationArn.of_jsoninletid=field_mapjson__"id"ServiceNetworkResourceAssociationId.of_jsoninmake?privateDnsEnabled?failureCode?isManagedAssociation?privateDnsEntry?dnsEntry?serviceNetworkName?serviceNetworkArn?serviceNetworkId?resourceConfigurationName?resourceConfigurationArn?resourceConfigurationId?createdAt?createdBy?status?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an association between a service network and a resource configuration."]moduleRuleSummary=structtypenonrect={arn:RuleArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the rule."];id:RuleId.toption[@ocaml.doc"The ID of the rule."];name:RuleName.toption[@ocaml.doc"The name of the rule."];isDefault:Boolean.toption[@ocaml.doc"Indicates whether this is the default listener rule."];priority:RulePriority.toption[@ocaml.doc"The priority of the rule."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the listener rule was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the listener rule was last updated, in ISO-8601 format."]}letmake?arn=fun?id->fun?name->fun?isDefault->fun?priority->fun?createdAt->fun?lastUpdatedAt->fun()->{arn;id;name;isDefault;priority;createdAt;lastUpdatedAt}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:RuleArn.to_value));("id",(Option.mapx.id~f:RuleId.to_value));("name",(Option.mapx.name~f:RuleName.to_value));("isDefault",(Option.mapx.isDefault~f:Boolean.to_value));("priority",(Option.mapx.priority~f:RulePriority.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletpriority=(Option.map~f:RulePriority.of_xml)(Xml.childxml_arg0"priority")inletisDefault=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isDefault")inletname=(Option.map~f:RuleName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:RuleId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:RuleArn.of_xml)(Xml.childxml_arg0"arn")inmake?lastUpdatedAt?createdAt?priority?isDefault?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletpriority=field_mapjson__"priority"RulePriority.of_jsoninletisDefault=field_mapjson__"isDefault"Boolean.of_jsoninletname=field_mapjson__"name"RuleName.of_jsoninletid=field_mapjson__"id"RuleId.of_jsoninletarn=field_mapjson__"arn"RuleArn.of_jsoninmake?lastUpdatedAt?createdAt?priority?isDefault?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a listener rule."]moduleResourceGatewaySummary=structtypenonrect={name:ResourceGatewayName.toption[@ocaml.doc"The name of the resource gateway."];id:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway."];arn:ResourceGatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource gateway."];status:ResourceGatewayStatus.toption[@ocaml.doc"The name of the resource gateway."];vpcIdentifier:VpcId.toption[@ocaml.doc"The ID of the VPC for the resource gateway."];subnetIds:SubnetList.toption[@ocaml.doc"The IDs of the VPC subnets for the resource gateway."];securityGroupIds:SecurityGroupList.toption[@ocaml.doc"The IDs of the security groups applied to the resource gateway."];ipAddressType:ResourceGatewayIpAddressType.toption[@ocaml.doc"The type of IP address used by the resource gateway."];ipv4AddressesPerEni:Ipv4AddressesPerEni.toption[@ocaml.doc"The number of IPv4 addresses in each ENI for the resource gateway."];resourceConfigDnsResolution:ResourceConfigDnsResolution.toption[@ocaml.doc"The DNS resolution type for resource configurations that are associated with this resource gateway."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the VPC endpoint association was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The most recent date and time that the resource gateway was updated, in ISO-8601 format."]}letmake?name=fun?id->fun?arn->fun?status->fun?vpcIdentifier->fun?subnetIds->fun?securityGroupIds->fun?ipAddressType->fun?ipv4AddressesPerEni->fun?resourceConfigDnsResolution->fun?createdAt->fun?lastUpdatedAt->fun()->{name;id;arn;status;vpcIdentifier;subnetIds;securityGroupIds;ipAddressType;ipv4AddressesPerEni;resourceConfigDnsResolution;createdAt;lastUpdatedAt}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:ResourceGatewayName.to_value));("id",(Option.mapx.id~f:ResourceGatewayId.to_value));("arn",(Option.mapx.arn~f:ResourceGatewayArn.to_value));("status",(Option.mapx.status~f:ResourceGatewayStatus.to_value));("vpcIdentifier",(Option.mapx.vpcIdentifier~f:VpcId.to_value));("subnetIds",(Option.mapx.subnetIds~f:SubnetList.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupList.to_value));("ipAddressType",(Option.mapx.ipAddressType~f:ResourceGatewayIpAddressType.to_value));("ipv4AddressesPerEni",(Option.mapx.ipv4AddressesPerEni~f:Ipv4AddressesPerEni.to_value));("resourceConfigDnsResolution",(Option.mapx.resourceConfigDnsResolution~f:ResourceConfigDnsResolution.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletresourceConfigDnsResolution=(Option.map~f:ResourceConfigDnsResolution.of_xml)(Xml.childxml_arg0"resourceConfigDnsResolution")inletipv4AddressesPerEni=(Option.map~f:Ipv4AddressesPerEni.of_xml)(Xml.childxml_arg0"ipv4AddressesPerEni")inletipAddressType=(Option.map~f:ResourceGatewayIpAddressType.of_xml)(Xml.childxml_arg0"ipAddressType")inletsecurityGroupIds=(Option.map~f:SecurityGroupList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletsubnetIds=(Option.map~f:SubnetList.of_xml)(Xml.childxml_arg0"subnetIds")inletvpcIdentifier=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcIdentifier")inletstatus=(Option.map~f:ResourceGatewayStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ResourceGatewayArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:ResourceGatewayName.of_xml)(Xml.childxml_arg0"name")inmake?lastUpdatedAt?createdAt?resourceConfigDnsResolution?ipv4AddressesPerEni?ipAddressType?securityGroupIds?subnetIds?vpcIdentifier?status?arn?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletresourceConfigDnsResolution=field_mapjson__"resourceConfigDnsResolution"ResourceConfigDnsResolution.of_jsoninletipv4AddressesPerEni=field_mapjson__"ipv4AddressesPerEni"Ipv4AddressesPerEni.of_jsoninletipAddressType=field_mapjson__"ipAddressType"ResourceGatewayIpAddressType.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupList.of_jsoninletsubnetIds=field_mapjson__"subnetIds"SubnetList.of_jsoninletvpcIdentifier=field_mapjson__"vpcIdentifier"VpcId.of_jsoninletstatus=field_mapjson__"status"ResourceGatewayStatus.of_jsoninletarn=field_mapjson__"arn"ResourceGatewayArn.of_jsoninletid=field_mapjson__"id"ResourceGatewayId.of_jsoninletname=field_mapjson__"name"ResourceGatewayName.of_jsoninmake?lastUpdatedAt?createdAt?resourceConfigDnsResolution?ipv4AddressesPerEni?ipAddressType?securityGroupIds?subnetIds?vpcIdentifier?status?arn?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a resource gateway."]moduleResourceEndpointAssociationSummary=structtypenonrect={id:ResourceEndpointAssociationId.toption[@ocaml.doc"The ID of the VPC endpoint association."];arn:ResourceEndpointAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the VPC endpoint association."];resourceConfigurationId:ResourceConfigurationId.toption[@ocaml.doc"The ID of the resource configuration."];resourceConfigurationArn:ResourceConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource configuration."];resourceConfigurationName:ResourceConfigurationName.toption[@ocaml.doc"The name of the resource configuration."];vpcEndpointId:VpcEndpointId.toption[@ocaml.doc"The ID of the VPC endpoint."];vpcEndpointOwner:VpcEndpointOwner.toption[@ocaml.doc"The owner of the VPC endpoint."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the VPC endpoint association was created, in ISO-8601 format."]}letmake?id=fun?arn->fun?resourceConfigurationId->fun?resourceConfigurationArn->fun?resourceConfigurationName->fun?vpcEndpointId->fun?vpcEndpointOwner->fun?createdBy->fun?createdAt->fun()->{id;arn;resourceConfigurationId;resourceConfigurationArn;resourceConfigurationName;vpcEndpointId;vpcEndpointOwner;createdBy;createdAt}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ResourceEndpointAssociationId.to_value));("arn",(Option.mapx.arn~f:ResourceEndpointAssociationArn.to_value));("resourceConfigurationId",(Option.mapx.resourceConfigurationId~f:ResourceConfigurationId.to_value));("resourceConfigurationArn",(Option.mapx.resourceConfigurationArn~f:ResourceConfigurationArn.to_value));("resourceConfigurationName",(Option.mapx.resourceConfigurationName~f:ResourceConfigurationName.to_value));("vpcEndpointId",(Option.mapx.vpcEndpointId~f:VpcEndpointId.to_value));("vpcEndpointOwner",(Option.mapx.vpcEndpointOwner~f:VpcEndpointOwner.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletvpcEndpointOwner=(Option.map~f:VpcEndpointOwner.of_xml)(Xml.childxml_arg0"vpcEndpointOwner")inletvpcEndpointId=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"vpcEndpointId")inletresourceConfigurationName=(Option.map~f:ResourceConfigurationName.of_xml)(Xml.childxml_arg0"resourceConfigurationName")inletresourceConfigurationArn=(Option.map~f:ResourceConfigurationArn.of_xml)(Xml.childxml_arg0"resourceConfigurationArn")inletresourceConfigurationId=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"resourceConfigurationId")inletarn=(Option.map~f:ResourceEndpointAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ResourceEndpointAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?createdAt?createdBy?vpcEndpointOwner?vpcEndpointId?resourceConfigurationName?resourceConfigurationArn?resourceConfigurationId?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletvpcEndpointOwner=field_mapjson__"vpcEndpointOwner"VpcEndpointOwner.of_jsoninletvpcEndpointId=field_mapjson__"vpcEndpointId"VpcEndpointId.of_jsoninletresourceConfigurationName=field_mapjson__"resourceConfigurationName"ResourceConfigurationName.of_jsoninletresourceConfigurationArn=field_mapjson__"resourceConfigurationArn"ResourceConfigurationArn.of_jsoninletresourceConfigurationId=field_mapjson__"resourceConfigurationId"ResourceConfigurationId.of_jsoninletarn=field_mapjson__"arn"ResourceEndpointAssociationArn.of_jsoninletid=field_mapjson__"id"ResourceEndpointAssociationId.of_jsoninmake?createdAt?createdBy?vpcEndpointOwner?vpcEndpointId?resourceConfigurationName?resourceConfigurationArn?resourceConfigurationId?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a VPC endpoint association."]moduleResourceConfigurationSummary=structtypenonrect={id:ResourceConfigurationId.toption[@ocaml.doc"The ID of the resource configuration."];name:ResourceConfigurationName.toption[@ocaml.doc"The name of the resource configuration."];arn:ResourceConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource configuration."];resourceGatewayId:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway."];resourceConfigurationGroupId:ResourceConfigurationId.toption[@ocaml.doc"The ID of the group resource configuration."];type_:ResourceConfigurationType.toption[@ocaml.doc"The type of resource configuration. SINGLE - A single resource. GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration. CHILD - A single resource that is part of a group resource configuration. ARN - An Amazon Web Services resource."];status:ResourceConfigurationStatus.toption[@ocaml.doc"The status of the resource configuration."];amazonManaged:Boolean.toption[@ocaml.doc"Indicates whether the resource configuration was created and is managed by Amazon."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the resource configuration was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The most recent date and time that the resource configuration was updated, in ISO-8601 format."];customDomainName:DomainName.toption[@ocaml.doc"The custom domain name."];domainVerificationId:DomainVerificationId.toption[@ocaml.doc"The domain verification ID."];groupDomain:DomainName.toption[@ocaml.doc"(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain."]}letmake?id=fun?name->fun?arn->fun?resourceGatewayId->fun?resourceConfigurationGroupId->fun?type_->fun?status->fun?amazonManaged->fun?createdAt->fun?lastUpdatedAt->fun?customDomainName->fun?domainVerificationId->fun?groupDomain->fun()->{id;name;arn;resourceGatewayId;resourceConfigurationGroupId;type_;status;amazonManaged;createdAt;lastUpdatedAt;customDomainName;domainVerificationId;groupDomain}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:ResourceConfigurationId.to_value));("name",(Option.mapx.name~f:ResourceConfigurationName.to_value));("arn",(Option.mapx.arn~f:ResourceConfigurationArn.to_value));("resourceGatewayId",(Option.mapx.resourceGatewayId~f:ResourceGatewayId.to_value));("resourceConfigurationGroupId",(Option.mapx.resourceConfigurationGroupId~f:ResourceConfigurationId.to_value));("type",(Option.mapx.type_~f:ResourceConfigurationType.to_value));("status",(Option.mapx.status~f:ResourceConfigurationStatus.to_value));("amazonManaged",(Option.mapx.amazonManaged~f:Boolean.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("customDomainName",(Option.mapx.customDomainName~f:DomainName.to_value));("domainVerificationId",(Option.mapx.domainVerificationId~f:DomainVerificationId.to_value));("groupDomain",(Option.mapx.groupDomain~f:DomainName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupDomain=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"groupDomain")inletdomainVerificationId=(Option.map~f:DomainVerificationId.of_xml)(Xml.childxml_arg0"domainVerificationId")inletcustomDomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletamazonManaged=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"amazonManaged")inletstatus=(Option.map~f:ResourceConfigurationStatus.of_xml)(Xml.childxml_arg0"status")inlettype_=(Option.map~f:ResourceConfigurationType.of_xml)(Xml.childxml_arg0"type")inletresourceConfigurationGroupId=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"resourceConfigurationGroupId")inletresourceGatewayId=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"resourceGatewayId")inletarn=(Option.map~f:ResourceConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ResourceConfigurationName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"id")inmake?groupDomain?domainVerificationId?customDomainName?lastUpdatedAt?createdAt?amazonManaged?status?type_?resourceConfigurationGroupId?resourceGatewayId?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupDomain=field_mapjson__"groupDomain"DomainName.of_jsoninletdomainVerificationId=field_mapjson__"domainVerificationId"DomainVerificationId.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"DomainName.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletamazonManaged=field_mapjson__"amazonManaged"Boolean.of_jsoninletstatus=field_mapjson__"status"ResourceConfigurationStatus.of_jsoninlettype_=field_mapjson__"type"ResourceConfigurationType.of_jsoninletresourceConfigurationGroupId=field_mapjson__"resourceConfigurationGroupId"ResourceConfigurationId.of_jsoninletresourceGatewayId=field_mapjson__"resourceGatewayId"ResourceGatewayId.of_jsoninletarn=field_mapjson__"arn"ResourceConfigurationArn.of_jsoninletname=field_mapjson__"name"ResourceConfigurationName.of_jsoninletid=field_mapjson__"id"ResourceConfigurationId.of_jsoninmake?groupDomain?domainVerificationId?customDomainName?lastUpdatedAt?createdAt?amazonManaged?status?type_?resourceConfigurationGroupId?resourceGatewayId?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a resource configuration."]moduleListenerSummary=structtypenonrect={arn:ListenerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the listener."];id:ListenerId.toption[@ocaml.doc"The ID of the listener."];name:ListenerName.toption[@ocaml.doc"The name of the listener."];protocol:ListenerProtocol.toption[@ocaml.doc"The listener protocol."];port:Port.toption[@ocaml.doc"The listener port."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the listener was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the listener was last updated, in ISO-8601 format."]}letmake?arn=fun?id->fun?name->fun?protocol->fun?port->fun?createdAt->fun?lastUpdatedAt->fun()->{arn;id;name;protocol;port;createdAt;lastUpdatedAt}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:ListenerArn.to_value));("id",(Option.mapx.id~f:ListenerId.to_value));("name",(Option.mapx.name~f:ListenerName.to_value));("protocol",(Option.mapx.protocol~f:ListenerProtocol.to_value));("port",(Option.mapx.port~f:Port.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletprotocol=(Option.map~f:ListenerProtocol.of_xml)(Xml.childxml_arg0"protocol")inletname=(Option.map~f:ListenerName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ListenerId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:ListenerArn.of_xml)(Xml.childxml_arg0"arn")inmake?lastUpdatedAt?createdAt?port?protocol?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletport=field_mapjson__"port"Port.of_jsoninletprotocol=field_mapjson__"protocol"ListenerProtocol.of_jsoninletname=field_mapjson__"name"ListenerName.of_jsoninletid=field_mapjson__"id"ListenerId.of_jsoninletarn=field_mapjson__"arn"ListenerArn.of_jsoninmake?lastUpdatedAt?createdAt?port?protocol?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a listener."]moduleDomainVerificationSummary=structtypenonrect={id:DomainVerificationId.toption[@ocaml.doc"The ID of the domain verification."];arn:DomainVerificationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the domain verification."];domainName:DomainName.toption[@ocaml.doc"The domain name being verified."];status:VerificationStatus.toption[@ocaml.doc"The current status of the domain verification process."];txtMethodConfig:TxtMethodConfig.toption[@ocaml.doc"The TXT record configuration used for domain verification."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the domain verification was created, in ISO-8601 format."];lastVerifiedTime:Timestamp.toption[@ocaml.doc"The date and time that the domain was last successfully verified, in ISO-8601 format."];tags:TagMap.toption[@ocaml.doc"The tags associated with the domain verification."]}letmake?id=fun?arn->fun?domainName->fun?status->fun?txtMethodConfig->fun?createdAt->fun?lastVerifiedTime->fun?tags->fun()->{id;arn;domainName;status;txtMethodConfig;createdAt;lastVerifiedTime;tags}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:DomainVerificationId.to_value));("arn",(Option.mapx.arn~f:DomainVerificationArn.to_value));("domainName",(Option.mapx.domainName~f:DomainName.to_value));("status",(Option.mapx.status~f:VerificationStatus.to_value));("txtMethodConfig",(Option.mapx.txtMethodConfig~f:TxtMethodConfig.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastVerifiedTime",(Option.mapx.lastVerifiedTime~f:Timestamp.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletlastVerifiedTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastVerifiedTime")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inlettxtMethodConfig=(Option.map~f:TxtMethodConfig.of_xml)(Xml.childxml_arg0"txtMethodConfig")inletstatus=(Option.map~f:VerificationStatus.of_xml)(Xml.childxml_arg0"status")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inletarn=(Option.map~f:DomainVerificationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:DomainVerificationId.of_xml)(Xml.childxml_arg0"id")inmake?tags?lastVerifiedTime?createdAt?txtMethodConfig?status?domainName?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletlastVerifiedTime=field_mapjson__"lastVerifiedTime"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninlettxtMethodConfig=field_mapjson__"txtMethodConfig"TxtMethodConfig.of_jsoninletstatus=field_mapjson__"status"VerificationStatus.of_jsoninletdomainName=field_mapjson__"domainName"DomainName.of_jsoninletarn=field_mapjson__"arn"DomainVerificationArn.of_jsoninletid=field_mapjson__"id"DomainVerificationId.of_jsoninmake?tags?lastVerifiedTime?createdAt?txtMethodConfig?status?domainName?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a domain verification."]moduleAccessLogSubscriptionSummary=structtypenonrect={id:AccessLogSubscriptionId.toption[@ocaml.doc"The ID of the access log subscription."];arn:AccessLogSubscriptionArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the access log subscription"];resourceId:ResourceId.toption[@ocaml.doc"The ID of the service or service network."];resourceArn:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service or service network."];destinationArn:AccessLogDestinationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the destination."];serviceNetworkLogType:ServiceNetworkLogType.toption[@ocaml.doc"Log type of the service network."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the access log subscription was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the access log subscription was last updated, in ISO-8601 format."]}letmake?id=fun?arn->fun?resourceId->fun?resourceArn->fun?destinationArn->fun?serviceNetworkLogType->fun?createdAt->fun?lastUpdatedAt->fun()->{id;arn;resourceId;resourceArn;destinationArn;serviceNetworkLogType;createdAt;lastUpdatedAt}letto_valuex=structure_to_value[("id",(Option.mapx.id~f:AccessLogSubscriptionId.to_value));("arn",(Option.mapx.arn~f:AccessLogSubscriptionArn.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceArn",(Option.mapx.resourceArn~f:ResourceArn.to_value));("destinationArn",(Option.mapx.destinationArn~f:AccessLogDestinationArn.to_value));("serviceNetworkLogType",(Option.mapx.serviceNetworkLogType~f:ServiceNetworkLogType.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletserviceNetworkLogType=(Option.map~f:ServiceNetworkLogType.of_xml)(Xml.childxml_arg0"serviceNetworkLogType")inletdestinationArn=(Option.map~f:AccessLogDestinationArn.of_xml)(Xml.childxml_arg0"destinationArn")inletresourceArn=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"resourceArn")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletarn=(Option.map~f:AccessLogSubscriptionArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:AccessLogSubscriptionId.of_xml)(Xml.childxml_arg0"id")inmake?lastUpdatedAt?createdAt?serviceNetworkLogType?destinationArn?resourceArn?resourceId?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletserviceNetworkLogType=field_mapjson__"serviceNetworkLogType"ServiceNetworkLogType.of_jsoninletdestinationArn=field_mapjson__"destinationArn"AccessLogDestinationArn.of_jsoninletresourceArn=field_mapjson__"resourceArn"ResourceArn.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletarn=field_mapjson__"arn"AccessLogSubscriptionArn.of_jsoninletid=field_mapjson__"id"AccessLogSubscriptionId.of_jsoninmake?lastUpdatedAt?createdAt?serviceNetworkLogType?destinationArn?resourceArn?resourceId?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an access log subscription."]moduleRuleUpdateFailure=structtypenonrect={ruleIdentifier:RuleIdentifier.toption[@ocaml.doc"The ID or ARN of the rule."];failureCode:FailureCode.toption[@ocaml.doc"The failure code."];failureMessage:FailureMessage.toption[@ocaml.doc"The failure message."]}letmake?ruleIdentifier=fun?failureCode->fun?failureMessage->fun()->{ruleIdentifier;failureCode;failureMessage}letto_valuex=structure_to_value[("ruleIdentifier",(Option.mapx.ruleIdentifier~f:RuleIdentifier.to_value));("failureCode",(Option.mapx.failureCode~f:FailureCode.to_value));("failureMessage",(Option.mapx.failureMessage~f:FailureMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailureMessage=(Option.map~f:FailureMessage.of_xml)(Xml.childxml_arg0"failureMessage")inletfailureCode=(Option.map~f:FailureCode.of_xml)(Xml.childxml_arg0"failureCode")inletruleIdentifier=(Option.map~f:RuleIdentifier.of_xml)(Xml.childxml_arg0"ruleIdentifier")inmake?failureMessage?failureCode?ruleIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailureMessage=field_mapjson__"failureMessage"FailureMessage.of_jsoninletfailureCode=field_mapjson__"failureCode"FailureCode.of_jsoninletruleIdentifier=field_mapjson__"ruleIdentifier"RuleIdentifier.of_jsoninmake?failureMessage?failureCode?ruleIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a rule update that failed."]moduleRuleUpdateSuccess=structtypenonrect={arn:RuleArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the listener."];id:RuleId.toption[@ocaml.doc"The ID of the listener."];name:RuleName.toption[@ocaml.doc"The name of the listener."];isDefault:Boolean.toption[@ocaml.doc"Indicates whether this is the default rule."];match_:RuleMatch.toption[@ocaml.doc"The rule match."];priority:RulePriority.toption[@ocaml.doc"The rule priority."];action:RuleAction.toption[@ocaml.doc"The action for the rule."]}letmake?arn=fun?id->fun?name->fun?isDefault->fun?match_->fun?priority->fun?action->fun()->{arn;id;name;isDefault;match_;priority;action}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:RuleArn.to_value));("id",(Option.mapx.id~f:RuleId.to_value));("name",(Option.mapx.name~f:RuleName.to_value));("isDefault",(Option.mapx.isDefault~f:Boolean.to_value));("match",(Option.mapx.match_~f:RuleMatch.to_value));("priority",(Option.mapx.priority~f:RulePriority.to_value));("action",(Option.mapx.action~f:RuleAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"action")inletpriority=(Option.map~f:RulePriority.of_xml)(Xml.childxml_arg0"priority")inletmatch_=(Option.map~f:RuleMatch.of_xml)(Xml.childxml_arg0"match")inletisDefault=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isDefault")inletname=(Option.map~f:RuleName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:RuleId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:RuleArn.of_xml)(Xml.childxml_arg0"arn")inmake?action?priority?match_?isDefault?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaction=field_mapjson__"action"RuleAction.of_jsoninletpriority=field_mapjson__"priority"RulePriority.of_jsoninletmatch_=field_mapjson__"match"RuleMatch.of_jsoninletisDefault=field_mapjson__"isDefault"Boolean.of_jsoninletname=field_mapjson__"name"RuleName.of_jsoninletid=field_mapjson__"id"RuleId.of_jsoninletarn=field_mapjson__"arn"RuleArn.of_jsoninmake?action?priority?match_?isDefault?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a successful rule update."]moduleRuleUpdate=structtypenonrect={ruleIdentifier:RuleIdentifier.t[@ocaml.doc"The ID or ARN of the rule."];match_:RuleMatch.toption[@ocaml.doc"The rule match."];priority:RulePriority.toption[@ocaml.doc"The rule priority. A listener can't have multiple rules with the same priority."];action:RuleAction.toption[@ocaml.doc"The rule action."]}letcontext_="RuleUpdate"letmake?match_=fun?priority->fun?action->fun~ruleIdentifier->fun()->{match_;priority;action;ruleIdentifier}letto_valuex=structure_to_value[("ruleIdentifier",(Some(RuleIdentifier.to_valuex.ruleIdentifier)));("match",(Option.mapx.match_~f:RuleMatch.to_value));("priority",(Option.mapx.priority~f:RulePriority.to_value));("action",(Option.mapx.action~f:RuleAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"action")inletpriority=(Option.map~f:RulePriority.of_xml)(Xml.childxml_arg0"priority")inletmatch_=(Option.map~f:RuleMatch.of_xml)(Xml.childxml_arg0"match")inletruleIdentifier=RuleIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"ruleIdentifier")inmake?action?priority?match_~ruleIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaction=field_mapjson__"action"RuleAction.of_jsoninletpriority=field_mapjson__"priority"RulePriority.of_jsoninletmatch_=field_mapjson__"match"RuleMatch.of_jsoninletruleIdentifier=field_map_exnjson__"ruleIdentifier"RuleIdentifier.of_jsoninmake?action?priority?match_~ruleIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a rule update."]moduleAccessDeniedException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The user does not have sufficient access to perform this action."]moduleConflictException=structtypenonrect={message:String_.toption;resourceId:String_.toption[@ocaml.doc"The resource ID."];resourceType:String_.toption[@ocaml.doc"The resource type."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("resourceId",(Option.mapx.resourceId~f:String_.to_value));("resourceType",(Option.mapx.resourceType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"String_.of_jsoninletresourceId=field_mapjson__"resourceId"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request conflicts with the current state of the resource. Updating or deleting a resource can cause an inconsistent state."]moduleInternalServerException=structtypenonrect={message:String_.toption;retryAfterSeconds:Integer.toption[@ocaml.doc"The number of seconds to wait before retrying."]}letmake?message=fun?retryAfterSeconds->fun()->{message;retryAfterSeconds}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("Retry-After",(Option.mapx.retryAfterSeconds~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letretryAfterSeconds=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"Retry-After")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?retryAfterSeconds?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letretryAfterSeconds=field_mapjson__"retryAfterSeconds"Integer.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?retryAfterSeconds?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An unexpected error occurred while processing the request."]moduleResourceNotFoundException=structtypenonrect={message:String_.toption;resourceId:String_.toption[@ocaml.doc"The resource ID."];resourceType:String_.toption[@ocaml.doc"The resource type."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("resourceId",(Option.mapx.resourceId~f:String_.to_value));("resourceType",(Option.mapx.resourceType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"String_.of_jsoninletresourceId=field_mapjson__"resourceId"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request references a resource that does not exist."]moduleServiceQuotaExceededException=structtypenonrect={message:String_.toption;resourceId:String_.toption[@ocaml.doc"The resource ID."];resourceType:String_.toption[@ocaml.doc"The resource type."];serviceCode:String_.toption[@ocaml.doc"The service code."];quotaCode:String_.toption[@ocaml.doc"The ID of the service quota that was exceeded."]}letmake?message=fun?resourceId->fun?resourceType->fun?serviceCode->fun?quotaCode->fun()->{message;resourceId;resourceType;serviceCode;quotaCode}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("resourceId",(Option.mapx.resourceId~f:String_.to_value));("resourceType",(Option.mapx.resourceType~f:String_.to_value));("serviceCode",(Option.mapx.serviceCode~f:String_.to_value));("quotaCode",(Option.mapx.quotaCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letquotaCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"quotaCode")inletserviceCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"serviceCode")inletresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?quotaCode?serviceCode?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letquotaCode=field_mapjson__"quotaCode"String_.of_jsoninletserviceCode=field_mapjson__"serviceCode"String_.of_jsoninletresourceType=field_mapjson__"resourceType"String_.of_jsoninletresourceId=field_mapjson__"resourceId"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?quotaCode?serviceCode?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request would cause a service quota to be exceeded."]moduleTargetGroupConfig=structtypenonrect={port:Port.toption[@ocaml.doc"The port on which the targets are listening. For HTTP, the default is 80. For HTTPS, the default is 443. Not supported if the target group type is LAMBDA."];protocol:TargetGroupProtocol.toption[@ocaml.doc"The protocol to use for routing traffic to the targets. The default is the protocol of the target group. Not supported if the target group type is LAMBDA."];protocolVersion:TargetGroupProtocolVersion.toption[@ocaml.doc"The protocol version. The default is HTTP1. Not supported if the target group type is LAMBDA."];ipAddressType:IpAddressType.toption[@ocaml.doc"The type of IP address used for the target group. Supported only if the target group type is IP. The default is IPV4."];vpcIdentifier:VpcId.toption[@ocaml.doc"The ID of the VPC. Not supported if the target group type is LAMBDA."];healthCheck:HealthCheckConfig.toption[@ocaml.doc"The health check configuration. Not supported if the target group type is LAMBDA or ALB."];lambdaEventStructureVersion:LambdaEventStructureVersion.toption[@ocaml.doc"The version of the event structure that your Lambda function receives. Supported only if the target group type is LAMBDA. The default is V1."]}letmake?port=fun?protocol->fun?protocolVersion->fun?ipAddressType->fun?vpcIdentifier->fun?healthCheck->fun?lambdaEventStructureVersion->fun()->{port;protocol;protocolVersion;ipAddressType;vpcIdentifier;healthCheck;lambdaEventStructureVersion}letto_valuex=structure_to_value[("port",(Option.mapx.port~f:Port.to_value));("protocol",(Option.mapx.protocol~f:TargetGroupProtocol.to_value));("protocolVersion",(Option.mapx.protocolVersion~f:TargetGroupProtocolVersion.to_value));("ipAddressType",(Option.mapx.ipAddressType~f:IpAddressType.to_value));("vpcIdentifier",(Option.mapx.vpcIdentifier~f:VpcId.to_value));("healthCheck",(Option.mapx.healthCheck~f:HealthCheckConfig.to_value));("lambdaEventStructureVersion",(Option.mapx.lambdaEventStructureVersion~f:LambdaEventStructureVersion.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlambdaEventStructureVersion=(Option.map~f:LambdaEventStructureVersion.of_xml)(Xml.childxml_arg0"lambdaEventStructureVersion")inlethealthCheck=(Option.map~f:HealthCheckConfig.of_xml)(Xml.childxml_arg0"healthCheck")inletvpcIdentifier=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcIdentifier")inletipAddressType=(Option.map~f:IpAddressType.of_xml)(Xml.childxml_arg0"ipAddressType")inletprotocolVersion=(Option.map~f:TargetGroupProtocolVersion.of_xml)(Xml.childxml_arg0"protocolVersion")inletprotocol=(Option.map~f:TargetGroupProtocol.of_xml)(Xml.childxml_arg0"protocol")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inmake?lambdaEventStructureVersion?healthCheck?vpcIdentifier?ipAddressType?protocolVersion?protocol?port()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlambdaEventStructureVersion=field_mapjson__"lambdaEventStructureVersion"LambdaEventStructureVersion.of_jsoninlethealthCheck=field_mapjson__"healthCheck"HealthCheckConfig.of_jsoninletvpcIdentifier=field_mapjson__"vpcIdentifier"VpcId.of_jsoninletipAddressType=field_mapjson__"ipAddressType"IpAddressType.of_jsoninletprotocolVersion=field_mapjson__"protocolVersion"TargetGroupProtocolVersion.of_jsoninletprotocol=field_mapjson__"protocol"TargetGroupProtocol.of_jsoninletport=field_mapjson__"port"Port.of_jsoninmake?lambdaEventStructureVersion?healthCheck?vpcIdentifier?ipAddressType?protocolVersion?protocol?port()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes the configuration of a target group. For more information, see Target groups in the Amazon VPC Lattice User Guide."]moduleThrottlingException=structtypenonrect={message:String_.toption;serviceCode:String_.toption[@ocaml.doc"The service code."];quotaCode:String_.toption[@ocaml.doc"The ID of the service quota that was exceeded."];retryAfterSeconds:Integer.toption[@ocaml.doc"The number of seconds to wait before retrying."]}letmake?message=fun?serviceCode->fun?quotaCode->fun?retryAfterSeconds->fun()->{message;serviceCode;quotaCode;retryAfterSeconds}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("serviceCode",(Option.mapx.serviceCode~f:String_.to_value));("quotaCode",(Option.mapx.quotaCode~f:String_.to_value));("Retry-After",(Option.mapx.retryAfterSeconds~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letretryAfterSeconds=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"Retry-After")inletquotaCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"quotaCode")inletserviceCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"serviceCode")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?retryAfterSeconds?quotaCode?serviceCode?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letretryAfterSeconds=field_mapjson__"retryAfterSeconds"Integer.of_jsoninletquotaCode=field_mapjson__"quotaCode"String_.of_jsoninletserviceCode=field_mapjson__"serviceCode"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?retryAfterSeconds?quotaCode?serviceCode?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The limit on the number of requests per second was exceeded."]moduleValidationException=structtypenonrect={message:String_.toption;reason:ValidationExceptionReason.toption[@ocaml.doc"The reason."];fieldList:ValidationExceptionFieldList.toption[@ocaml.doc"The fields that failed validation."]}letmake?message=fun?reason->fun?fieldList->fun()->{message;reason;fieldList}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("reason",(Option.mapx.reason~f:ValidationExceptionReason.to_value));("fieldList",(Option.mapx.fieldList~f:ValidationExceptionFieldList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfieldList=(Option.map~f:ValidationExceptionFieldList.of_xml)(Xml.childxml_arg0"fieldList")inletreason=(Option.map~f:ValidationExceptionReason.of_xml)(Xml.childxml_arg0"reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?fieldList?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfieldList=field_mapjson__"fieldList"ValidationExceptionFieldList.of_jsoninletreason=field_mapjson__"reason"ValidationExceptionReason.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?fieldList?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input does not satisfy the constraints specified by an Amazon Web Services service."]moduleAuthType=structtypenonrect=|NONE|AWS_IAM|Non_static_idofstringletmakei=iletto_string=function|NONE->"NONE"|AWS_IAM->"AWS_IAM"|Non_static_ids->sletof_string=function|"NONE"->NONE|"AWS_IAM"->AWS_IAM|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 AuthType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AuthType"j)letto_json=simple_to_jsonto_valueendmoduleCertificateArn=structtypenonrect=stringletcontext_="CertificateArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:certificate/[0-9a-z-]+)?")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CertificateArn"jletto_json=simple_to_jsonto_valueendmoduleServiceIdentifier=structtypenonrect=stringletcontext_="ServiceIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:17)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((svc-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceIdentifier"jletto_json=simple_to_jsonto_valueendmoduleServiceNetworkVpcAssociationIdentifier=structtypenonrect=stringletcontext_="ServiceNetworkVpcAssociationIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:17)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((snva-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkvpcassociation/snva-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkVpcAssociationIdentifier"jletto_json=simple_to_jsonto_valueendmoduleUpdateServiceNetworkVpcAssociationRequestSecurityGroupIdsList=structtypenonrect=SecurityGroupId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityGroupId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityGroupId.of_xml)letof_jsonj=list_of_json~kind:"UpdateServiceNetworkVpcAssociationRequestSecurityGroupIdsList"~of_json:SecurityGroupId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceNetworkIdentifier=structtypenonrect=stringletcontext_="ServiceNetworkIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((sn-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetwork/sn-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkIdentifier"jletto_json=simple_to_jsonto_valueendmoduleListenerIdentifier=structtypenonrect=stringletcontext_="ListenerIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((listener-[0-9a-z]{17})|(^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:service/svc-[0-9a-z]{17}/listener/listener-[0-9a-z]{17}$))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ListenerIdentifier"jletto_json=simple_to_jsonto_valueendmoduleResourceGatewayIdentifier=structtypenonrect=stringletcontext_="ResourceGatewayIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:17)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((rgw-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourcegateway/rgw-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceGatewayIdentifier"jletto_json=simple_to_jsonto_valueendmoduleUpdateResourceGatewayRequestSecurityGroupIdsList=structtypenonrect=SecurityGroupId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityGroupId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityGroupId.of_xml)letof_jsonj=list_of_json~kind:"UpdateResourceGatewayRequestSecurityGroupIdsList"~of_json:SecurityGroupId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePortRangeList=structtypenonrect=PortRange.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:PortRange.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:PortRange.of_xml)letof_jsonj=list_of_json~kind:"PortRangeList"~of_json:PortRange.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleProtocolType=structtypenonrect=|TCP|Non_static_idofstringletmakei=iletto_string=function|TCP->"TCP"|Non_static_ids->sletof_string=function|"TCP"->TCP|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 ProtocolType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ProtocolType"j)letto_json=simple_to_jsonto_valueendmoduleResourceConfigurationDefinition=structtypenonrect={dnsResource:DnsResource.toption[@ocaml.doc"The DNS name of the resource."];ipResource:IpResource.toption[@ocaml.doc"The IP resource."];arnResource:ArnResource.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."]}letmake?dnsResource=fun?ipResource->fun?arnResource->fun()->{dnsResource;ipResource;arnResource}letto_valuex=structure_to_value[("dnsResource",(Option.mapx.dnsResource~f:DnsResource.to_value));("ipResource",(Option.mapx.ipResource~f:IpResource.to_value));("arnResource",(Option.mapx.arnResource~f:ArnResource.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarnResource=(Option.map~f:ArnResource.of_xml)(Xml.childxml_arg0"arnResource")inletipResource=(Option.map~f:IpResource.of_xml)(Xml.childxml_arg0"ipResource")inletdnsResource=(Option.map~f:DnsResource.of_xml)(Xml.childxml_arg0"dnsResource")inmake?arnResource?ipResource?dnsResource()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarnResource=field_mapjson__"arnResource"ArnResource.of_jsoninletipResource=field_mapjson__"ipResource"IpResource.of_jsoninletdnsResource=field_mapjson__"dnsResource"DnsResource.of_jsoninmake?arnResource?ipResource?dnsResource()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a resource configuration."]moduleResourceConfigurationIdentifier=structtypenonrect=stringletcontext_="ResourceConfigurationIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((rcfg-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceConfigurationIdentifier"jletto_json=simple_to_jsonto_valueendmoduleAccessLogSubscriptionIdentifier=structtypenonrect=stringletcontext_="AccessLogSubscriptionIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:17)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((als-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:accesslogsubscription/als-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccessLogSubscriptionIdentifier"jletto_json=simple_to_jsonto_valueendmoduleArn=structtypenonrect=stringletcontext_="Arn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1224)>>=(fun()->check_patterni~pattern:"arn:[a-z0-9][-.a-z0-9]{0,62}:vpc-lattice:([a-z0-9][-.a-z0-9]{0,62})?:\\d{12}?:[^/].{0,1023}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Arn"jletto_json=simple_to_jsonto_valueendmoduleTagKeys=structtypenonrect=TagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TagKey.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:TagKey.of_xml)letof_jsonj=list_of_json~kind:"TagKeys"~of_json:TagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleClientToken=structtypenonrect=stringletcontext_="ClientToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:".*[!-~]+.*")));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_valueendmoduleTargetFailureList=structtypenonrect=TargetFailure.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TargetFailure.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:TargetFailure.of_xml)letof_jsonj=list_of_json~kind:"TargetFailureList"~of_json:TargetFailure.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTargetList=structtypenonrect=Target.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Target.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:Target.of_xml)letof_jsonj=list_of_json~kind:"TargetList"~of_json:Target.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegisterTargetsRequestTargetsList=structtypenonrect=Target.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Target.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:Target.of_xml)letof_jsonj=list_of_json~kind:"RegisterTargetsRequestTargetsList"~of_json:Target.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePolicyString=structtypenonrect=stringletcontext_="PolicyString"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:10000)>>=(fun()->check_patterni~pattern:".*\\S.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PolicyString"jletto_json=simple_to_jsonto_valueendmoduleAuthPolicyState=structtypenonrect=|Active|Inactive|Non_static_idofstringletmakei=iletto_string=function|Active->"Active"|Inactive->"Inactive"|Non_static_ids->sletof_string=function|"Active"->Active|"Inactive"->Inactive|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 AuthPolicyState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AuthPolicyState"j)letto_json=simple_to_jsonto_valueendmoduleAuthPolicyString=structtypenonrect=stringletcontext_="AuthPolicyString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:36864)>>=(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:"AuthPolicyString"jletto_json=simple_to_jsonto_valueendmoduleResourceIdentifier=structtypenonrect=stringletcontext_="ResourceIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:17)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"((((sn)|(svc)|(rcfg))-[0-9a-z]{17})|(arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:((servicenetwork/sn)|(resourceconfiguration/rcfg)|(service/svc))-[0-9a-z]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceIdentifier"jletto_json=simple_to_jsonto_valueendmoduleNextToken=structtypenonrect=stringletcontext_="NextToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(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:"NextToken"jletto_json=simple_to_jsonto_valueendmoduleTargetSummaryList=structtypenonrect=TargetSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TargetSummary.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:TargetSummary.of_xml)letof_jsonj=list_of_json~kind:"TargetSummaryList"~of_json:TargetSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListTargetsRequestTargetsList=structtypenonrect=Target.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:20)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Target.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:Target.of_xml)letof_jsonj=list_of_json~kind:"ListTargetsRequestTargetsList"~of_json:Target.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleTargetGroupList=structtypenonrect=TargetGroupSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TargetGroupSummary.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:TargetGroupSummary.of_xml)letof_jsonj=list_of_json~kind:"TargetGroupList"~of_json:TargetGroupSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceList=structtypenonrect=ServiceSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ServiceSummary.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:ServiceSummary.of_xml)letof_jsonj=list_of_json~kind:"ServiceList"~of_json:ServiceSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceNetworkList=structtypenonrect=ServiceNetworkSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ServiceNetworkSummary.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:ServiceNetworkSummary.of_xml)letof_jsonj=list_of_json~kind:"ServiceNetworkList"~of_json:ServiceNetworkSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceNetworkVpcEndpointAssociationList=structtypenonrect=ServiceNetworkEndpointAssociation.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ServiceNetworkEndpointAssociation.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:ServiceNetworkEndpointAssociation.of_xml)letof_jsonj=list_of_json~kind:"ServiceNetworkVpcEndpointAssociationList"~of_json:ServiceNetworkEndpointAssociation.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceNetworkVpcAssociationList=structtypenonrect=ServiceNetworkVpcAssociationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ServiceNetworkVpcAssociationSummary.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:ServiceNetworkVpcAssociationSummary.of_xml)letof_jsonj=list_of_json~kind:"ServiceNetworkVpcAssociationList"~of_json:ServiceNetworkVpcAssociationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceNetworkServiceAssociationList=structtypenonrect=ServiceNetworkServiceAssociationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ServiceNetworkServiceAssociationSummary.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:ServiceNetworkServiceAssociationSummary.of_xml)letof_jsonj=list_of_json~kind:"ServiceNetworkServiceAssociationList"~of_json:ServiceNetworkServiceAssociationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceNetworkResourceAssociationList=structtypenonrect=ServiceNetworkResourceAssociationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ServiceNetworkResourceAssociationSummary.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:ServiceNetworkResourceAssociationSummary.of_xml)letof_jsonj=list_of_json~kind:"ServiceNetworkResourceAssociationList"~of_json:ServiceNetworkResourceAssociationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRuleSummaryList=structtypenonrect=RuleSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RuleSummary.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:RuleSummary.of_xml)letof_jsonj=list_of_json~kind:"RuleSummaryList"~of_json:RuleSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleResourceGatewayList=structtypenonrect=ResourceGatewaySummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ResourceGatewaySummary.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:ResourceGatewaySummary.of_xml)letof_jsonj=list_of_json~kind:"ResourceGatewayList"~of_json:ResourceGatewaySummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleResourceEndpointAssociationList=structtypenonrect=ResourceEndpointAssociationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ResourceEndpointAssociationSummary.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:ResourceEndpointAssociationSummary.of_xml)letof_jsonj=list_of_json~kind:"ResourceEndpointAssociationList"~of_json:ResourceEndpointAssociationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleResourceEndpointAssociationIdentifier=structtypenonrect=stringletcontext_="ResourceEndpointAssociationIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:21)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((rea-[0-9a-f]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceendpointassociation/rea-[0-9a-f]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceEndpointAssociationIdentifier"jletto_json=simple_to_jsonto_valueendmoduleResourceConfigurationSummaryList=structtypenonrect=ResourceConfigurationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ResourceConfigurationSummary.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:ResourceConfigurationSummary.of_xml)letof_jsonj=list_of_json~kind:"ResourceConfigurationSummaryList"~of_json:ResourceConfigurationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDomainVerificationIdentifier=structtypenonrect=stringletcontext_="DomainVerificationIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((dv-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:domainverification/dv-[a-fA-F0-9]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DomainVerificationIdentifier"jletto_json=simple_to_jsonto_valueendmoduleListenerSummaryList=structtypenonrect=ListenerSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ListenerSummary.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:ListenerSummary.of_xml)letof_jsonj=list_of_json~kind:"ListenerSummaryList"~of_json:ListenerSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDomainVerificationList=structtypenonrect=DomainVerificationSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DomainVerificationSummary.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:DomainVerificationSummary.of_xml)letof_jsonj=list_of_json~kind:"DomainVerificationList"~of_json:DomainVerificationSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAccessLogSubscriptionList=structtypenonrect=AccessLogSubscriptionSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AccessLogSubscriptionSummary.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:AccessLogSubscriptionSummary.of_xml)letof_jsonj=list_of_json~kind:"AccessLogSubscriptionList"~of_json:AccessLogSubscriptionSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSharingConfig=structtypenonrect={enabled:Boolean.toption[@ocaml.doc"Specifies if the service network is enabled for sharing."]}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 if the service network should be enabled for sharing."]moduleServiceNetworkResourceAssociationIdentifier=structtypenonrect=stringletcontext_="ServiceNetworkResourceAssociationIdentifier"letmakei=letopenResultinok_or_failwith((check_string_mini~min:22)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"((snra-[0-9a-z]{17})|(arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:servicenetworkresourceassociation/snra-[0-9a-f]{17}))")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceNetworkResourceAssociationIdentifier"jletto_json=simple_to_jsonto_valueendmoduleDeregisterTargetsRequestTargetsList=structtypenonrect=Target.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Target.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:Target.of_xml)letof_jsonj=list_of_json~kind:"DeregisterTargetsRequestTargetsList"~of_json:Target.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCreateServiceNetworkVpcAssociationRequestSecurityGroupIdsList=structtypenonrect=SecurityGroupId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityGroupId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityGroupId.of_xml)letof_jsonj=list_of_json~kind:"CreateServiceNetworkVpcAssociationRequestSecurityGroupIdsList"~of_json:SecurityGroupId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCreateResourceGatewayRequestSecurityGroupIdsList=structtypenonrect=SecurityGroupId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:5)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SecurityGroupId.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:SecurityGroupId.of_xml)letof_jsonj=list_of_json~kind:"CreateResourceGatewayRequestSecurityGroupIdsList"~of_json:SecurityGroupId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRuleUpdateFailureList=structtypenonrect=RuleUpdateFailure.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RuleUpdateFailure.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:RuleUpdateFailure.of_xml)letof_jsonj=list_of_json~kind:"RuleUpdateFailureList"~of_json:RuleUpdateFailure.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRuleUpdateSuccessList=structtypenonrect=RuleUpdateSuccess.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RuleUpdateSuccess.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:RuleUpdateSuccess.of_xml)letof_jsonj=list_of_json~kind:"RuleUpdateSuccessList"~of_json:RuleUpdateSuccess.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRuleUpdateList=structtypenonrect=RuleUpdate.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RuleUpdate.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:RuleUpdate.of_xml)letof_jsonj=list_of_json~kind:"RuleUpdateList"~of_json:RuleUpdate.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateTargetGroupResponse=structtypenonrect={id:TargetGroupId.toption[@ocaml.doc"The ID of the target group."];arn:TargetGroupArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the target group."];name:TargetGroupName.toption[@ocaml.doc"The name of the target group."];type_:TargetGroupType.toption[@ocaml.doc"The target group type."];config:TargetGroupConfig.toption[@ocaml.doc"The target group configuration."];status:TargetGroupStatus.toption[@ocaml.doc"The status."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?name->fun?type_->fun?config->fun?status->fun()->{id;arn;name;type_;config;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:TargetGroupId.to_value));("arn",(Option.mapx.arn~f:TargetGroupArn.to_value));("name",(Option.mapx.name~f:TargetGroupName.to_value));("type",(Option.mapx.type_~f:TargetGroupType.to_value));("config",(Option.mapx.config~f:TargetGroupConfig.to_value));("status",(Option.mapx.status~f:TargetGroupStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:TargetGroupStatus.of_xml)(Xml.childxml_arg0"status")inletconfig=(Option.map~f:TargetGroupConfig.of_xml)(Xml.childxml_arg0"config")inlettype_=(Option.map~f:TargetGroupType.of_xml)(Xml.childxml_arg0"type")inletname=(Option.map~f:TargetGroupName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:TargetGroupArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:TargetGroupId.of_xml)(Xml.childxml_arg0"id")inmake?status?config?type_?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"TargetGroupStatus.of_jsoninletconfig=field_mapjson__"config"TargetGroupConfig.of_jsoninlettype_=field_mapjson__"type"TargetGroupType.of_jsoninletname=field_mapjson__"name"TargetGroupName.of_jsoninletarn=field_mapjson__"arn"TargetGroupArn.of_jsoninletid=field_mapjson__"id"TargetGroupId.of_jsoninmake?status?config?type_?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified target group."]moduleUpdateTargetGroupRequest=structtypenonrect={targetGroupIdentifier:TargetGroupIdentifier.t[@ocaml.doc"The ID or ARN of the target group."];healthCheck:HealthCheckConfig.t[@ocaml.doc"The health check configuration."]}letcontext_="UpdateTargetGroupRequest"letmake~targetGroupIdentifier=fun~healthCheck->fun()->{targetGroupIdentifier;healthCheck}letto_valuex=structure_to_value[("targetGroupIdentifier",(Some(TargetGroupIdentifier.to_valuex.targetGroupIdentifier)));("healthCheck",(Some(HealthCheckConfig.to_valuex.healthCheck)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethealthCheck=HealthCheckConfig.of_xml(Xml.child_exn~context:context_xml_arg0"healthCheck")inlettargetGroupIdentifier=TargetGroupIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"targetGroupIdentifier")inmake~healthCheck~targetGroupIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethealthCheck=field_map_exnjson__"healthCheck"HealthCheckConfig.of_jsoninlettargetGroupIdentifier=field_map_exnjson__"targetGroupIdentifier"TargetGroupIdentifier.of_jsoninmake~healthCheck~targetGroupIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified target group."]moduleUpdateServiceResponse=structtypenonrect={id:ServiceId.toption[@ocaml.doc"The ID of the service."];arn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];name:ServiceName.toption[@ocaml.doc"The name of the service."];customDomainName:ServiceCustomDomainName.toption[@ocaml.doc"The custom domain name of the service."];certificateArn:CertificateArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the certificate."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?name->fun?customDomainName->fun?certificateArn->fun?authType->fun()->{id;arn;name;customDomainName;certificateArn;authType}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceId.to_value));("arn",(Option.mapx.arn~f:ServiceArn.to_value));("name",(Option.mapx.name~f:ServiceName.to_value));("customDomainName",(Option.mapx.customDomainName~f:ServiceCustomDomainName.to_value));("certificateArn",(Option.mapx.certificateArn~f:CertificateArn.to_value));("authType",(Option.mapx.authType~f:AuthType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletcertificateArn=(Option.map~f:CertificateArn.of_xml)(Xml.childxml_arg0"certificateArn")inletcustomDomainName=(Option.map~f:ServiceCustomDomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletname=(Option.map~f:ServiceName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"id")inmake?authType?certificateArn?customDomainName?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthType=field_mapjson__"authType"AuthType.of_jsoninletcertificateArn=field_mapjson__"certificateArn"CertificateArn.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"ServiceCustomDomainName.of_jsoninletname=field_mapjson__"name"ServiceName.of_jsoninletarn=field_mapjson__"arn"ServiceArn.of_jsoninletid=field_mapjson__"id"ServiceId.of_jsoninmake?authType?certificateArn?customDomainName?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified service."]moduleUpdateServiceRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];certificateArn:CertificateArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the certificate."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy. NONE: The resource does not use an IAM policy. This is the default. AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required."]}letcontext_="UpdateServiceRequest"letmake?certificateArn=fun?authType->fun~serviceIdentifier->fun()->{certificateArn;authType;serviceIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("certificateArn",(Option.mapx.certificateArn~f:CertificateArn.to_value));("authType",(Option.mapx.authType~f:AuthType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletcertificateArn=(Option.map~f:CertificateArn.of_xml)(Xml.childxml_arg0"certificateArn")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake?authType?certificateArn~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthType=field_mapjson__"authType"AuthType.of_jsoninletcertificateArn=field_mapjson__"certificateArn"CertificateArn.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake?authType?certificateArn~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified service."]moduleUpdateServiceNetworkVpcAssociationResponse=structtypenonrect={id:ServiceNetworkVpcAssociationId.toption[@ocaml.doc"The ID of the association."];arn:ServiceNetworkVpcAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];status:ServiceNetworkVpcAssociationStatus.toption[@ocaml.doc"The status. You can retry the operation if the status is DELETE_FAILED. However, if you retry it while the status is DELETE_IN_PROGRESS, there is no change in the status."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];securityGroupIds:SecurityGroupList.toption[@ocaml.doc"The IDs of the security groups."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?status->fun?createdBy->fun?securityGroupIds->fun()->{id;arn;status;createdBy;securityGroupIds}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkVpcAssociationId.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkVpcAssociationArn.to_value));("status",(Option.mapx.status~f:ServiceNetworkVpcAssociationStatus.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroupIds=(Option.map~f:SecurityGroupList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletstatus=(Option.map~f:ServiceNetworkVpcAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ServiceNetworkVpcAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceNetworkVpcAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?securityGroupIds?createdBy?status?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupList.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkVpcAssociationStatus.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkVpcAssociationArn.of_jsoninletid=field_mapjson__"id"ServiceNetworkVpcAssociationId.of_jsoninmake?securityGroupIds?createdBy?status?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and then recreate it without security groups."]moduleUpdateServiceNetworkVpcAssociationRequest=structtypenonrect={serviceNetworkVpcAssociationIdentifier:ServiceNetworkVpcAssociationIdentifier.t[@ocaml.doc"The ID or ARN of the association."];securityGroupIds:UpdateServiceNetworkVpcAssociationRequestSecurityGroupIdsList.t[@ocaml.doc"The IDs of the security groups."]}letcontext_="UpdateServiceNetworkVpcAssociationRequest"letmake~serviceNetworkVpcAssociationIdentifier=fun~securityGroupIds->fun()->{serviceNetworkVpcAssociationIdentifier;securityGroupIds}letto_valuex=structure_to_value[("serviceNetworkVpcAssociationIdentifier",(Some(ServiceNetworkVpcAssociationIdentifier.to_valuex.serviceNetworkVpcAssociationIdentifier)));("securityGroupIds",(Some(UpdateServiceNetworkVpcAssociationRequestSecurityGroupIdsList.to_valuex.securityGroupIds)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroupIds=UpdateServiceNetworkVpcAssociationRequestSecurityGroupIdsList.of_xml(Xml.child_exn~context:context_xml_arg0"securityGroupIds")inletserviceNetworkVpcAssociationIdentifier=ServiceNetworkVpcAssociationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkVpcAssociationIdentifier")inmake~securityGroupIds~serviceNetworkVpcAssociationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroupIds=field_map_exnjson__"securityGroupIds"UpdateServiceNetworkVpcAssociationRequestSecurityGroupIdsList.of_jsoninletserviceNetworkVpcAssociationIdentifier=field_map_exnjson__"serviceNetworkVpcAssociationIdentifier"ServiceNetworkVpcAssociationIdentifier.of_jsoninmake~securityGroupIds~serviceNetworkVpcAssociationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the service network and VPC association. If you add a security group to the service network and VPC association, the association must continue to have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and then recreate it without security groups."]moduleUpdateServiceNetworkResponse=structtypenonrect={id:ServiceNetworkId.toption[@ocaml.doc"The ID of the service network."];name:ServiceNetworkName.toption[@ocaml.doc"The name of the service network."];arn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?name->fun?arn->fun?authType->fun()->{id;name;arn;authType}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkId.to_value));("name",(Option.mapx.name~f:ServiceNetworkName.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkArn.to_value));("authType",(Option.mapx.authType~f:AuthType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletarn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ServiceNetworkName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ServiceNetworkId.of_xml)(Xml.childxml_arg0"id")inmake?authType?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthType=field_mapjson__"authType"AuthType.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkArn.of_jsoninletname=field_mapjson__"name"ServiceNetworkName.of_jsoninletid=field_mapjson__"id"ServiceNetworkId.of_jsoninmake?authType?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified service network."]moduleUpdateServiceNetworkRequest=structtypenonrect={serviceNetworkIdentifier:ServiceNetworkIdentifier.t[@ocaml.doc"The ID or ARN of the service network."];authType:AuthType.t[@ocaml.doc"The type of IAM policy. NONE: The resource does not use an IAM policy. This is the default. AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required."]}letcontext_="UpdateServiceNetworkRequest"letmake~serviceNetworkIdentifier=fun~authType->fun()->{serviceNetworkIdentifier;authType}letto_valuex=structure_to_value[("serviceNetworkIdentifier",(Some(ServiceNetworkIdentifier.to_valuex.serviceNetworkIdentifier)));("authType",(Some(AuthType.to_valuex.authType)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthType=AuthType.of_xml(Xml.child_exn~context:context_xml_arg0"authType")inletserviceNetworkIdentifier=ServiceNetworkIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkIdentifier")inmake~authType~serviceNetworkIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthType=field_map_exnjson__"authType"AuthType.of_jsoninletserviceNetworkIdentifier=field_map_exnjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninmake~authType~serviceNetworkIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified service network."]moduleUpdateRuleResponse=structtypenonrect={arn:RuleArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the listener."];id:RuleId.toption[@ocaml.doc"The ID of the listener."];name:RuleName.toption[@ocaml.doc"The name of the listener."];isDefault:Boolean.toption[@ocaml.doc"Indicates whether this is the default rule."];match_:RuleMatch.toption[@ocaml.doc"The rule match."];priority:RulePriority.toption[@ocaml.doc"The rule priority."];action:RuleAction.toption[@ocaml.doc"Information about the action for the specified listener rule."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun?name->fun?isDefault->fun?match_->fun?priority->fun?action->fun()->{arn;id;name;isDefault;match_;priority;action}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("arn",(Option.mapx.arn~f:RuleArn.to_value));("id",(Option.mapx.id~f:RuleId.to_value));("name",(Option.mapx.name~f:RuleName.to_value));("isDefault",(Option.mapx.isDefault~f:Boolean.to_value));("match",(Option.mapx.match_~f:RuleMatch.to_value));("priority",(Option.mapx.priority~f:RulePriority.to_value));("action",(Option.mapx.action~f:RuleAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"action")inletpriority=(Option.map~f:RulePriority.of_xml)(Xml.childxml_arg0"priority")inletmatch_=(Option.map~f:RuleMatch.of_xml)(Xml.childxml_arg0"match")inletisDefault=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isDefault")inletname=(Option.map~f:RuleName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:RuleId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:RuleArn.of_xml)(Xml.childxml_arg0"arn")inmake?action?priority?match_?isDefault?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaction=field_mapjson__"action"RuleAction.of_jsoninletpriority=field_mapjson__"priority"RulePriority.of_jsoninletmatch_=field_mapjson__"match"RuleMatch.of_jsoninletisDefault=field_mapjson__"isDefault"Boolean.of_jsoninletname=field_mapjson__"name"RuleName.of_jsoninletid=field_mapjson__"id"RuleId.of_jsoninletarn=field_mapjson__"arn"RuleArn.of_jsoninmake?action?priority?match_?isDefault?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a specified rule for the listener. You can't modify a default listener rule. To modify a default listener rule, use UpdateListener."]moduleUpdateRuleRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."];ruleIdentifier:RuleIdentifier.t[@ocaml.doc"The ID or ARN of the rule."];match_:RuleMatch.toption[@ocaml.doc"The rule match."];priority:RulePriority.toption[@ocaml.doc"The rule priority. A listener can't have multiple rules with the same priority."];action:RuleAction.toption[@ocaml.doc"Information about the action for the specified listener rule."]}letcontext_="UpdateRuleRequest"letmake?match_=fun?priority->fun?action->fun~serviceIdentifier->fun~listenerIdentifier->fun~ruleIdentifier->fun()->{match_;priority;action;serviceIdentifier;listenerIdentifier;ruleIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)));("ruleIdentifier",(Some(RuleIdentifier.to_valuex.ruleIdentifier)));("match",(Option.mapx.match_~f:RuleMatch.to_value));("priority",(Option.mapx.priority~f:RulePriority.to_value));("action",(Option.mapx.action~f:RuleAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"action")inletpriority=(Option.map~f:RulePriority.of_xml)(Xml.childxml_arg0"priority")inletmatch_=(Option.map~f:RuleMatch.of_xml)(Xml.childxml_arg0"match")inletruleIdentifier=RuleIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"ruleIdentifier")inletlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake?action?priority?match_~ruleIdentifier~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaction=field_mapjson__"action"RuleAction.of_jsoninletpriority=field_mapjson__"priority"RulePriority.of_jsoninletmatch_=field_mapjson__"match"RuleMatch.of_jsoninletruleIdentifier=field_map_exnjson__"ruleIdentifier"RuleIdentifier.of_jsoninletlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake?action?priority?match_~ruleIdentifier~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates a specified rule for the listener. You can't modify a default listener rule. To modify a default listener rule, use UpdateListener."]moduleUpdateResourceGatewayResponse=structtypenonrect={name:ResourceGatewayName.toption[@ocaml.doc"The name of the resource gateway."];id:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway."];arn:ResourceGatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource gateway."];status:ResourceGatewayStatus.toption[@ocaml.doc"The status of the resource gateway."];vpcId:VpcId.toption[@ocaml.doc"The ID of the VPC for the resource gateway."];subnetIds:SubnetList.toption[@ocaml.doc"The IDs of the VPC subnets for the resource gateway."];securityGroupIds:SecurityGroupList.toption[@ocaml.doc"The IDs of the security groups associated with the resource gateway."];ipAddressType:IpAddressType.toption[@ocaml.doc"The type of IP address used by the resource gateway."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?name=fun?id->fun?arn->fun?status->fun?vpcId->fun?subnetIds->fun?securityGroupIds->fun?ipAddressType->fun()->{name;id;arn;status;vpcId;subnetIds;securityGroupIds;ipAddressType}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("name",(Option.mapx.name~f:ResourceGatewayName.to_value));("id",(Option.mapx.id~f:ResourceGatewayId.to_value));("arn",(Option.mapx.arn~f:ResourceGatewayArn.to_value));("status",(Option.mapx.status~f:ResourceGatewayStatus.to_value));("vpcId",(Option.mapx.vpcId~f:VpcId.to_value));("subnetIds",(Option.mapx.subnetIds~f:SubnetList.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupList.to_value));("ipAddressType",(Option.mapx.ipAddressType~f:IpAddressType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letipAddressType=(Option.map~f:IpAddressType.of_xml)(Xml.childxml_arg0"ipAddressType")inletsecurityGroupIds=(Option.map~f:SecurityGroupList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletsubnetIds=(Option.map~f:SubnetList.of_xml)(Xml.childxml_arg0"subnetIds")inletvpcId=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcId")inletstatus=(Option.map~f:ResourceGatewayStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ResourceGatewayArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:ResourceGatewayName.of_xml)(Xml.childxml_arg0"name")inmake?ipAddressType?securityGroupIds?subnetIds?vpcId?status?arn?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letipAddressType=field_mapjson__"ipAddressType"IpAddressType.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupList.of_jsoninletsubnetIds=field_mapjson__"subnetIds"SubnetList.of_jsoninletvpcId=field_mapjson__"vpcId"VpcId.of_jsoninletstatus=field_mapjson__"status"ResourceGatewayStatus.of_jsoninletarn=field_mapjson__"arn"ResourceGatewayArn.of_jsoninletid=field_mapjson__"id"ResourceGatewayId.of_jsoninletname=field_mapjson__"name"ResourceGatewayName.of_jsoninmake?ipAddressType?securityGroupIds?subnetIds?vpcId?status?arn?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified resource gateway."]moduleUpdateResourceGatewayRequest=structtypenonrect={resourceGatewayIdentifier:ResourceGatewayIdentifier.t[@ocaml.doc"The ID or ARN of the resource gateway."];securityGroupIds:UpdateResourceGatewayRequestSecurityGroupIdsList.toption[@ocaml.doc"The IDs of the security groups associated with the resource gateway."]}letcontext_="UpdateResourceGatewayRequest"letmake?securityGroupIds=fun~resourceGatewayIdentifier->fun()->{securityGroupIds;resourceGatewayIdentifier}letto_valuex=structure_to_value[("resourceGatewayIdentifier",(Some(ResourceGatewayIdentifier.to_valuex.resourceGatewayIdentifier)));("securityGroupIds",(Option.mapx.securityGroupIds~f:UpdateResourceGatewayRequestSecurityGroupIdsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsecurityGroupIds=(Option.map~f:UpdateResourceGatewayRequestSecurityGroupIdsList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletresourceGatewayIdentifier=ResourceGatewayIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceGatewayIdentifier")inmake?securityGroupIds~resourceGatewayIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsecurityGroupIds=field_mapjson__"securityGroupIds"UpdateResourceGatewayRequestSecurityGroupIdsList.of_jsoninletresourceGatewayIdentifier=field_map_exnjson__"resourceGatewayIdentifier"ResourceGatewayIdentifier.of_jsoninmake?securityGroupIds~resourceGatewayIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified resource gateway."]moduleUpdateResourceConfigurationResponse=structtypenonrect={id:ResourceConfigurationId.toption[@ocaml.doc"The ID of the resource configuration."];name:ResourceConfigurationName.toption[@ocaml.doc"The name of the resource configuration."];arn:ResourceConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource configuration."];resourceGatewayId:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway associated with the resource configuration."];resourceConfigurationGroupId:ResourceConfigurationId.toption[@ocaml.doc"The ID of the group resource configuration."];type_:ResourceConfigurationType.toption[@ocaml.doc"The type of resource configuration. SINGLE - A single resource. GROUP - A group of resources. CHILD - A single resource that is part of a group resource configuration. ARN - An Amazon Web Services resource."];portRanges:PortRangeList.toption[@ocaml.doc"The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30"];allowAssociationToShareableServiceNetwork:Boolean.toption[@ocaml.doc"Indicates whether to add the resource configuration to service networks that are shared with other accounts."];protocol:ProtocolType.toption[@ocaml.doc"The TCP protocol accepted by the specified resource configuration."];status:ResourceConfigurationStatus.toption[@ocaml.doc"The status of the resource configuration."];resourceConfigurationDefinition:ResourceConfigurationDefinition.toption[@ocaml.doc"The resource configuration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?name->fun?arn->fun?resourceGatewayId->fun?resourceConfigurationGroupId->fun?type_->fun?portRanges->fun?allowAssociationToShareableServiceNetwork->fun?protocol->fun?status->fun?resourceConfigurationDefinition->fun()->{id;name;arn;resourceGatewayId;resourceConfigurationGroupId;type_;portRanges;allowAssociationToShareableServiceNetwork;protocol;status;resourceConfigurationDefinition}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ResourceConfigurationId.to_value));("name",(Option.mapx.name~f:ResourceConfigurationName.to_value));("arn",(Option.mapx.arn~f:ResourceConfigurationArn.to_value));("resourceGatewayId",(Option.mapx.resourceGatewayId~f:ResourceGatewayId.to_value));("resourceConfigurationGroupId",(Option.mapx.resourceConfigurationGroupId~f:ResourceConfigurationId.to_value));("type",(Option.mapx.type_~f:ResourceConfigurationType.to_value));("portRanges",(Option.mapx.portRanges~f:PortRangeList.to_value));("allowAssociationToShareableServiceNetwork",(Option.mapx.allowAssociationToShareableServiceNetwork~f:Boolean.to_value));("protocol",(Option.mapx.protocol~f:ProtocolType.to_value));("status",(Option.mapx.status~f:ResourceConfigurationStatus.to_value));("resourceConfigurationDefinition",(Option.mapx.resourceConfigurationDefinition~f:ResourceConfigurationDefinition.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceConfigurationDefinition=(Option.map~f:ResourceConfigurationDefinition.of_xml)(Xml.childxml_arg0"resourceConfigurationDefinition")inletstatus=(Option.map~f:ResourceConfigurationStatus.of_xml)(Xml.childxml_arg0"status")inletprotocol=(Option.map~f:ProtocolType.of_xml)(Xml.childxml_arg0"protocol")inletallowAssociationToShareableServiceNetwork=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"allowAssociationToShareableServiceNetwork")inletportRanges=(Option.map~f:PortRangeList.of_xml)(Xml.childxml_arg0"portRanges")inlettype_=(Option.map~f:ResourceConfigurationType.of_xml)(Xml.childxml_arg0"type")inletresourceConfigurationGroupId=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"resourceConfigurationGroupId")inletresourceGatewayId=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"resourceGatewayId")inletarn=(Option.map~f:ResourceConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ResourceConfigurationName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"id")inmake?resourceConfigurationDefinition?status?protocol?allowAssociationToShareableServiceNetwork?portRanges?type_?resourceConfigurationGroupId?resourceGatewayId?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceConfigurationDefinition=field_mapjson__"resourceConfigurationDefinition"ResourceConfigurationDefinition.of_jsoninletstatus=field_mapjson__"status"ResourceConfigurationStatus.of_jsoninletprotocol=field_mapjson__"protocol"ProtocolType.of_jsoninletallowAssociationToShareableServiceNetwork=field_mapjson__"allowAssociationToShareableServiceNetwork"Boolean.of_jsoninletportRanges=field_mapjson__"portRanges"PortRangeList.of_jsoninlettype_=field_mapjson__"type"ResourceConfigurationType.of_jsoninletresourceConfigurationGroupId=field_mapjson__"resourceConfigurationGroupId"ResourceConfigurationId.of_jsoninletresourceGatewayId=field_mapjson__"resourceGatewayId"ResourceGatewayId.of_jsoninletarn=field_mapjson__"arn"ResourceConfigurationArn.of_jsoninletname=field_mapjson__"name"ResourceConfigurationName.of_jsoninletid=field_mapjson__"id"ResourceConfigurationId.of_jsoninmake?resourceConfigurationDefinition?status?protocol?allowAssociationToShareableServiceNetwork?portRanges?type_?resourceConfigurationGroupId?resourceGatewayId?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified resource configuration."]moduleUpdateResourceConfigurationRequest=structtypenonrect={resourceConfigurationIdentifier:ResourceConfigurationIdentifier.t[@ocaml.doc"The ID of the resource configuration."];resourceConfigurationDefinition:ResourceConfigurationDefinition.toption[@ocaml.doc"Identifies the resource configuration in one of the following ways: Amazon Resource Name (ARN) - Supported resource-types that are provisioned by Amazon Web Services services, such as RDS databases, can be identified by their ARN. Domain name - Any domain name that is publicly resolvable. IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported."];allowAssociationToShareableServiceNetwork:Boolean.toption[@ocaml.doc"Indicates whether to add the resource configuration to service networks that are shared with other accounts."];portRanges:PortRangeList.toption[@ocaml.doc"The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30"]}letcontext_="UpdateResourceConfigurationRequest"letmake?resourceConfigurationDefinition=fun?allowAssociationToShareableServiceNetwork->fun?portRanges->fun~resourceConfigurationIdentifier->fun()->{resourceConfigurationDefinition;allowAssociationToShareableServiceNetwork;portRanges;resourceConfigurationIdentifier}letto_valuex=structure_to_value[("resourceConfigurationIdentifier",(Some(ResourceConfigurationIdentifier.to_valuex.resourceConfigurationIdentifier)));("resourceConfigurationDefinition",(Option.mapx.resourceConfigurationDefinition~f:ResourceConfigurationDefinition.to_value));("allowAssociationToShareableServiceNetwork",(Option.mapx.allowAssociationToShareableServiceNetwork~f:Boolean.to_value));("portRanges",(Option.mapx.portRanges~f:PortRangeList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letportRanges=(Option.map~f:PortRangeList.of_xml)(Xml.childxml_arg0"portRanges")inletallowAssociationToShareableServiceNetwork=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"allowAssociationToShareableServiceNetwork")inletresourceConfigurationDefinition=(Option.map~f:ResourceConfigurationDefinition.of_xml)(Xml.childxml_arg0"resourceConfigurationDefinition")inletresourceConfigurationIdentifier=ResourceConfigurationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceConfigurationIdentifier")inmake?portRanges?allowAssociationToShareableServiceNetwork?resourceConfigurationDefinition~resourceConfigurationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letportRanges=field_mapjson__"portRanges"PortRangeList.of_jsoninletallowAssociationToShareableServiceNetwork=field_mapjson__"allowAssociationToShareableServiceNetwork"Boolean.of_jsoninletresourceConfigurationDefinition=field_mapjson__"resourceConfigurationDefinition"ResourceConfigurationDefinition.of_jsoninletresourceConfigurationIdentifier=field_map_exnjson__"resourceConfigurationIdentifier"ResourceConfigurationIdentifier.of_jsoninmake?portRanges?allowAssociationToShareableServiceNetwork?resourceConfigurationDefinition~resourceConfigurationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified resource configuration."]moduleUpdateListenerResponse=structtypenonrect={arn:ListenerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the listener."];id:ListenerId.toption[@ocaml.doc"The ID of the listener."];name:ListenerName.toption[@ocaml.doc"The name of the listener."];protocol:ListenerProtocol.toption[@ocaml.doc"The protocol of the listener."];port:Port.toption[@ocaml.doc"The listener port."];serviceArn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];serviceId:ServiceId.toption[@ocaml.doc"The ID of the service."];defaultAction:RuleAction.toption[@ocaml.doc"The action for the default rule."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun?name->fun?protocol->fun?port->fun?serviceArn->fun?serviceId->fun?defaultAction->fun()->{arn;id;name;protocol;port;serviceArn;serviceId;defaultAction}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("arn",(Option.mapx.arn~f:ListenerArn.to_value));("id",(Option.mapx.id~f:ListenerId.to_value));("name",(Option.mapx.name~f:ListenerName.to_value));("protocol",(Option.mapx.protocol~f:ListenerProtocol.to_value));("port",(Option.mapx.port~f:Port.to_value));("serviceArn",(Option.mapx.serviceArn~f:ServiceArn.to_value));("serviceId",(Option.mapx.serviceId~f:ServiceId.to_value));("defaultAction",(Option.mapx.defaultAction~f:RuleAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdefaultAction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"defaultAction")inletserviceId=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"serviceId")inletserviceArn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"serviceArn")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletprotocol=(Option.map~f:ListenerProtocol.of_xml)(Xml.childxml_arg0"protocol")inletname=(Option.map~f:ListenerName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ListenerId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:ListenerArn.of_xml)(Xml.childxml_arg0"arn")inmake?defaultAction?serviceId?serviceArn?port?protocol?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdefaultAction=field_mapjson__"defaultAction"RuleAction.of_jsoninletserviceId=field_mapjson__"serviceId"ServiceId.of_jsoninletserviceArn=field_mapjson__"serviceArn"ServiceArn.of_jsoninletport=field_mapjson__"port"Port.of_jsoninletprotocol=field_mapjson__"protocol"ListenerProtocol.of_jsoninletname=field_mapjson__"name"ListenerName.of_jsoninletid=field_mapjson__"id"ListenerId.of_jsoninletarn=field_mapjson__"arn"ListenerArn.of_jsoninmake?defaultAction?serviceId?serviceArn?port?protocol?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified listener for the specified service."]moduleUpdateListenerRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."];defaultAction:RuleAction.t[@ocaml.doc"The action for the default rule."]}letcontext_="UpdateListenerRequest"letmake~serviceIdentifier=fun~listenerIdentifier->fun~defaultAction->fun()->{serviceIdentifier;listenerIdentifier;defaultAction}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)));("defaultAction",(Some(RuleAction.to_valuex.defaultAction)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdefaultAction=RuleAction.of_xml(Xml.child_exn~context:context_xml_arg0"defaultAction")inletlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake~defaultAction~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdefaultAction=field_map_exnjson__"defaultAction"RuleAction.of_jsoninletlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake~defaultAction~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified listener for the specified service."]moduleUpdateAccessLogSubscriptionResponse=structtypenonrect={id:AccessLogSubscriptionId.toption[@ocaml.doc"The ID of the access log subscription."];arn:AccessLogSubscriptionArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the access log subscription."];resourceId:ResourceId.toption[@ocaml.doc"The ID of the resource."];resourceArn:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the access log subscription."];destinationArn:AccessLogDestinationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the access log destination."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?resourceId->fun?resourceArn->fun?destinationArn->fun()->{id;arn;resourceId;resourceArn;destinationArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:AccessLogSubscriptionId.to_value));("arn",(Option.mapx.arn~f:AccessLogSubscriptionArn.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceArn",(Option.mapx.resourceArn~f:ResourceArn.to_value));("destinationArn",(Option.mapx.destinationArn~f:AccessLogDestinationArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinationArn=(Option.map~f:AccessLogDestinationArn.of_xml)(Xml.childxml_arg0"destinationArn")inletresourceArn=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"resourceArn")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletarn=(Option.map~f:AccessLogSubscriptionArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:AccessLogSubscriptionId.of_xml)(Xml.childxml_arg0"id")inmake?destinationArn?resourceArn?resourceId?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinationArn=field_mapjson__"destinationArn"AccessLogDestinationArn.of_jsoninletresourceArn=field_mapjson__"resourceArn"ResourceArn.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletarn=field_mapjson__"arn"AccessLogSubscriptionArn.of_jsoninletid=field_mapjson__"id"AccessLogSubscriptionId.of_jsoninmake?destinationArn?resourceArn?resourceId?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified access log subscription."]moduleUpdateAccessLogSubscriptionRequest=structtypenonrect={accessLogSubscriptionIdentifier:AccessLogSubscriptionIdentifier.t[@ocaml.doc"The ID or ARN of the access log subscription."];destinationArn:AccessLogDestinationArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the access log destination."]}letcontext_="UpdateAccessLogSubscriptionRequest"letmake~accessLogSubscriptionIdentifier=fun~destinationArn->fun()->{accessLogSubscriptionIdentifier;destinationArn}letto_valuex=structure_to_value[("accessLogSubscriptionIdentifier",(Some(AccessLogSubscriptionIdentifier.to_valuex.accessLogSubscriptionIdentifier)));("destinationArn",(Some(AccessLogDestinationArn.to_valuex.destinationArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinationArn=AccessLogDestinationArn.of_xml(Xml.child_exn~context:context_xml_arg0"destinationArn")inletaccessLogSubscriptionIdentifier=AccessLogSubscriptionIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"accessLogSubscriptionIdentifier")inmake~destinationArn~accessLogSubscriptionIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinationArn=field_map_exnjson__"destinationArn"AccessLogDestinationArn.of_jsoninletaccessLogSubscriptionIdentifier=field_map_exnjson__"accessLogSubscriptionIdentifier"AccessLogSubscriptionIdentifier.of_jsoninmake~destinationArn~accessLogSubscriptionIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the specified access log subscription."]moduleUntagResourceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the specified tags from the specified resource."]moduleUntagResourceRequest=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];tagKeys:TagKeys.t[@ocaml.doc"The tag keys of the tags to remove."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)));("tagKeys",(Some(TagKeys.to_valuex.tagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagKeys=TagKeys.of_xml(Xml.child_exn~context:context_xml_arg0"tagKeys")inletresourceArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tagKeys~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"tagKeys"TagKeys.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the specified tags from the specified resource."]moduleTagResourceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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"Adds the specified tags to the specified resource."]moduleTagResourceRequest=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];tags:TagMap.t[@ocaml.doc"The tags for the resource."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)));("tags",(Some(TagMap.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=TagMap.of_xml(Xml.child_exn~context:context_xml_arg0"tags")inletresourceArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tags~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_map_exnjson__"tags"TagMap.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds the specified tags to the specified resource."]moduleStartDomainVerificationResponse=structtypenonrect={id:DomainVerificationId.toption[@ocaml.doc"The ID of the domain verification."];arn:DomainVerificationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the domain verification."];domainName:DomainName.toption[@ocaml.doc"The domain name being verified."];status:VerificationStatus.toption[@ocaml.doc"The current status of the domain verification process."];txtMethodConfig:TxtMethodConfig.toption[@ocaml.doc"The TXT record configuration used for domain verification."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?domainName->fun?status->fun?txtMethodConfig->fun()->{id;arn;domainName;status;txtMethodConfig}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:DomainVerificationId.to_value));("arn",(Option.mapx.arn~f:DomainVerificationArn.to_value));("domainName",(Option.mapx.domainName~f:DomainName.to_value));("status",(Option.mapx.status~f:VerificationStatus.to_value));("txtMethodConfig",(Option.mapx.txtMethodConfig~f:TxtMethodConfig.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettxtMethodConfig=(Option.map~f:TxtMethodConfig.of_xml)(Xml.childxml_arg0"txtMethodConfig")inletstatus=(Option.map~f:VerificationStatus.of_xml)(Xml.childxml_arg0"status")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inletarn=(Option.map~f:DomainVerificationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:DomainVerificationId.of_xml)(Xml.childxml_arg0"id")inmake?txtMethodConfig?status?domainName?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettxtMethodConfig=field_mapjson__"txtMethodConfig"TxtMethodConfig.of_jsoninletstatus=field_mapjson__"status"VerificationStatus.of_jsoninletdomainName=field_mapjson__"domainName"DomainName.of_jsoninletarn=field_mapjson__"arn"DomainVerificationArn.of_jsoninletid=field_mapjson__"id"DomainVerificationId.of_jsoninmake?txtMethodConfig?status?domainName?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts the domain verification process for a custom domain name."]moduleStartDomainVerificationRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];domainName:DomainName.t[@ocaml.doc"The domain name to verify ownership for."];tags:TagMap.toption[@ocaml.doc"The tags for the domain verification."]}letcontext_="StartDomainVerificationRequest"letmake?clientToken=fun?tags->fun~domainName->fun()->{clientToken;tags;domainName}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("domainName",(Some(DomainName.to_valuex.domainName)));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"domainName")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?tags~domainName?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletdomainName=field_map_exnjson__"domainName"DomainName.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?tags~domainName?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts the domain verification process for a custom domain name."]moduleRegisterTargetsResponse=structtypenonrect={successful:TargetList.toption[@ocaml.doc"The targets that were successfully registered."];unsuccessful:TargetFailureList.toption[@ocaml.doc"The targets that were not registered."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?successful=fun?unsuccessful->fun()->{successful;unsuccessful}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("successful",(Option.mapx.successful~f:TargetList.to_value));("unsuccessful",(Option.mapx.unsuccessful~f:TargetFailureList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letunsuccessful=(Option.map~f:TargetFailureList.of_xml)(Xml.childxml_arg0"unsuccessful")inletsuccessful=(Option.map~f:TargetList.of_xml)(Xml.childxml_arg0"successful")inmake?unsuccessful?successful()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letunsuccessful=field_mapjson__"unsuccessful"TargetFailureList.of_jsoninletsuccessful=field_mapjson__"successful"TargetList.of_jsoninmake?unsuccessful?successful()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Registers the targets with the target group. If it's a Lambda target, you can only have one target in a target group."]moduleRegisterTargetsRequest=structtypenonrect={targetGroupIdentifier:TargetGroupIdentifier.t[@ocaml.doc"The ID or ARN of the target group."];targets:RegisterTargetsRequestTargetsList.t[@ocaml.doc"The targets."]}letcontext_="RegisterTargetsRequest"letmake~targetGroupIdentifier=fun~targets->fun()->{targetGroupIdentifier;targets}letto_valuex=structure_to_value[("targetGroupIdentifier",(Some(TargetGroupIdentifier.to_valuex.targetGroupIdentifier)));("targets",(Some(RegisterTargetsRequestTargetsList.to_valuex.targets)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargets=RegisterTargetsRequestTargetsList.of_xml(Xml.child_exn~context:context_xml_arg0"targets")inlettargetGroupIdentifier=TargetGroupIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"targetGroupIdentifier")inmake~targets~targetGroupIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargets=field_map_exnjson__"targets"RegisterTargetsRequestTargetsList.of_jsoninlettargetGroupIdentifier=field_map_exnjson__"targetGroupIdentifier"TargetGroupIdentifier.of_jsoninmake~targets~targetGroupIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Registers the targets with the target group. If it's a Lambda target, you can only have one target in a target group."]modulePutResourcePolicyResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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"Attaches a resource-based permission policy to a service or service network. The policy must contain the same actions and condition statements as the Amazon Web Services Resource Access Manager permission for sharing services and service networks."]modulePutResourcePolicyRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The ID or ARN of the service network or service for which the policy is created."];policy:PolicyString.t[@ocaml.doc"An IAM policy. The policy string in JSON must not contain newlines or blank lines."]}letcontext_="PutResourcePolicyRequest"letmake~resourceArn=fun~policy->fun()->{resourceArn;policy}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)));("policy",(Some(PolicyString.to_valuex.policy)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpolicy=PolicyString.of_xml(Xml.child_exn~context:context_xml_arg0"policy")inletresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~policy~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpolicy=field_map_exnjson__"policy"PolicyString.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~policy~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Attaches a resource-based permission policy to a service or service network. The policy must contain the same actions and condition statements as the Amazon Web Services Resource Access Manager permission for sharing services and service networks."]modulePutAuthPolicyResponse=structtypenonrect={policy:AuthPolicyString.toption[@ocaml.doc"The auth policy. The policy string in JSON must not contain newlines or blank lines."];state:AuthPolicyState.toption[@ocaml.doc"The state of the auth policy. The auth policy is only active when the auth type is set to AWS_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the Auth type is NONE, then, any auth policy that you provide remains inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?policy=fun?state->fun()->{policy;state}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("policy",(Option.mapx.policy~f:AuthPolicyString.to_value));("state",(Option.mapx.state~f:AuthPolicyState.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstate=(Option.map~f:AuthPolicyState.of_xml)(Xml.childxml_arg0"state")inletpolicy=(Option.map~f:AuthPolicyString.of_xml)(Xml.childxml_arg0"policy")inmake?state?policy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstate=field_mapjson__"state"AuthPolicyState.of_jsoninletpolicy=field_mapjson__"policy"AuthPolicyString.of_jsoninmake?state?policy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates the auth policy. The policy string in JSON must not contain newlines or blank lines. For more information, see Auth policies in the Amazon VPC Lattice User Guide."]modulePutAuthPolicyRequest=structtypenonrect={resourceIdentifier:ResourceIdentifier.t[@ocaml.doc"The ID or ARN of the service network or service for which the policy is created."];policy:AuthPolicyString.t[@ocaml.doc"The auth policy. The policy string in JSON must not contain newlines or blank lines."]}letcontext_="PutAuthPolicyRequest"letmake~resourceIdentifier=fun~policy->fun()->{resourceIdentifier;policy}letto_valuex=structure_to_value[("resourceIdentifier",(Some(ResourceIdentifier.to_valuex.resourceIdentifier)));("policy",(Some(AuthPolicyString.to_valuex.policy)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpolicy=AuthPolicyString.of_xml(Xml.child_exn~context:context_xml_arg0"policy")inletresourceIdentifier=ResourceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceIdentifier")inmake~policy~resourceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpolicy=field_map_exnjson__"policy"AuthPolicyString.of_jsoninletresourceIdentifier=field_map_exnjson__"resourceIdentifier"ResourceIdentifier.of_jsoninmake~policy~resourceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates or updates the auth policy. The policy string in JSON must not contain newlines or blank lines. For more information, see Auth policies in the Amazon VPC Lattice User Guide."]moduleListTargetsResponse=structtypenonrect={items:TargetSummaryList.toption[@ocaml.doc"Information about the targets."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:TargetSummaryList.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")inletitems=(Option.map~f:TargetSummaryList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"TargetSummaryList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the targets for the target group. By default, all targets are included. You can use this API to check the health status of targets. You can also \239\172\129lter the results by target."]moduleListTargetsRequest=structtypenonrect={targetGroupIdentifier:TargetGroupIdentifier.t[@ocaml.doc"The ID or ARN of the target group."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."];targets:ListTargetsRequestTargetsList.toption[@ocaml.doc"The targets."]}letcontext_="ListTargetsRequest"letmake?maxResults=fun?nextToken->fun?targets->fun~targetGroupIdentifier->fun()->{maxResults;nextToken;targets;targetGroupIdentifier}letto_valuex=structure_to_value[("targetGroupIdentifier",(Some(TargetGroupIdentifier.to_valuex.targetGroupIdentifier)));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("targets",(Option.mapx.targets~f:ListTargetsRequestTargetsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargets=(Option.map~f:ListTargetsRequestTargetsList.of_xml)(Xml.childxml_arg0"targets")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inlettargetGroupIdentifier=TargetGroupIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"targetGroupIdentifier")inmake?targets?nextToken?maxResults~targetGroupIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargets=field_mapjson__"targets"ListTargetsRequestTargetsList.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninlettargetGroupIdentifier=field_map_exnjson__"targetGroupIdentifier"TargetGroupIdentifier.of_jsoninmake?targets?nextToken?maxResults~targetGroupIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the targets for the target group. By default, all targets are included. You can use this API to check the health status of targets. You can also \239\172\129lter the results by target."]moduleListTargetGroupsResponse=structtypenonrect={items:TargetGroupList.toption[@ocaml.doc"Information about the target groups."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:TargetGroupList.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")inletitems=(Option.map~f:TargetGroupList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"TargetGroupList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists your target groups. You can narrow your search by using the filters below in your request."]moduleListTargetGroupsRequest=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."];vpcIdentifier:VpcId.toption[@ocaml.doc"The ID or ARN of the VPC."];targetGroupType:TargetGroupType.toption[@ocaml.doc"The target group type."]}letmake?maxResults=fun?nextToken->fun?vpcIdentifier->fun?targetGroupType->fun()->{maxResults;nextToken;vpcIdentifier;targetGroupType}letto_valuex=structure_to_value[("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("vpcIdentifier",(Option.mapx.vpcIdentifier~f:VpcId.to_value));("targetGroupType",(Option.mapx.targetGroupType~f:TargetGroupType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargetGroupType=(Option.map~f:TargetGroupType.of_xml)(Xml.childxml_arg0"targetGroupType")inletvpcIdentifier=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcIdentifier")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inmake?targetGroupType?vpcIdentifier?nextToken?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargetGroupType=field_mapjson__"targetGroupType"TargetGroupType.of_jsoninletvpcIdentifier=field_mapjson__"vpcIdentifier"VpcId.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninmake?targetGroupType?vpcIdentifier?nextToken?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists your target groups. You can narrow your search by using the filters below in your request."]moduleListTagsForResourceResponse=structtypenonrect={tags:TagMap.toption[@ocaml.doc"Information about the tags."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inmake?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninmake?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the tags for the specified resource."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the tags for the specified resource."]moduleListServicesResponse=structtypenonrect={items:ServiceList.toption[@ocaml.doc"Information about the services."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ServiceList.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")inletitems=(Option.map~f:ServiceList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ServiceList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the services owned by the caller account or shared with the caller account."]moduleListServicesRequest=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}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"Lists the services owned by the caller account or shared with the caller account."]moduleListServiceNetworksResponse=structtypenonrect={items:ServiceNetworkList.toption[@ocaml.doc"Information about the service networks."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ServiceNetworkList.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")inletitems=(Option.map~f:ServiceNetworkList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ServiceNetworkList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the service networks owned by or shared with this account. The account ID in the ARN shows which account owns the service network."]moduleListServiceNetworksRequest=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}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"Lists the service networks owned by or shared with this account. The account ID in the ARN shows which account owns the service network."]moduleListServiceNetworkVpcEndpointAssociationsResponse=structtypenonrect={items:ServiceNetworkVpcEndpointAssociationList.toption[@ocaml.doc"Information about the association between the VPC endpoint and service network."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ServiceNetworkVpcEndpointAssociationList.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")inletitems=(Option.map~f:ServiceNetworkVpcEndpointAssociationList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ServiceNetworkVpcEndpointAssociationList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations between a service network and a VPC endpoint."]moduleListServiceNetworkVpcEndpointAssociationsRequest=structtypenonrect={serviceNetworkIdentifier:ServiceNetworkIdentifier.t[@ocaml.doc"The ID of the service network associated with the VPC endpoint."];maxResults:MaxResults.toption[@ocaml.doc"The maximum page size."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}letcontext_="ListServiceNetworkVpcEndpointAssociationsRequest"letmake?maxResults=fun?nextToken->fun~serviceNetworkIdentifier->fun()->{maxResults;nextToken;serviceNetworkIdentifier}letto_valuex=structure_to_value[("serviceNetworkIdentifier",(Some(ServiceNetworkIdentifier.to_valuex.serviceNetworkIdentifier)));("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")inletserviceNetworkIdentifier=ServiceNetworkIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkIdentifier")inmake?nextToken?maxResults~serviceNetworkIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletserviceNetworkIdentifier=field_map_exnjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninmake?nextToken?maxResults~serviceNetworkIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations between a service network and a VPC endpoint."]moduleListServiceNetworkVpcAssociationsResponse=structtypenonrect={items:ServiceNetworkVpcAssociationList.toption[@ocaml.doc"Information about the associations."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ServiceNetworkVpcAssociationList.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")inletitems=(Option.map~f:ServiceNetworkVpcAssociationList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ServiceNetworkVpcAssociationList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations between a service network and a VPC. You can filter the list either by VPC or service network. You must provide either the ID of the service network identifier or the ID of the VPC."]moduleListServiceNetworkVpcAssociationsRequest=structtypenonrect={serviceNetworkIdentifier:ServiceNetworkIdentifier.toption[@ocaml.doc"The ID or ARN of the service network."];vpcIdentifier:VpcId.toption[@ocaml.doc"The ID or ARN of the VPC."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}letmake?serviceNetworkIdentifier=fun?vpcIdentifier->fun?maxResults->fun?nextToken->fun()->{serviceNetworkIdentifier;vpcIdentifier;maxResults;nextToken}letto_valuex=structure_to_value[("serviceNetworkIdentifier",(Option.mapx.serviceNetworkIdentifier~f:ServiceNetworkIdentifier.to_value));("vpcIdentifier",(Option.mapx.vpcIdentifier~f:VpcId.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")inletvpcIdentifier=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcIdentifier")inletserviceNetworkIdentifier=(Option.map~f:ServiceNetworkIdentifier.of_xml)(Xml.childxml_arg0"serviceNetworkIdentifier")inmake?nextToken?maxResults?vpcIdentifier?serviceNetworkIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletvpcIdentifier=field_mapjson__"vpcIdentifier"VpcId.of_jsoninletserviceNetworkIdentifier=field_mapjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninmake?nextToken?maxResults?vpcIdentifier?serviceNetworkIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations between a service network and a VPC. You can filter the list either by VPC or service network. You must provide either the ID of the service network identifier or the ID of the VPC."]moduleListServiceNetworkServiceAssociationsResponse=structtypenonrect={items:ServiceNetworkServiceAssociationList.toption[@ocaml.doc"Information about the associations."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ServiceNetworkServiceAssociationList.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")inletitems=(Option.map~f:ServiceNetworkServiceAssociationList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ServiceNetworkServiceAssociationList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations between a service network and a service. You can filter the list either by service or service network. You must provide either the service network identifier or the service identifier. Every association in Amazon VPC Lattice has a unique Amazon Resource Name (ARN), such as when a service network is associated with a VPC or when a service is associated with a service network. If the association is for a resource is shared with another account, the association includes the local account ID as the prefix in the ARN."]moduleListServiceNetworkServiceAssociationsRequest=structtypenonrect={serviceNetworkIdentifier:ServiceNetworkIdentifier.toption[@ocaml.doc"The ID or ARN of the service network."];serviceIdentifier:ServiceIdentifier.toption[@ocaml.doc"The ID or ARN of the service."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}letmake?serviceNetworkIdentifier=fun?serviceIdentifier->fun?maxResults->fun?nextToken->fun()->{serviceNetworkIdentifier;serviceIdentifier;maxResults;nextToken}letto_valuex=structure_to_value[("serviceNetworkIdentifier",(Option.mapx.serviceNetworkIdentifier~f:ServiceNetworkIdentifier.to_value));("serviceIdentifier",(Option.mapx.serviceIdentifier~f:ServiceIdentifier.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")inletserviceIdentifier=(Option.map~f:ServiceIdentifier.of_xml)(Xml.childxml_arg0"serviceIdentifier")inletserviceNetworkIdentifier=(Option.map~f:ServiceNetworkIdentifier.of_xml)(Xml.childxml_arg0"serviceNetworkIdentifier")inmake?nextToken?maxResults?serviceIdentifier?serviceNetworkIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletserviceIdentifier=field_mapjson__"serviceIdentifier"ServiceIdentifier.of_jsoninletserviceNetworkIdentifier=field_mapjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninmake?nextToken?maxResults?serviceIdentifier?serviceNetworkIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations between a service network and a service. You can filter the list either by service or service network. You must provide either the service network identifier or the service identifier. Every association in Amazon VPC Lattice has a unique Amazon Resource Name (ARN), such as when a service network is associated with a VPC or when a service is associated with a service network. If the association is for a resource is shared with another account, the association includes the local account ID as the prefix in the ARN."]moduleListServiceNetworkResourceAssociationsResponse=structtypenonrect={items:ServiceNetworkResourceAssociationList.toption[@ocaml.doc"Information about the associations."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ServiceNetworkResourceAssociationList.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")inletitems=(Option.map~f:ServiceNetworkResourceAssociationList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ServiceNetworkResourceAssociationList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations between a service network and a resource configuration."]moduleListServiceNetworkResourceAssociationsRequest=structtypenonrect={serviceNetworkIdentifier:ServiceNetworkIdentifier.toption[@ocaml.doc"The ID of the service network."];resourceConfigurationIdentifier:ResourceConfigurationIdentifier.toption[@ocaml.doc"The ID of the resource configuration."];maxResults:MaxResults.toption[@ocaml.doc"The maximum page size."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."];includeChildren:Boolean.toption[@ocaml.doc"Include service network resource associations of the child resource configuration with the grouped resource configuration. The type is boolean and the default value is false."]}letmake?serviceNetworkIdentifier=fun?resourceConfigurationIdentifier->fun?maxResults->fun?nextToken->fun?includeChildren->fun()->{serviceNetworkIdentifier;resourceConfigurationIdentifier;maxResults;nextToken;includeChildren}letto_valuex=structure_to_value[("serviceNetworkIdentifier",(Option.mapx.serviceNetworkIdentifier~f:ServiceNetworkIdentifier.to_value));("resourceConfigurationIdentifier",(Option.mapx.resourceConfigurationIdentifier~f:ResourceConfigurationIdentifier.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("includeChildren",(Option.mapx.includeChildren~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letincludeChildren=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"includeChildren")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletresourceConfigurationIdentifier=(Option.map~f:ResourceConfigurationIdentifier.of_xml)(Xml.childxml_arg0"resourceConfigurationIdentifier")inletserviceNetworkIdentifier=(Option.map~f:ServiceNetworkIdentifier.of_xml)(Xml.childxml_arg0"serviceNetworkIdentifier")inmake?includeChildren?nextToken?maxResults?resourceConfigurationIdentifier?serviceNetworkIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letincludeChildren=field_mapjson__"includeChildren"Boolean.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletresourceConfigurationIdentifier=field_mapjson__"resourceConfigurationIdentifier"ResourceConfigurationIdentifier.of_jsoninletserviceNetworkIdentifier=field_mapjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninmake?includeChildren?nextToken?maxResults?resourceConfigurationIdentifier?serviceNetworkIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations between a service network and a resource configuration."]moduleListRulesResponse=structtypenonrect={items:RuleSummaryList.toption[@ocaml.doc"Information about the rules."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:RuleSummaryList.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")inletitems=(Option.map~f:RuleSummaryList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"RuleSummaryList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the rules for the specified listener."]moduleListRulesRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}letcontext_="ListRulesRequest"letmake?maxResults=fun?nextToken->fun~serviceIdentifier->fun~listenerIdentifier->fun()->{maxResults;nextToken;serviceIdentifier;listenerIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)));("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")inletlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake?nextToken?maxResults~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake?nextToken?maxResults~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the rules for the specified listener."]moduleListResourceGatewaysResponse=structtypenonrect={items:ResourceGatewayList.toption[@ocaml.doc"Information about the resource gateways."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ResourceGatewayList.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")inletitems=(Option.map~f:ResourceGatewayList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ResourceGatewayList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the resource gateways that you own or that were shared with you."]moduleListResourceGatewaysRequest=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum page size."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}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"Lists the resource gateways that you own or that were shared with you."]moduleListResourceEndpointAssociationsResponse=structtypenonrect={items:ResourceEndpointAssociationList.toption[@ocaml.doc"Information about the VPC endpoint associations."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ResourceEndpointAssociationList.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")inletitems=(Option.map~f:ResourceEndpointAssociationList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ResourceEndpointAssociationList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations for the specified VPC endpoint."]moduleListResourceEndpointAssociationsRequest=structtypenonrect={resourceConfigurationIdentifier:ResourceConfigurationIdentifier.t[@ocaml.doc"The ID for the resource configuration associated with the VPC endpoint."];resourceEndpointAssociationIdentifier:ResourceEndpointAssociationIdentifier.toption[@ocaml.doc"The ID of the association."];vpcEndpointId:VpcEndpointId.toption[@ocaml.doc"The ID of the VPC endpoint in the association."];vpcEndpointOwner:VpcEndpointOwner.toption[@ocaml.doc"The owner of the VPC endpoint in the association."];maxResults:MaxResults.toption[@ocaml.doc"The maximum page size."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}letcontext_="ListResourceEndpointAssociationsRequest"letmake?resourceEndpointAssociationIdentifier=fun?vpcEndpointId->fun?vpcEndpointOwner->fun?maxResults->fun?nextToken->fun~resourceConfigurationIdentifier->fun()->{resourceEndpointAssociationIdentifier;vpcEndpointId;vpcEndpointOwner;maxResults;nextToken;resourceConfigurationIdentifier}letto_valuex=structure_to_value[("resourceConfigurationIdentifier",(Some(ResourceConfigurationIdentifier.to_valuex.resourceConfigurationIdentifier)));("resourceEndpointAssociationIdentifier",(Option.mapx.resourceEndpointAssociationIdentifier~f:ResourceEndpointAssociationIdentifier.to_value));("vpcEndpointId",(Option.mapx.vpcEndpointId~f:VpcEndpointId.to_value));("vpcEndpointOwner",(Option.mapx.vpcEndpointOwner~f:VpcEndpointOwner.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")inletvpcEndpointOwner=(Option.map~f:VpcEndpointOwner.of_xml)(Xml.childxml_arg0"vpcEndpointOwner")inletvpcEndpointId=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"vpcEndpointId")inletresourceEndpointAssociationIdentifier=(Option.map~f:ResourceEndpointAssociationIdentifier.of_xml)(Xml.childxml_arg0"resourceEndpointAssociationIdentifier")inletresourceConfigurationIdentifier=ResourceConfigurationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceConfigurationIdentifier")inmake?nextToken?maxResults?vpcEndpointOwner?vpcEndpointId?resourceEndpointAssociationIdentifier~resourceConfigurationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletvpcEndpointOwner=field_mapjson__"vpcEndpointOwner"VpcEndpointOwner.of_jsoninletvpcEndpointId=field_mapjson__"vpcEndpointId"VpcEndpointId.of_jsoninletresourceEndpointAssociationIdentifier=field_mapjson__"resourceEndpointAssociationIdentifier"ResourceEndpointAssociationIdentifier.of_jsoninletresourceConfigurationIdentifier=field_map_exnjson__"resourceConfigurationIdentifier"ResourceConfigurationIdentifier.of_jsoninmake?nextToken?maxResults?vpcEndpointOwner?vpcEndpointId?resourceEndpointAssociationIdentifier~resourceConfigurationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the associations for the specified VPC endpoint."]moduleListResourceConfigurationsResponse=structtypenonrect={items:ResourceConfigurationSummaryList.toption[@ocaml.doc"Information about the resource configurations."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ResourceConfigurationSummaryList.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")inletitems=(Option.map~f:ResourceConfigurationSummaryList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ResourceConfigurationSummaryList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the resource configurations owned by or shared with this account."]moduleListResourceConfigurationsRequest=structtypenonrect={resourceGatewayIdentifier:ResourceGatewayIdentifier.toption[@ocaml.doc"The ID of the resource gateway for the resource configuration."];resourceConfigurationGroupIdentifier:ResourceConfigurationIdentifier.toption[@ocaml.doc"The ID of the resource configuration of type Group."];domainVerificationIdentifier:DomainVerificationIdentifier.toption[@ocaml.doc"The domain verification ID."];maxResults:MaxResults.toption[@ocaml.doc"The maximum page size."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}letmake?resourceGatewayIdentifier=fun?resourceConfigurationGroupIdentifier->fun?domainVerificationIdentifier->fun?maxResults->fun?nextToken->fun()->{resourceGatewayIdentifier;resourceConfigurationGroupIdentifier;domainVerificationIdentifier;maxResults;nextToken}letto_valuex=structure_to_value[("resourceGatewayIdentifier",(Option.mapx.resourceGatewayIdentifier~f:ResourceGatewayIdentifier.to_value));("resourceConfigurationGroupIdentifier",(Option.mapx.resourceConfigurationGroupIdentifier~f:ResourceConfigurationIdentifier.to_value));("domainVerificationIdentifier",(Option.mapx.domainVerificationIdentifier~f:DomainVerificationIdentifier.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")inletdomainVerificationIdentifier=(Option.map~f:DomainVerificationIdentifier.of_xml)(Xml.childxml_arg0"domainVerificationIdentifier")inletresourceConfigurationGroupIdentifier=(Option.map~f:ResourceConfigurationIdentifier.of_xml)(Xml.childxml_arg0"resourceConfigurationGroupIdentifier")inletresourceGatewayIdentifier=(Option.map~f:ResourceGatewayIdentifier.of_xml)(Xml.childxml_arg0"resourceGatewayIdentifier")inmake?nextToken?maxResults?domainVerificationIdentifier?resourceConfigurationGroupIdentifier?resourceGatewayIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletdomainVerificationIdentifier=field_mapjson__"domainVerificationIdentifier"DomainVerificationIdentifier.of_jsoninletresourceConfigurationGroupIdentifier=field_mapjson__"resourceConfigurationGroupIdentifier"ResourceConfigurationIdentifier.of_jsoninletresourceGatewayIdentifier=field_mapjson__"resourceGatewayIdentifier"ResourceGatewayIdentifier.of_jsoninmake?nextToken?maxResults?domainVerificationIdentifier?resourceConfigurationGroupIdentifier?resourceGatewayIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the resource configurations owned by or shared with this account."]moduleListListenersResponse=structtypenonrect={items:ListenerSummaryList.toption[@ocaml.doc"Information about the listeners."];nextToken:NextToken.toption[@ocaml.doc"If there are additional results, a pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:ListenerSummaryList.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")inletitems=(Option.map~f:ListenerSummaryList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"ListenerSummaryList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the listeners for the specified service."]moduleListListenersRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}letcontext_="ListListenersRequest"letmake?maxResults=fun?nextToken->fun~serviceIdentifier->fun()->{maxResults;nextToken;serviceIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("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")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake?nextToken?maxResults~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake?nextToken?maxResults~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the listeners for the specified service."]moduleListDomainVerificationsResponse=structtypenonrect={items:DomainVerificationList.toption[@ocaml.doc"Information about the domain verifications."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:DomainVerificationList.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")inletitems=(Option.map~f:DomainVerificationList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"DomainVerificationList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the domain verifications."]moduleListDomainVerificationsRequest=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}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"Lists the domain verifications."]moduleListAccessLogSubscriptionsResponse=structtypenonrect={items:AccessLogSubscriptionList.toption[@ocaml.doc"Information about the access log subscriptions."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?nextToken->fun()->{items;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("items",(Option.mapx.items~f:AccessLogSubscriptionList.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")inletitems=(Option.map~f:AccessLogSubscriptionList.of_xml)(Xml.childxml_arg0"items")inmake?nextToken?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletitems=field_mapjson__"items"AccessLogSubscriptionList.of_jsoninmake?nextToken?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the access log subscriptions for the specified service network or service."]moduleListAccessLogSubscriptionsRequest=structtypenonrect={resourceIdentifier:ResourceIdentifier.t[@ocaml.doc"The ID or ARN of the service network or service."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return."];nextToken:NextToken.toption[@ocaml.doc"A pagination token for the next page of results."]}letcontext_="ListAccessLogSubscriptionsRequest"letmake?maxResults=fun?nextToken->fun~resourceIdentifier->fun()->{maxResults;nextToken;resourceIdentifier}letto_valuex=structure_to_value[("resourceIdentifier",(Some(ResourceIdentifier.to_valuex.resourceIdentifier)));("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")inletresourceIdentifier=ResourceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceIdentifier")inmake?nextToken?maxResults~resourceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletresourceIdentifier=field_map_exnjson__"resourceIdentifier"ResourceIdentifier.of_jsoninmake?nextToken?maxResults~resourceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the access log subscriptions for the specified service network or service."]moduleGetTargetGroupResponse=structtypenonrect={id:TargetGroupId.toption[@ocaml.doc"The ID of the target group."];arn:TargetGroupArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the target group."];name:TargetGroupName.toption[@ocaml.doc"The name of the target group."];type_:TargetGroupType.toption[@ocaml.doc"The target group type."];config:TargetGroupConfig.toption[@ocaml.doc"The target group configuration."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the target group was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the target group was last updated, in ISO-8601 format."];status:TargetGroupStatus.toption[@ocaml.doc"The status."];serviceArns:ServiceArnList.toption[@ocaml.doc"The Amazon Resource Names (ARNs) of the service."];failureMessage:String_.toption[@ocaml.doc"The failure message."];failureCode:String_.toption[@ocaml.doc"The failure code."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?name->fun?type_->fun?config->fun?createdAt->fun?lastUpdatedAt->fun?status->fun?serviceArns->fun?failureMessage->fun?failureCode->fun()->{id;arn;name;type_;config;createdAt;lastUpdatedAt;status;serviceArns;failureMessage;failureCode}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:TargetGroupId.to_value));("arn",(Option.mapx.arn~f:TargetGroupArn.to_value));("name",(Option.mapx.name~f:TargetGroupName.to_value));("type",(Option.mapx.type_~f:TargetGroupType.to_value));("config",(Option.mapx.config~f:TargetGroupConfig.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("status",(Option.mapx.status~f:TargetGroupStatus.to_value));("serviceArns",(Option.mapx.serviceArns~f:ServiceArnList.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value));("failureCode",(Option.mapx.failureCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailureCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureCode")inletfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletserviceArns=(Option.map~f:ServiceArnList.of_xml)(Xml.childxml_arg0"serviceArns")inletstatus=(Option.map~f:TargetGroupStatus.of_xml)(Xml.childxml_arg0"status")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletconfig=(Option.map~f:TargetGroupConfig.of_xml)(Xml.childxml_arg0"config")inlettype_=(Option.map~f:TargetGroupType.of_xml)(Xml.childxml_arg0"type")inletname=(Option.map~f:TargetGroupName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:TargetGroupArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:TargetGroupId.of_xml)(Xml.childxml_arg0"id")inmake?failureCode?failureMessage?serviceArns?status?lastUpdatedAt?createdAt?config?type_?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailureCode=field_mapjson__"failureCode"String_.of_jsoninletfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletserviceArns=field_mapjson__"serviceArns"ServiceArnList.of_jsoninletstatus=field_mapjson__"status"TargetGroupStatus.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletconfig=field_mapjson__"config"TargetGroupConfig.of_jsoninlettype_=field_mapjson__"type"TargetGroupType.of_jsoninletname=field_mapjson__"name"TargetGroupName.of_jsoninletarn=field_mapjson__"arn"TargetGroupArn.of_jsoninletid=field_mapjson__"id"TargetGroupId.of_jsoninmake?failureCode?failureMessage?serviceArns?status?lastUpdatedAt?createdAt?config?type_?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified target group."]moduleGetTargetGroupRequest=structtypenonrect={targetGroupIdentifier:TargetGroupIdentifier.t[@ocaml.doc"The ID or ARN of the target group."]}letcontext_="GetTargetGroupRequest"letmake~targetGroupIdentifier=fun()->{targetGroupIdentifier}letto_valuex=structure_to_value[("targetGroupIdentifier",(Some(TargetGroupIdentifier.to_valuex.targetGroupIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargetGroupIdentifier=TargetGroupIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"targetGroupIdentifier")inmake~targetGroupIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargetGroupIdentifier=field_map_exnjson__"targetGroupIdentifier"TargetGroupIdentifier.of_jsoninmake~targetGroupIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified target group."]moduleGetServiceResponse=structtypenonrect={id:ServiceId.toption[@ocaml.doc"The ID of the service."];name:ServiceName.toption[@ocaml.doc"The name of the service."];arn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the service was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the service was last updated, in ISO-8601 format."];dnsEntry:DnsEntry.toption[@ocaml.doc"The DNS name of the service."];customDomainName:ServiceCustomDomainName.toption[@ocaml.doc"The custom domain name of the service."];certificateArn:CertificateArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the certificate."];status:ServiceStatus.toption[@ocaml.doc"The status of the service."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy."];failureCode:FailureCode.toption[@ocaml.doc"The failure code."];failureMessage:FailureMessage.toption[@ocaml.doc"The failure message."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?name->fun?arn->fun?createdAt->fun?lastUpdatedAt->fun?dnsEntry->fun?customDomainName->fun?certificateArn->fun?status->fun?authType->fun?failureCode->fun?failureMessage->fun()->{id;name;arn;createdAt;lastUpdatedAt;dnsEntry;customDomainName;certificateArn;status;authType;failureCode;failureMessage}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceId.to_value));("name",(Option.mapx.name~f:ServiceName.to_value));("arn",(Option.mapx.arn~f:ServiceArn.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("dnsEntry",(Option.mapx.dnsEntry~f:DnsEntry.to_value));("customDomainName",(Option.mapx.customDomainName~f:ServiceCustomDomainName.to_value));("certificateArn",(Option.mapx.certificateArn~f:CertificateArn.to_value));("status",(Option.mapx.status~f:ServiceStatus.to_value));("authType",(Option.mapx.authType~f:AuthType.to_value));("failureCode",(Option.mapx.failureCode~f:FailureCode.to_value));("failureMessage",(Option.mapx.failureMessage~f:FailureMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailureMessage=(Option.map~f:FailureMessage.of_xml)(Xml.childxml_arg0"failureMessage")inletfailureCode=(Option.map~f:FailureCode.of_xml)(Xml.childxml_arg0"failureCode")inletauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletstatus=(Option.map~f:ServiceStatus.of_xml)(Xml.childxml_arg0"status")inletcertificateArn=(Option.map~f:CertificateArn.of_xml)(Xml.childxml_arg0"certificateArn")inletcustomDomainName=(Option.map~f:ServiceCustomDomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletdnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"dnsEntry")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletarn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ServiceName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"id")inmake?failureMessage?failureCode?authType?status?certificateArn?customDomainName?dnsEntry?lastUpdatedAt?createdAt?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailureMessage=field_mapjson__"failureMessage"FailureMessage.of_jsoninletfailureCode=field_mapjson__"failureCode"FailureCode.of_jsoninletauthType=field_mapjson__"authType"AuthType.of_jsoninletstatus=field_mapjson__"status"ServiceStatus.of_jsoninletcertificateArn=field_mapjson__"certificateArn"CertificateArn.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"ServiceCustomDomainName.of_jsoninletdnsEntry=field_mapjson__"dnsEntry"DnsEntry.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletarn=field_mapjson__"arn"ServiceArn.of_jsoninletname=field_mapjson__"name"ServiceName.of_jsoninletid=field_mapjson__"id"ServiceId.of_jsoninmake?failureMessage?failureCode?authType?status?certificateArn?customDomainName?dnsEntry?lastUpdatedAt?createdAt?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified service."]moduleGetServiceRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."]}letcontext_="GetServiceRequest"letmake~serviceIdentifier=fun()->{serviceIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified service."]moduleGetServiceNetworkVpcAssociationResponse=structtypenonrect={id:ServiceNetworkVpcAssociationId.toption[@ocaml.doc"The ID of the association."];status:ServiceNetworkVpcAssociationStatus.toption[@ocaml.doc"The status of the association."];arn:ServiceNetworkVpcAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the association was created, in ISO-8601 format."];serviceNetworkId:ServiceNetworkId.toption[@ocaml.doc"The ID of the service network."];serviceNetworkName:ServiceNetworkName.toption[@ocaml.doc"The name of the service network."];serviceNetworkArn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];vpcId:VpcId.toption[@ocaml.doc"The ID of the VPC."];securityGroupIds:SecurityGroupList.toption[@ocaml.doc"The IDs of the security groups."];privateDnsEnabled:Boolean.toption[@ocaml.doc"Indicates if private DNS is enabled in the VPC association."];failureMessage:String_.toption[@ocaml.doc"The failure message."];failureCode:String_.toption[@ocaml.doc"The failure code."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the association was last updated, in ISO-8601 format."];dnsOptions:DnsOptions.toption[@ocaml.doc"DNS options for the service network VPC association."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?status->fun?arn->fun?createdBy->fun?createdAt->fun?serviceNetworkId->fun?serviceNetworkName->fun?serviceNetworkArn->fun?vpcId->fun?securityGroupIds->fun?privateDnsEnabled->fun?failureMessage->fun?failureCode->fun?lastUpdatedAt->fun?dnsOptions->fun()->{id;status;arn;createdBy;createdAt;serviceNetworkId;serviceNetworkName;serviceNetworkArn;vpcId;securityGroupIds;privateDnsEnabled;failureMessage;failureCode;lastUpdatedAt;dnsOptions}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkVpcAssociationId.to_value));("status",(Option.mapx.status~f:ServiceNetworkVpcAssociationStatus.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkVpcAssociationArn.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("serviceNetworkId",(Option.mapx.serviceNetworkId~f:ServiceNetworkId.to_value));("serviceNetworkName",(Option.mapx.serviceNetworkName~f:ServiceNetworkName.to_value));("serviceNetworkArn",(Option.mapx.serviceNetworkArn~f:ServiceNetworkArn.to_value));("vpcId",(Option.mapx.vpcId~f:VpcId.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupList.to_value));("privateDnsEnabled",(Option.mapx.privateDnsEnabled~f:Boolean.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value));("failureCode",(Option.mapx.failureCode~f:String_.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("dnsOptions",(Option.mapx.dnsOptions~f:DnsOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdnsOptions=(Option.map~f:DnsOptions.of_xml)(Xml.childxml_arg0"dnsOptions")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletfailureCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureCode")inletfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletprivateDnsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"privateDnsEnabled")inletsecurityGroupIds=(Option.map~f:SecurityGroupList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletvpcId=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcId")inletserviceNetworkArn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"serviceNetworkArn")inletserviceNetworkName=(Option.map~f:ServiceNetworkName.of_xml)(Xml.childxml_arg0"serviceNetworkName")inletserviceNetworkId=(Option.map~f:ServiceNetworkId.of_xml)(Xml.childxml_arg0"serviceNetworkId")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletarn=(Option.map~f:ServiceNetworkVpcAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:ServiceNetworkVpcAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletid=(Option.map~f:ServiceNetworkVpcAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?dnsOptions?lastUpdatedAt?failureCode?failureMessage?privateDnsEnabled?securityGroupIds?vpcId?serviceNetworkArn?serviceNetworkName?serviceNetworkId?createdAt?createdBy?arn?status?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdnsOptions=field_mapjson__"dnsOptions"DnsOptions.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletfailureCode=field_mapjson__"failureCode"String_.of_jsoninletfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletprivateDnsEnabled=field_mapjson__"privateDnsEnabled"Boolean.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupList.of_jsoninletvpcId=field_mapjson__"vpcId"VpcId.of_jsoninletserviceNetworkArn=field_mapjson__"serviceNetworkArn"ServiceNetworkArn.of_jsoninletserviceNetworkName=field_mapjson__"serviceNetworkName"ServiceNetworkName.of_jsoninletserviceNetworkId=field_mapjson__"serviceNetworkId"ServiceNetworkId.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkVpcAssociationArn.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkVpcAssociationStatus.of_jsoninletid=field_mapjson__"id"ServiceNetworkVpcAssociationId.of_jsoninmake?dnsOptions?lastUpdatedAt?failureCode?failureMessage?privateDnsEnabled?securityGroupIds?vpcId?serviceNetworkArn?serviceNetworkName?serviceNetworkId?createdAt?createdBy?arn?status?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified association between a service network and a VPC."]moduleGetServiceNetworkVpcAssociationRequest=structtypenonrect={serviceNetworkVpcAssociationIdentifier:ServiceNetworkVpcAssociationIdentifier.t[@ocaml.doc"The ID or ARN of the association."]}letcontext_="GetServiceNetworkVpcAssociationRequest"letmake~serviceNetworkVpcAssociationIdentifier=fun()->{serviceNetworkVpcAssociationIdentifier}letto_valuex=structure_to_value[("serviceNetworkVpcAssociationIdentifier",(Some(ServiceNetworkVpcAssociationIdentifier.to_valuex.serviceNetworkVpcAssociationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceNetworkVpcAssociationIdentifier=ServiceNetworkVpcAssociationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkVpcAssociationIdentifier")inmake~serviceNetworkVpcAssociationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceNetworkVpcAssociationIdentifier=field_map_exnjson__"serviceNetworkVpcAssociationIdentifier"ServiceNetworkVpcAssociationIdentifier.of_jsoninmake~serviceNetworkVpcAssociationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified association between a service network and a VPC."]moduleGetServiceNetworkServiceAssociationResponse=structtypenonrect={id:ServiceNetworkServiceAssociationIdentifier.toption[@ocaml.doc"The ID of the service network and service association."];status:ServiceNetworkServiceAssociationStatus.toption[@ocaml.doc"The status of the association."];arn:ServiceNetworkServiceAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the association was created, in ISO-8601 format."];serviceId:ServiceId.toption[@ocaml.doc"The ID of the service."];serviceName:ServiceName.toption[@ocaml.doc"The name of the service."];serviceArn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];serviceNetworkId:ServiceNetworkId.toption[@ocaml.doc"The ID of the service network."];serviceNetworkName:ServiceNetworkName.toption[@ocaml.doc"The name of the service network."];serviceNetworkArn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];dnsEntry:DnsEntry.toption[@ocaml.doc"The DNS name of the service."];customDomainName:ServiceCustomDomainName.toption[@ocaml.doc"The custom domain name of the service."];failureMessage:String_.toption[@ocaml.doc"The failure message."];failureCode:String_.toption[@ocaml.doc"The failure code."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?status->fun?arn->fun?createdBy->fun?createdAt->fun?serviceId->fun?serviceName->fun?serviceArn->fun?serviceNetworkId->fun?serviceNetworkName->fun?serviceNetworkArn->fun?dnsEntry->fun?customDomainName->fun?failureMessage->fun?failureCode->fun()->{id;status;arn;createdBy;createdAt;serviceId;serviceName;serviceArn;serviceNetworkId;serviceNetworkName;serviceNetworkArn;dnsEntry;customDomainName;failureMessage;failureCode}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkServiceAssociationIdentifier.to_value));("status",(Option.mapx.status~f:ServiceNetworkServiceAssociationStatus.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkServiceAssociationArn.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("serviceId",(Option.mapx.serviceId~f:ServiceId.to_value));("serviceName",(Option.mapx.serviceName~f:ServiceName.to_value));("serviceArn",(Option.mapx.serviceArn~f:ServiceArn.to_value));("serviceNetworkId",(Option.mapx.serviceNetworkId~f:ServiceNetworkId.to_value));("serviceNetworkName",(Option.mapx.serviceNetworkName~f:ServiceNetworkName.to_value));("serviceNetworkArn",(Option.mapx.serviceNetworkArn~f:ServiceNetworkArn.to_value));("dnsEntry",(Option.mapx.dnsEntry~f:DnsEntry.to_value));("customDomainName",(Option.mapx.customDomainName~f:ServiceCustomDomainName.to_value));("failureMessage",(Option.mapx.failureMessage~f:String_.to_value));("failureCode",(Option.mapx.failureCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailureCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureCode")inletfailureMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureMessage")inletcustomDomainName=(Option.map~f:ServiceCustomDomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletdnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"dnsEntry")inletserviceNetworkArn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"serviceNetworkArn")inletserviceNetworkName=(Option.map~f:ServiceNetworkName.of_xml)(Xml.childxml_arg0"serviceNetworkName")inletserviceNetworkId=(Option.map~f:ServiceNetworkId.of_xml)(Xml.childxml_arg0"serviceNetworkId")inletserviceArn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"serviceArn")inletserviceName=(Option.map~f:ServiceName.of_xml)(Xml.childxml_arg0"serviceName")inletserviceId=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"serviceId")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletarn=(Option.map~f:ServiceNetworkServiceAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:ServiceNetworkServiceAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletid=(Option.map~f:ServiceNetworkServiceAssociationIdentifier.of_xml)(Xml.childxml_arg0"id")inmake?failureCode?failureMessage?customDomainName?dnsEntry?serviceNetworkArn?serviceNetworkName?serviceNetworkId?serviceArn?serviceName?serviceId?createdAt?createdBy?arn?status?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailureCode=field_mapjson__"failureCode"String_.of_jsoninletfailureMessage=field_mapjson__"failureMessage"String_.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"ServiceCustomDomainName.of_jsoninletdnsEntry=field_mapjson__"dnsEntry"DnsEntry.of_jsoninletserviceNetworkArn=field_mapjson__"serviceNetworkArn"ServiceNetworkArn.of_jsoninletserviceNetworkName=field_mapjson__"serviceNetworkName"ServiceNetworkName.of_jsoninletserviceNetworkId=field_mapjson__"serviceNetworkId"ServiceNetworkId.of_jsoninletserviceArn=field_mapjson__"serviceArn"ServiceArn.of_jsoninletserviceName=field_mapjson__"serviceName"ServiceName.of_jsoninletserviceId=field_mapjson__"serviceId"ServiceId.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkServiceAssociationArn.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkServiceAssociationStatus.of_jsoninletid=field_mapjson__"id"ServiceNetworkServiceAssociationIdentifier.of_jsoninmake?failureCode?failureMessage?customDomainName?dnsEntry?serviceNetworkArn?serviceNetworkName?serviceNetworkId?serviceArn?serviceName?serviceId?createdAt?createdBy?arn?status?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified association between a service network and a service."]moduleGetServiceNetworkServiceAssociationRequest=structtypenonrect={serviceNetworkServiceAssociationIdentifier:ServiceNetworkServiceAssociationIdentifier.t[@ocaml.doc"The ID or ARN of the association."]}letcontext_="GetServiceNetworkServiceAssociationRequest"letmake~serviceNetworkServiceAssociationIdentifier=fun()->{serviceNetworkServiceAssociationIdentifier}letto_valuex=structure_to_value[("serviceNetworkServiceAssociationIdentifier",(Some(ServiceNetworkServiceAssociationIdentifier.to_valuex.serviceNetworkServiceAssociationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceNetworkServiceAssociationIdentifier=ServiceNetworkServiceAssociationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkServiceAssociationIdentifier")inmake~serviceNetworkServiceAssociationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceNetworkServiceAssociationIdentifier=field_map_exnjson__"serviceNetworkServiceAssociationIdentifier"ServiceNetworkServiceAssociationIdentifier.of_jsoninmake~serviceNetworkServiceAssociationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified association between a service network and a service."]moduleGetServiceNetworkResponse=structtypenonrect={id:ServiceNetworkId.toption[@ocaml.doc"The ID of the service network."];name:ServiceNetworkName.toption[@ocaml.doc"The name of the service network."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the service network was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time of the last update, in ISO-8601 format."];arn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy."];sharingConfig:SharingConfig.toption[@ocaml.doc"Specifies if the service network is enabled for sharing."];numberOfAssociatedVPCs:Long.toption[@ocaml.doc"The number of VPCs associated with the service network."];numberOfAssociatedServices:Long.toption[@ocaml.doc"The number of services associated with the service network."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?name->fun?createdAt->fun?lastUpdatedAt->fun?arn->fun?authType->fun?sharingConfig->fun?numberOfAssociatedVPCs->fun?numberOfAssociatedServices->fun()->{id;name;createdAt;lastUpdatedAt;arn;authType;sharingConfig;numberOfAssociatedVPCs;numberOfAssociatedServices}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkId.to_value));("name",(Option.mapx.name~f:ServiceNetworkName.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkArn.to_value));("authType",(Option.mapx.authType~f:AuthType.to_value));("sharingConfig",(Option.mapx.sharingConfig~f:SharingConfig.to_value));("numberOfAssociatedVPCs",(Option.mapx.numberOfAssociatedVPCs~f:Long.to_value));("numberOfAssociatedServices",(Option.mapx.numberOfAssociatedServices~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnumberOfAssociatedServices=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"numberOfAssociatedServices")inletnumberOfAssociatedVPCs=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"numberOfAssociatedVPCs")inletsharingConfig=(Option.map~f:SharingConfig.of_xml)(Xml.childxml_arg0"sharingConfig")inletauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletarn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"arn")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletname=(Option.map~f:ServiceNetworkName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ServiceNetworkId.of_xml)(Xml.childxml_arg0"id")inmake?numberOfAssociatedServices?numberOfAssociatedVPCs?sharingConfig?authType?arn?lastUpdatedAt?createdAt?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnumberOfAssociatedServices=field_mapjson__"numberOfAssociatedServices"Long.of_jsoninletnumberOfAssociatedVPCs=field_mapjson__"numberOfAssociatedVPCs"Long.of_jsoninletsharingConfig=field_mapjson__"sharingConfig"SharingConfig.of_jsoninletauthType=field_mapjson__"authType"AuthType.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkArn.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletname=field_mapjson__"name"ServiceNetworkName.of_jsoninletid=field_mapjson__"id"ServiceNetworkId.of_jsoninmake?numberOfAssociatedServices?numberOfAssociatedVPCs?sharingConfig?authType?arn?lastUpdatedAt?createdAt?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified service network."]moduleGetServiceNetworkResourceAssociationResponse=structtypenonrect={id:ServiceNetworkResourceAssociationId.toption[@ocaml.doc"The ID of the association."];arn:ServiceNetworkResourceAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];status:ServiceNetworkResourceAssociationStatus.toption[@ocaml.doc"The status of the association."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the association was created, in ISO-8601 format."];resourceConfigurationId:ResourceConfigurationId.toption[@ocaml.doc"The ID of the resource configuration that is associated with the service network."];resourceConfigurationArn:ResourceConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];resourceConfigurationName:ResourceConfigurationName.toption[@ocaml.doc"The name of the resource configuration that is associated with the service network."];serviceNetworkId:ServiceNetworkIdentifierWithoutRegex.toption[@ocaml.doc"The ID of the service network that is associated with the resource configuration."];serviceNetworkArn:ServiceNetworkIdentifierWithoutRegex.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network that is associated with the resource configuration."];serviceNetworkName:ServiceNetworkNameWithoutRegex.toption[@ocaml.doc"The name of the service network that is associated with the resource configuration."];failureReason:String_.toption[@ocaml.doc"The reason the association request failed."];failureCode:String_.toption[@ocaml.doc"The failure code."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The most recent date and time that the association was updated, in ISO-8601 format."];privateDnsEntry:DnsEntry.toption[@ocaml.doc"The private DNS entry for the service."];privateDnsEnabled:Boolean.toption[@ocaml.doc"Indicates if private DNS is enabled in the service network resource association."];dnsEntry:DnsEntry.toption[@ocaml.doc"The DNS entry for the service."];isManagedAssociation:Boolean.toption[@ocaml.doc"Indicates whether the association is managed by Amazon."];domainVerificationStatus:VerificationStatus.toption[@ocaml.doc"The domain verification status in the service network resource association."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?status->fun?createdBy->fun?createdAt->fun?resourceConfigurationId->fun?resourceConfigurationArn->fun?resourceConfigurationName->fun?serviceNetworkId->fun?serviceNetworkArn->fun?serviceNetworkName->fun?failureReason->fun?failureCode->fun?lastUpdatedAt->fun?privateDnsEntry->fun?privateDnsEnabled->fun?dnsEntry->fun?isManagedAssociation->fun?domainVerificationStatus->fun()->{id;arn;status;createdBy;createdAt;resourceConfigurationId;resourceConfigurationArn;resourceConfigurationName;serviceNetworkId;serviceNetworkArn;serviceNetworkName;failureReason;failureCode;lastUpdatedAt;privateDnsEntry;privateDnsEnabled;dnsEntry;isManagedAssociation;domainVerificationStatus}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkResourceAssociationId.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkResourceAssociationArn.to_value));("status",(Option.mapx.status~f:ServiceNetworkResourceAssociationStatus.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("resourceConfigurationId",(Option.mapx.resourceConfigurationId~f:ResourceConfigurationId.to_value));("resourceConfigurationArn",(Option.mapx.resourceConfigurationArn~f:ResourceConfigurationArn.to_value));("resourceConfigurationName",(Option.mapx.resourceConfigurationName~f:ResourceConfigurationName.to_value));("serviceNetworkId",(Option.mapx.serviceNetworkId~f:ServiceNetworkIdentifierWithoutRegex.to_value));("serviceNetworkArn",(Option.mapx.serviceNetworkArn~f:ServiceNetworkIdentifierWithoutRegex.to_value));("serviceNetworkName",(Option.mapx.serviceNetworkName~f:ServiceNetworkNameWithoutRegex.to_value));("failureReason",(Option.mapx.failureReason~f:String_.to_value));("failureCode",(Option.mapx.failureCode~f:String_.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("privateDnsEntry",(Option.mapx.privateDnsEntry~f:DnsEntry.to_value));("privateDnsEnabled",(Option.mapx.privateDnsEnabled~f:Boolean.to_value));("dnsEntry",(Option.mapx.dnsEntry~f:DnsEntry.to_value));("isManagedAssociation",(Option.mapx.isManagedAssociation~f:Boolean.to_value));("domainVerificationStatus",(Option.mapx.domainVerificationStatus~f:VerificationStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainVerificationStatus=(Option.map~f:VerificationStatus.of_xml)(Xml.childxml_arg0"domainVerificationStatus")inletisManagedAssociation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isManagedAssociation")inletdnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"dnsEntry")inletprivateDnsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"privateDnsEnabled")inletprivateDnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"privateDnsEntry")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletfailureCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureCode")inletfailureReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureReason")inletserviceNetworkName=(Option.map~f:ServiceNetworkNameWithoutRegex.of_xml)(Xml.childxml_arg0"serviceNetworkName")inletserviceNetworkArn=(Option.map~f:ServiceNetworkIdentifierWithoutRegex.of_xml)(Xml.childxml_arg0"serviceNetworkArn")inletserviceNetworkId=(Option.map~f:ServiceNetworkIdentifierWithoutRegex.of_xml)(Xml.childxml_arg0"serviceNetworkId")inletresourceConfigurationName=(Option.map~f:ResourceConfigurationName.of_xml)(Xml.childxml_arg0"resourceConfigurationName")inletresourceConfigurationArn=(Option.map~f:ResourceConfigurationArn.of_xml)(Xml.childxml_arg0"resourceConfigurationArn")inletresourceConfigurationId=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"resourceConfigurationId")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletstatus=(Option.map~f:ServiceNetworkResourceAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ServiceNetworkResourceAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceNetworkResourceAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?domainVerificationStatus?isManagedAssociation?dnsEntry?privateDnsEnabled?privateDnsEntry?lastUpdatedAt?failureCode?failureReason?serviceNetworkName?serviceNetworkArn?serviceNetworkId?resourceConfigurationName?resourceConfigurationArn?resourceConfigurationId?createdAt?createdBy?status?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainVerificationStatus=field_mapjson__"domainVerificationStatus"VerificationStatus.of_jsoninletisManagedAssociation=field_mapjson__"isManagedAssociation"Boolean.of_jsoninletdnsEntry=field_mapjson__"dnsEntry"DnsEntry.of_jsoninletprivateDnsEnabled=field_mapjson__"privateDnsEnabled"Boolean.of_jsoninletprivateDnsEntry=field_mapjson__"privateDnsEntry"DnsEntry.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletfailureCode=field_mapjson__"failureCode"String_.of_jsoninletfailureReason=field_mapjson__"failureReason"String_.of_jsoninletserviceNetworkName=field_mapjson__"serviceNetworkName"ServiceNetworkNameWithoutRegex.of_jsoninletserviceNetworkArn=field_mapjson__"serviceNetworkArn"ServiceNetworkIdentifierWithoutRegex.of_jsoninletserviceNetworkId=field_mapjson__"serviceNetworkId"ServiceNetworkIdentifierWithoutRegex.of_jsoninletresourceConfigurationName=field_mapjson__"resourceConfigurationName"ResourceConfigurationName.of_jsoninletresourceConfigurationArn=field_mapjson__"resourceConfigurationArn"ResourceConfigurationArn.of_jsoninletresourceConfigurationId=field_mapjson__"resourceConfigurationId"ResourceConfigurationId.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkResourceAssociationStatus.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkResourceAssociationArn.of_jsoninletid=field_mapjson__"id"ServiceNetworkResourceAssociationId.of_jsoninmake?domainVerificationStatus?isManagedAssociation?dnsEntry?privateDnsEnabled?privateDnsEntry?lastUpdatedAt?failureCode?failureReason?serviceNetworkName?serviceNetworkArn?serviceNetworkId?resourceConfigurationName?resourceConfigurationArn?resourceConfigurationId?createdAt?createdBy?status?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified association between a service network and a resource configuration."]moduleGetServiceNetworkResourceAssociationRequest=structtypenonrect={serviceNetworkResourceAssociationIdentifier:ServiceNetworkResourceAssociationIdentifier.t[@ocaml.doc"The ID of the association."]}letcontext_="GetServiceNetworkResourceAssociationRequest"letmake~serviceNetworkResourceAssociationIdentifier=fun()->{serviceNetworkResourceAssociationIdentifier}letto_valuex=structure_to_value[("serviceNetworkResourceAssociationIdentifier",(Some(ServiceNetworkResourceAssociationIdentifier.to_valuex.serviceNetworkResourceAssociationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceNetworkResourceAssociationIdentifier=ServiceNetworkResourceAssociationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkResourceAssociationIdentifier")inmake~serviceNetworkResourceAssociationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceNetworkResourceAssociationIdentifier=field_map_exnjson__"serviceNetworkResourceAssociationIdentifier"ServiceNetworkResourceAssociationIdentifier.of_jsoninmake~serviceNetworkResourceAssociationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified association between a service network and a resource configuration."]moduleGetServiceNetworkRequest=structtypenonrect={serviceNetworkIdentifier:ServiceNetworkIdentifier.t[@ocaml.doc"The ID or ARN of the service network."]}letcontext_="GetServiceNetworkRequest"letmake~serviceNetworkIdentifier=fun()->{serviceNetworkIdentifier}letto_valuex=structure_to_value[("serviceNetworkIdentifier",(Some(ServiceNetworkIdentifier.to_valuex.serviceNetworkIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceNetworkIdentifier=ServiceNetworkIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkIdentifier")inmake~serviceNetworkIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceNetworkIdentifier=field_map_exnjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninmake~serviceNetworkIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified service network."]moduleGetRuleResponse=structtypenonrect={arn:RuleArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the listener."];id:RuleId.toption[@ocaml.doc"The ID of the listener."];name:RuleName.toption[@ocaml.doc"The name of the listener."];isDefault:Boolean.toption[@ocaml.doc"Indicates whether this is the default rule."];match_:RuleMatch.toption[@ocaml.doc"The rule match."];priority:RulePriority.toption[@ocaml.doc"The priority level for the specified rule."];action:RuleAction.toption[@ocaml.doc"The action for the default rule."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the listener rule was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the listener rule was last updated, in ISO-8601 format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun?name->fun?isDefault->fun?match_->fun?priority->fun?action->fun?createdAt->fun?lastUpdatedAt->fun()->{arn;id;name;isDefault;match_;priority;action;createdAt;lastUpdatedAt}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("arn",(Option.mapx.arn~f:RuleArn.to_value));("id",(Option.mapx.id~f:RuleId.to_value));("name",(Option.mapx.name~f:RuleName.to_value));("isDefault",(Option.mapx.isDefault~f:Boolean.to_value));("match",(Option.mapx.match_~f:RuleMatch.to_value));("priority",(Option.mapx.priority~f:RulePriority.to_value));("action",(Option.mapx.action~f:RuleAction.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletaction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"action")inletpriority=(Option.map~f:RulePriority.of_xml)(Xml.childxml_arg0"priority")inletmatch_=(Option.map~f:RuleMatch.of_xml)(Xml.childxml_arg0"match")inletisDefault=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"isDefault")inletname=(Option.map~f:RuleName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:RuleId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:RuleArn.of_xml)(Xml.childxml_arg0"arn")inmake?lastUpdatedAt?createdAt?action?priority?match_?isDefault?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletaction=field_mapjson__"action"RuleAction.of_jsoninletpriority=field_mapjson__"priority"RulePriority.of_jsoninletmatch_=field_mapjson__"match"RuleMatch.of_jsoninletisDefault=field_mapjson__"isDefault"Boolean.of_jsoninletname=field_mapjson__"name"RuleName.of_jsoninletid=field_mapjson__"id"RuleId.of_jsoninletarn=field_mapjson__"arn"RuleArn.of_jsoninmake?lastUpdatedAt?createdAt?action?priority?match_?isDefault?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified listener rules. You can also retrieve information about the default listener rule. For more information, see Listener rules in the Amazon VPC Lattice User Guide."]moduleGetRuleRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."];ruleIdentifier:RuleIdentifier.t[@ocaml.doc"The ID or ARN of the listener rule."]}letcontext_="GetRuleRequest"letmake~serviceIdentifier=fun~listenerIdentifier->fun~ruleIdentifier->fun()->{serviceIdentifier;listenerIdentifier;ruleIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)));("ruleIdentifier",(Some(RuleIdentifier.to_valuex.ruleIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letruleIdentifier=RuleIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"ruleIdentifier")inletlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake~ruleIdentifier~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letruleIdentifier=field_map_exnjson__"ruleIdentifier"RuleIdentifier.of_jsoninletlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake~ruleIdentifier~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified listener rules. You can also retrieve information about the default listener rule. For more information, see Listener rules in the Amazon VPC Lattice User Guide."]moduleGetResourcePolicyResponse=structtypenonrect={policy:PolicyString.toption[@ocaml.doc"An IAM policy."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?policy=fun()->{policy}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("policy",(Option.mapx.policy~f:PolicyString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpolicy=(Option.map~f:PolicyString.of_xml)(Xml.childxml_arg0"policy")inmake?policy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpolicy=field_mapjson__"policy"PolicyString.of_jsoninmake?policy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified resource policy. The resource policy is an IAM policy created on behalf of the resource owner when they share a resource."]moduleGetResourcePolicyRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the service network or service."]}letcontext_="GetResourcePolicyRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified resource policy. The resource policy is an IAM policy created on behalf of the resource owner when they share a resource."]moduleGetResourceGatewayResponse=structtypenonrect={name:ResourceGatewayName.toption[@ocaml.doc"The name of the resource gateway."];id:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway."];arn:ResourceGatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource gateway."];status:ResourceGatewayStatus.toption[@ocaml.doc"The status for the resource gateway."];vpcId:VpcId.toption[@ocaml.doc"The ID of the VPC for the resource gateway."];subnetIds:SubnetList.toption[@ocaml.doc"The IDs of the VPC subnets for resource gateway."];serviceManaged:Boolean.toption[@ocaml.doc"Indicates whether the resource gateway is managed by an AWS service."];managedBy:String_.toption[@ocaml.doc"The AWS service that manages the resource gateway."];securityGroupIds:SecurityGroupList.toption[@ocaml.doc"The security group IDs associated with the resource gateway."];ipAddressType:ResourceGatewayIpAddressType.toption[@ocaml.doc"The type of IP address for the resource gateway."];ipv4AddressesPerEni:Ipv4AddressesPerEni.toption[@ocaml.doc"The number of IPv4 addresses in each ENI for the resource gateway."];resourceConfigDnsResolution:ResourceConfigDnsResolution.toption[@ocaml.doc"The DNS resolution type for resource configurations that are associated with this resource gateway."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the resource gateway was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the resource gateway was last updated, in ISO-8601 format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?name=fun?id->fun?arn->fun?status->fun?vpcId->fun?subnetIds->fun?serviceManaged->fun?managedBy->fun?securityGroupIds->fun?ipAddressType->fun?ipv4AddressesPerEni->fun?resourceConfigDnsResolution->fun?createdAt->fun?lastUpdatedAt->fun()->{name;id;arn;status;vpcId;subnetIds;serviceManaged;managedBy;securityGroupIds;ipAddressType;ipv4AddressesPerEni;resourceConfigDnsResolution;createdAt;lastUpdatedAt}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("name",(Option.mapx.name~f:ResourceGatewayName.to_value));("id",(Option.mapx.id~f:ResourceGatewayId.to_value));("arn",(Option.mapx.arn~f:ResourceGatewayArn.to_value));("status",(Option.mapx.status~f:ResourceGatewayStatus.to_value));("vpcId",(Option.mapx.vpcId~f:VpcId.to_value));("subnetIds",(Option.mapx.subnetIds~f:SubnetList.to_value));("serviceManaged",(Option.mapx.serviceManaged~f:Boolean.to_value));("managedBy",(Option.mapx.managedBy~f:String_.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupList.to_value));("ipAddressType",(Option.mapx.ipAddressType~f:ResourceGatewayIpAddressType.to_value));("ipv4AddressesPerEni",(Option.mapx.ipv4AddressesPerEni~f:Ipv4AddressesPerEni.to_value));("resourceConfigDnsResolution",(Option.mapx.resourceConfigDnsResolution~f:ResourceConfigDnsResolution.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletresourceConfigDnsResolution=(Option.map~f:ResourceConfigDnsResolution.of_xml)(Xml.childxml_arg0"resourceConfigDnsResolution")inletipv4AddressesPerEni=(Option.map~f:Ipv4AddressesPerEni.of_xml)(Xml.childxml_arg0"ipv4AddressesPerEni")inletipAddressType=(Option.map~f:ResourceGatewayIpAddressType.of_xml)(Xml.childxml_arg0"ipAddressType")inletsecurityGroupIds=(Option.map~f:SecurityGroupList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletmanagedBy=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"managedBy")inletserviceManaged=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"serviceManaged")inletsubnetIds=(Option.map~f:SubnetList.of_xml)(Xml.childxml_arg0"subnetIds")inletvpcId=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcId")inletstatus=(Option.map~f:ResourceGatewayStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ResourceGatewayArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:ResourceGatewayName.of_xml)(Xml.childxml_arg0"name")inmake?lastUpdatedAt?createdAt?resourceConfigDnsResolution?ipv4AddressesPerEni?ipAddressType?securityGroupIds?managedBy?serviceManaged?subnetIds?vpcId?status?arn?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletresourceConfigDnsResolution=field_mapjson__"resourceConfigDnsResolution"ResourceConfigDnsResolution.of_jsoninletipv4AddressesPerEni=field_mapjson__"ipv4AddressesPerEni"Ipv4AddressesPerEni.of_jsoninletipAddressType=field_mapjson__"ipAddressType"ResourceGatewayIpAddressType.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupList.of_jsoninletmanagedBy=field_mapjson__"managedBy"String_.of_jsoninletserviceManaged=field_mapjson__"serviceManaged"Boolean.of_jsoninletsubnetIds=field_mapjson__"subnetIds"SubnetList.of_jsoninletvpcId=field_mapjson__"vpcId"VpcId.of_jsoninletstatus=field_mapjson__"status"ResourceGatewayStatus.of_jsoninletarn=field_mapjson__"arn"ResourceGatewayArn.of_jsoninletid=field_mapjson__"id"ResourceGatewayId.of_jsoninletname=field_mapjson__"name"ResourceGatewayName.of_jsoninmake?lastUpdatedAt?createdAt?resourceConfigDnsResolution?ipv4AddressesPerEni?ipAddressType?securityGroupIds?managedBy?serviceManaged?subnetIds?vpcId?status?arn?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified resource gateway."]moduleGetResourceGatewayRequest=structtypenonrect={resourceGatewayIdentifier:ResourceGatewayIdentifier.t[@ocaml.doc"The ID of the resource gateway."]}letcontext_="GetResourceGatewayRequest"letmake~resourceGatewayIdentifier=fun()->{resourceGatewayIdentifier}letto_valuex=structure_to_value[("resourceGatewayIdentifier",(Some(ResourceGatewayIdentifier.to_valuex.resourceGatewayIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceGatewayIdentifier=ResourceGatewayIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceGatewayIdentifier")inmake~resourceGatewayIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceGatewayIdentifier=field_map_exnjson__"resourceGatewayIdentifier"ResourceGatewayIdentifier.of_jsoninmake~resourceGatewayIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified resource gateway."]moduleGetResourceConfigurationResponse=structtypenonrect={id:ResourceConfigurationId.toption[@ocaml.doc"The ID of the resource configuration."];name:ResourceConfigurationName.toption[@ocaml.doc"The name of the resource configuration."];arn:ResourceConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource configuration."];resourceGatewayId:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway used to connect to the resource configuration in a given VPC. You can specify the resource gateway identifier only for resource configurations with type SINGLE, GROUP, or ARN."];resourceConfigurationGroupId:ResourceConfigurationId.toption[@ocaml.doc"The ID of the group resource configuration."];type_:ResourceConfigurationType.toption[@ocaml.doc"The type of resource configuration. SINGLE - A single resource. GROUP - A group of resources. CHILD - A single resource that is part of a group resource configuration. ARN - An Amazon Web Services resource."];allowAssociationToShareableServiceNetwork:Boolean.toption[@ocaml.doc"Specifies whether the resource configuration is associated with a sharable service network."];portRanges:PortRangeList.toption[@ocaml.doc"The TCP port ranges that a consumer can use to access a resource configuration. You can separate port ranges with a comma. Example: 1-65535 or 1,2,22-30"];protocol:ProtocolType.toption[@ocaml.doc"The TCP protocol accepted by the specified resource configuration."];customDomainName:DomainName.toption[@ocaml.doc"The custom domain name of the resource configuration."];status:ResourceConfigurationStatus.toption[@ocaml.doc"The status of the resource configuration."];resourceConfigurationDefinition:ResourceConfigurationDefinition.toption[@ocaml.doc"The resource configuration."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the resource configuration was created, in ISO-8601 format."];amazonManaged:Boolean.toption[@ocaml.doc"Indicates whether the resource configuration was created and is managed by Amazon."];failureReason:String_.toption[@ocaml.doc"The reason the create-resource-configuration request failed."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The most recent date and time that the resource configuration was updated, in ISO-8601 format."];domainVerificationId:DomainVerificationId.toption[@ocaml.doc"The domain verification ID."];domainVerificationArn:DomainVerificationArn.toption[@ocaml.doc"The ARN of the domain verification."];domainVerificationStatus:VerificationStatus.toption[@ocaml.doc"The domain verification status."];groupDomain:DomainName.toption[@ocaml.doc"(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?name->fun?arn->fun?resourceGatewayId->fun?resourceConfigurationGroupId->fun?type_->fun?allowAssociationToShareableServiceNetwork->fun?portRanges->fun?protocol->fun?customDomainName->fun?status->fun?resourceConfigurationDefinition->fun?createdAt->fun?amazonManaged->fun?failureReason->fun?lastUpdatedAt->fun?domainVerificationId->fun?domainVerificationArn->fun?domainVerificationStatus->fun?groupDomain->fun()->{id;name;arn;resourceGatewayId;resourceConfigurationGroupId;type_;allowAssociationToShareableServiceNetwork;portRanges;protocol;customDomainName;status;resourceConfigurationDefinition;createdAt;amazonManaged;failureReason;lastUpdatedAt;domainVerificationId;domainVerificationArn;domainVerificationStatus;groupDomain}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ResourceConfigurationId.to_value));("name",(Option.mapx.name~f:ResourceConfigurationName.to_value));("arn",(Option.mapx.arn~f:ResourceConfigurationArn.to_value));("resourceGatewayId",(Option.mapx.resourceGatewayId~f:ResourceGatewayId.to_value));("resourceConfigurationGroupId",(Option.mapx.resourceConfigurationGroupId~f:ResourceConfigurationId.to_value));("type",(Option.mapx.type_~f:ResourceConfigurationType.to_value));("allowAssociationToShareableServiceNetwork",(Option.mapx.allowAssociationToShareableServiceNetwork~f:Boolean.to_value));("portRanges",(Option.mapx.portRanges~f:PortRangeList.to_value));("protocol",(Option.mapx.protocol~f:ProtocolType.to_value));("customDomainName",(Option.mapx.customDomainName~f:DomainName.to_value));("status",(Option.mapx.status~f:ResourceConfigurationStatus.to_value));("resourceConfigurationDefinition",(Option.mapx.resourceConfigurationDefinition~f:ResourceConfigurationDefinition.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("amazonManaged",(Option.mapx.amazonManaged~f:Boolean.to_value));("failureReason",(Option.mapx.failureReason~f:String_.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value));("domainVerificationId",(Option.mapx.domainVerificationId~f:DomainVerificationId.to_value));("domainVerificationArn",(Option.mapx.domainVerificationArn~f:DomainVerificationArn.to_value));("domainVerificationStatus",(Option.mapx.domainVerificationStatus~f:VerificationStatus.to_value));("groupDomain",(Option.mapx.groupDomain~f:DomainName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letgroupDomain=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"groupDomain")inletdomainVerificationStatus=(Option.map~f:VerificationStatus.of_xml)(Xml.childxml_arg0"domainVerificationStatus")inletdomainVerificationArn=(Option.map~f:DomainVerificationArn.of_xml)(Xml.childxml_arg0"domainVerificationArn")inletdomainVerificationId=(Option.map~f:DomainVerificationId.of_xml)(Xml.childxml_arg0"domainVerificationId")inletlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletfailureReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureReason")inletamazonManaged=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"amazonManaged")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletresourceConfigurationDefinition=(Option.map~f:ResourceConfigurationDefinition.of_xml)(Xml.childxml_arg0"resourceConfigurationDefinition")inletstatus=(Option.map~f:ResourceConfigurationStatus.of_xml)(Xml.childxml_arg0"status")inletcustomDomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletprotocol=(Option.map~f:ProtocolType.of_xml)(Xml.childxml_arg0"protocol")inletportRanges=(Option.map~f:PortRangeList.of_xml)(Xml.childxml_arg0"portRanges")inletallowAssociationToShareableServiceNetwork=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"allowAssociationToShareableServiceNetwork")inlettype_=(Option.map~f:ResourceConfigurationType.of_xml)(Xml.childxml_arg0"type")inletresourceConfigurationGroupId=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"resourceConfigurationGroupId")inletresourceGatewayId=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"resourceGatewayId")inletarn=(Option.map~f:ResourceConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ResourceConfigurationName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"id")inmake?groupDomain?domainVerificationStatus?domainVerificationArn?domainVerificationId?lastUpdatedAt?failureReason?amazonManaged?createdAt?resourceConfigurationDefinition?status?customDomainName?protocol?portRanges?allowAssociationToShareableServiceNetwork?type_?resourceConfigurationGroupId?resourceGatewayId?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letgroupDomain=field_mapjson__"groupDomain"DomainName.of_jsoninletdomainVerificationStatus=field_mapjson__"domainVerificationStatus"VerificationStatus.of_jsoninletdomainVerificationArn=field_mapjson__"domainVerificationArn"DomainVerificationArn.of_jsoninletdomainVerificationId=field_mapjson__"domainVerificationId"DomainVerificationId.of_jsoninletlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletfailureReason=field_mapjson__"failureReason"String_.of_jsoninletamazonManaged=field_mapjson__"amazonManaged"Boolean.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletresourceConfigurationDefinition=field_mapjson__"resourceConfigurationDefinition"ResourceConfigurationDefinition.of_jsoninletstatus=field_mapjson__"status"ResourceConfigurationStatus.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"DomainName.of_jsoninletprotocol=field_mapjson__"protocol"ProtocolType.of_jsoninletportRanges=field_mapjson__"portRanges"PortRangeList.of_jsoninletallowAssociationToShareableServiceNetwork=field_mapjson__"allowAssociationToShareableServiceNetwork"Boolean.of_jsoninlettype_=field_mapjson__"type"ResourceConfigurationType.of_jsoninletresourceConfigurationGroupId=field_mapjson__"resourceConfigurationGroupId"ResourceConfigurationId.of_jsoninletresourceGatewayId=field_mapjson__"resourceGatewayId"ResourceGatewayId.of_jsoninletarn=field_mapjson__"arn"ResourceConfigurationArn.of_jsoninletname=field_mapjson__"name"ResourceConfigurationName.of_jsoninletid=field_mapjson__"id"ResourceConfigurationId.of_jsoninmake?groupDomain?domainVerificationStatus?domainVerificationArn?domainVerificationId?lastUpdatedAt?failureReason?amazonManaged?createdAt?resourceConfigurationDefinition?status?customDomainName?protocol?portRanges?allowAssociationToShareableServiceNetwork?type_?resourceConfigurationGroupId?resourceGatewayId?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified resource configuration."]moduleGetResourceConfigurationRequest=structtypenonrect={resourceConfigurationIdentifier:ResourceConfigurationIdentifier.t[@ocaml.doc"The ID of the resource configuration."]}letcontext_="GetResourceConfigurationRequest"letmake~resourceConfigurationIdentifier=fun()->{resourceConfigurationIdentifier}letto_valuex=structure_to_value[("resourceConfigurationIdentifier",(Some(ResourceConfigurationIdentifier.to_valuex.resourceConfigurationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceConfigurationIdentifier=ResourceConfigurationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceConfigurationIdentifier")inmake~resourceConfigurationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceConfigurationIdentifier=field_map_exnjson__"resourceConfigurationIdentifier"ResourceConfigurationIdentifier.of_jsoninmake~resourceConfigurationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified resource configuration."]moduleGetListenerResponse=structtypenonrect={arn:ListenerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the listener."];id:ListenerId.toption[@ocaml.doc"The ID of the listener."];name:ListenerName.toption[@ocaml.doc"The name of the listener."];protocol:ListenerProtocol.toption[@ocaml.doc"The listener protocol."];port:Port.toption[@ocaml.doc"The listener port."];serviceArn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];serviceId:ServiceId.toption[@ocaml.doc"The ID of the service."];defaultAction:RuleAction.toption[@ocaml.doc"The actions for the default listener rule."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the listener was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the listener was last updated, in ISO-8601 format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun?name->fun?protocol->fun?port->fun?serviceArn->fun?serviceId->fun?defaultAction->fun?createdAt->fun?lastUpdatedAt->fun()->{arn;id;name;protocol;port;serviceArn;serviceId;defaultAction;createdAt;lastUpdatedAt}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("arn",(Option.mapx.arn~f:ListenerArn.to_value));("id",(Option.mapx.id~f:ListenerId.to_value));("name",(Option.mapx.name~f:ListenerName.to_value));("protocol",(Option.mapx.protocol~f:ListenerProtocol.to_value));("port",(Option.mapx.port~f:Port.to_value));("serviceArn",(Option.mapx.serviceArn~f:ServiceArn.to_value));("serviceId",(Option.mapx.serviceId~f:ServiceId.to_value));("defaultAction",(Option.mapx.defaultAction~f:RuleAction.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletdefaultAction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"defaultAction")inletserviceId=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"serviceId")inletserviceArn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"serviceArn")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletprotocol=(Option.map~f:ListenerProtocol.of_xml)(Xml.childxml_arg0"protocol")inletname=(Option.map~f:ListenerName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ListenerId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:ListenerArn.of_xml)(Xml.childxml_arg0"arn")inmake?lastUpdatedAt?createdAt?defaultAction?serviceId?serviceArn?port?protocol?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletdefaultAction=field_mapjson__"defaultAction"RuleAction.of_jsoninletserviceId=field_mapjson__"serviceId"ServiceId.of_jsoninletserviceArn=field_mapjson__"serviceArn"ServiceArn.of_jsoninletport=field_mapjson__"port"Port.of_jsoninletprotocol=field_mapjson__"protocol"ListenerProtocol.of_jsoninletname=field_mapjson__"name"ListenerName.of_jsoninletid=field_mapjson__"id"ListenerId.of_jsoninletarn=field_mapjson__"arn"ListenerArn.of_jsoninmake?lastUpdatedAt?createdAt?defaultAction?serviceId?serviceArn?port?protocol?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified listener for the specified service."]moduleGetListenerRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."]}letcontext_="GetListenerRequest"letmake~serviceIdentifier=fun~listenerIdentifier->fun()->{serviceIdentifier;listenerIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified listener for the specified service."]moduleGetDomainVerificationResponse=structtypenonrect={id:DomainVerificationId.toption[@ocaml.doc"The ID of the domain verification."];arn:DomainVerificationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the domain verification."];domainName:DomainName.toption[@ocaml.doc"The domain name being verified."];status:VerificationStatus.toption[@ocaml.doc"The current status of the domain verification process."];txtMethodConfig:TxtMethodConfig.toption[@ocaml.doc"The TXT record configuration used for domain verification."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the domain verification was created, in ISO-8601 format."];lastVerifiedTime:Timestamp.toption[@ocaml.doc"The date and time that the domain was last successfully verified, in ISO-8601 format."];tags:TagMap.toption[@ocaml.doc"The tags associated with the domain verification."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?domainName->fun?status->fun?txtMethodConfig->fun?createdAt->fun?lastVerifiedTime->fun?tags->fun()->{id;arn;domainName;status;txtMethodConfig;createdAt;lastVerifiedTime;tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:DomainVerificationId.to_value));("arn",(Option.mapx.arn~f:DomainVerificationArn.to_value));("domainName",(Option.mapx.domainName~f:DomainName.to_value));("status",(Option.mapx.status~f:VerificationStatus.to_value));("txtMethodConfig",(Option.mapx.txtMethodConfig~f:TxtMethodConfig.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastVerifiedTime",(Option.mapx.lastVerifiedTime~f:Timestamp.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletlastVerifiedTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastVerifiedTime")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inlettxtMethodConfig=(Option.map~f:TxtMethodConfig.of_xml)(Xml.childxml_arg0"txtMethodConfig")inletstatus=(Option.map~f:VerificationStatus.of_xml)(Xml.childxml_arg0"status")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inletarn=(Option.map~f:DomainVerificationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:DomainVerificationId.of_xml)(Xml.childxml_arg0"id")inmake?tags?lastVerifiedTime?createdAt?txtMethodConfig?status?domainName?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletlastVerifiedTime=field_mapjson__"lastVerifiedTime"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninlettxtMethodConfig=field_mapjson__"txtMethodConfig"TxtMethodConfig.of_jsoninletstatus=field_mapjson__"status"VerificationStatus.of_jsoninletdomainName=field_mapjson__"domainName"DomainName.of_jsoninletarn=field_mapjson__"arn"DomainVerificationArn.of_jsoninletid=field_mapjson__"id"DomainVerificationId.of_jsoninmake?tags?lastVerifiedTime?createdAt?txtMethodConfig?status?domainName?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about a domain verification.\195\159"]moduleGetDomainVerificationRequest=structtypenonrect={domainVerificationIdentifier:DomainVerificationIdentifier.t[@ocaml.doc"The ID or ARN of the domain verification to retrieve."]}letcontext_="GetDomainVerificationRequest"letmake~domainVerificationIdentifier=fun()->{domainVerificationIdentifier}letto_valuex=structure_to_value[("domainVerificationIdentifier",(Some(DomainVerificationIdentifier.to_valuex.domainVerificationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainVerificationIdentifier=DomainVerificationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"domainVerificationIdentifier")inmake~domainVerificationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainVerificationIdentifier=field_map_exnjson__"domainVerificationIdentifier"DomainVerificationIdentifier.of_jsoninmake~domainVerificationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about a domain verification.\195\159"]moduleGetAuthPolicyResponse=structtypenonrect={policy:AuthPolicyString.toption[@ocaml.doc"The auth policy."];state:AuthPolicyState.toption[@ocaml.doc"The state of the auth policy. The auth policy is only active when the auth type is set to AWS_IAM. If you provide a policy, then authentication and authorization decisions are made based on this policy and the client's IAM policy. If the auth type is NONE, then any auth policy that you provide remains inactive. For more information, see Create a service network in the Amazon VPC Lattice User Guide."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the auth policy was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the auth policy was last updated, in ISO-8601 format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?policy=fun?state->fun?createdAt->fun?lastUpdatedAt->fun()->{policy;state;createdAt;lastUpdatedAt}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("policy",(Option.mapx.policy~f:AuthPolicyString.to_value));("state",(Option.mapx.state~f:AuthPolicyState.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletstate=(Option.map~f:AuthPolicyState.of_xml)(Xml.childxml_arg0"state")inletpolicy=(Option.map~f:AuthPolicyString.of_xml)(Xml.childxml_arg0"policy")inmake?lastUpdatedAt?createdAt?state?policy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletstate=field_mapjson__"state"AuthPolicyState.of_jsoninletpolicy=field_mapjson__"policy"AuthPolicyString.of_jsoninmake?lastUpdatedAt?createdAt?state?policy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the auth policy for the specified service or service network."]moduleGetAuthPolicyRequest=structtypenonrect={resourceIdentifier:ResourceIdentifier.t[@ocaml.doc"The ID or ARN of the service network or service."]}letcontext_="GetAuthPolicyRequest"letmake~resourceIdentifier=fun()->{resourceIdentifier}letto_valuex=structure_to_value[("resourceIdentifier",(Some(ResourceIdentifier.to_valuex.resourceIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceIdentifier=ResourceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceIdentifier")inmake~resourceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceIdentifier=field_map_exnjson__"resourceIdentifier"ResourceIdentifier.of_jsoninmake~resourceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the auth policy for the specified service or service network."]moduleGetAccessLogSubscriptionResponse=structtypenonrect={id:AccessLogSubscriptionId.toption[@ocaml.doc"The ID of the access log subscription."];arn:AccessLogSubscriptionArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the access log subscription."];resourceId:ResourceId.toption[@ocaml.doc"The ID of the service network or service."];resourceArn:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network or service."];destinationArn:AccessLogDestinationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the access log destination."];serviceNetworkLogType:ServiceNetworkLogType.toption[@ocaml.doc"The log type for the service network."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the access log subscription was created, in ISO-8601 format."];lastUpdatedAt:Timestamp.toption[@ocaml.doc"The date and time that the access log subscription was last updated, in ISO-8601 format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?resourceId->fun?resourceArn->fun?destinationArn->fun?serviceNetworkLogType->fun?createdAt->fun?lastUpdatedAt->fun()->{id;arn;resourceId;resourceArn;destinationArn;serviceNetworkLogType;createdAt;lastUpdatedAt}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:AccessLogSubscriptionId.to_value));("arn",(Option.mapx.arn~f:AccessLogSubscriptionArn.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceArn",(Option.mapx.resourceArn~f:ResourceArn.to_value));("destinationArn",(Option.mapx.destinationArn~f:AccessLogDestinationArn.to_value));("serviceNetworkLogType",(Option.mapx.serviceNetworkLogType~f:ServiceNetworkLogType.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("lastUpdatedAt",(Option.mapx.lastUpdatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletserviceNetworkLogType=(Option.map~f:ServiceNetworkLogType.of_xml)(Xml.childxml_arg0"serviceNetworkLogType")inletdestinationArn=(Option.map~f:AccessLogDestinationArn.of_xml)(Xml.childxml_arg0"destinationArn")inletresourceArn=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"resourceArn")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletarn=(Option.map~f:AccessLogSubscriptionArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:AccessLogSubscriptionId.of_xml)(Xml.childxml_arg0"id")inmake?lastUpdatedAt?createdAt?serviceNetworkLogType?destinationArn?resourceArn?resourceId?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastUpdatedAt=field_mapjson__"lastUpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletserviceNetworkLogType=field_mapjson__"serviceNetworkLogType"ServiceNetworkLogType.of_jsoninletdestinationArn=field_mapjson__"destinationArn"AccessLogDestinationArn.of_jsoninletresourceArn=field_mapjson__"resourceArn"ResourceArn.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletarn=field_mapjson__"arn"AccessLogSubscriptionArn.of_jsoninletid=field_mapjson__"id"AccessLogSubscriptionId.of_jsoninmake?lastUpdatedAt?createdAt?serviceNetworkLogType?destinationArn?resourceArn?resourceId?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified access log subscription."]moduleGetAccessLogSubscriptionRequest=structtypenonrect={accessLogSubscriptionIdentifier:AccessLogSubscriptionIdentifier.t[@ocaml.doc"The ID or ARN of the access log subscription."]}letcontext_="GetAccessLogSubscriptionRequest"letmake~accessLogSubscriptionIdentifier=fun()->{accessLogSubscriptionIdentifier}letto_valuex=structure_to_value[("accessLogSubscriptionIdentifier",(Some(AccessLogSubscriptionIdentifier.to_valuex.accessLogSubscriptionIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccessLogSubscriptionIdentifier=AccessLogSubscriptionIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"accessLogSubscriptionIdentifier")inmake~accessLogSubscriptionIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccessLogSubscriptionIdentifier=field_map_exnjson__"accessLogSubscriptionIdentifier"AccessLogSubscriptionIdentifier.of_jsoninmake~accessLogSubscriptionIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified access log subscription."]moduleDeregisterTargetsResponse=structtypenonrect={successful:TargetList.toption[@ocaml.doc"The targets that were successfully deregistered."];unsuccessful:TargetFailureList.toption[@ocaml.doc"The targets that the operation couldn't deregister."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?successful=fun?unsuccessful->fun()->{successful;unsuccessful}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("successful",(Option.mapx.successful~f:TargetList.to_value));("unsuccessful",(Option.mapx.unsuccessful~f:TargetFailureList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letunsuccessful=(Option.map~f:TargetFailureList.of_xml)(Xml.childxml_arg0"unsuccessful")inletsuccessful=(Option.map~f:TargetList.of_xml)(Xml.childxml_arg0"successful")inmake?unsuccessful?successful()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letunsuccessful=field_mapjson__"unsuccessful"TargetFailureList.of_jsoninletsuccessful=field_mapjson__"successful"TargetList.of_jsoninmake?unsuccessful?successful()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deregisters the specified targets from the specified target group."]moduleDeregisterTargetsRequest=structtypenonrect={targetGroupIdentifier:TargetGroupIdentifier.t[@ocaml.doc"The ID or ARN of the target group."];targets:DeregisterTargetsRequestTargetsList.t[@ocaml.doc"The targets to deregister."]}letcontext_="DeregisterTargetsRequest"letmake~targetGroupIdentifier=fun~targets->fun()->{targetGroupIdentifier;targets}letto_valuex=structure_to_value[("targetGroupIdentifier",(Some(TargetGroupIdentifier.to_valuex.targetGroupIdentifier)));("targets",(Some(DeregisterTargetsRequestTargetsList.to_valuex.targets)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargets=DeregisterTargetsRequestTargetsList.of_xml(Xml.child_exn~context:context_xml_arg0"targets")inlettargetGroupIdentifier=TargetGroupIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"targetGroupIdentifier")inmake~targets~targetGroupIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargets=field_map_exnjson__"targets"DeregisterTargetsRequestTargetsList.of_jsoninlettargetGroupIdentifier=field_map_exnjson__"targetGroupIdentifier"TargetGroupIdentifier.of_jsoninmake~targets~targetGroupIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deregisters the specified targets from the specified target group."]moduleDeleteTargetGroupResponse=structtypenonrect={id:TargetGroupId.toption[@ocaml.doc"The ID of the target group."];arn:TargetGroupArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the target group."];status:TargetGroupStatus.toption[@ocaml.doc"The status. You can retry the operation if the status is DELETE_FAILED. However, if you retry it while the status is DELETE_IN_PROGRESS, the status doesn't change."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?status->fun()->{id;arn;status}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:TargetGroupId.to_value));("arn",(Option.mapx.arn~f:TargetGroupArn.to_value));("status",(Option.mapx.status~f:TargetGroupStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:TargetGroupStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:TargetGroupArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:TargetGroupId.of_xml)(Xml.childxml_arg0"id")inmake?status?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"TargetGroupStatus.of_jsoninletarn=field_mapjson__"arn"TargetGroupArn.of_jsoninletid=field_mapjson__"id"TargetGroupId.of_jsoninmake?status?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a target group. You can't delete a target group if it is used in a listener rule or if the target group creation is in progress."]moduleDeleteTargetGroupRequest=structtypenonrect={targetGroupIdentifier:TargetGroupIdentifier.t[@ocaml.doc"The ID or ARN of the target group."]}letcontext_="DeleteTargetGroupRequest"letmake~targetGroupIdentifier=fun()->{targetGroupIdentifier}letto_valuex=structure_to_value[("targetGroupIdentifier",(Some(TargetGroupIdentifier.to_valuex.targetGroupIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettargetGroupIdentifier=TargetGroupIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"targetGroupIdentifier")inmake~targetGroupIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettargetGroupIdentifier=field_map_exnjson__"targetGroupIdentifier"TargetGroupIdentifier.of_jsoninmake~targetGroupIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a target group. You can't delete a target group if it is used in a listener rule or if the target group creation is in progress."]moduleDeleteServiceResponse=structtypenonrect={id:ServiceId.toption[@ocaml.doc"The ID of the service."];arn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];name:ServiceName.toption[@ocaml.doc"The name of the service."];status:ServiceStatus.toption[@ocaml.doc"The status. You can retry the operation if the status is DELETE_FAILED. However, if you retry it while the status is DELETE_IN_PROGRESS, the status doesn't change."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?name->fun?status->fun()->{id;arn;name;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceId.to_value));("arn",(Option.mapx.arn~f:ServiceArn.to_value));("name",(Option.mapx.name~f:ServiceName.to_value));("status",(Option.mapx.status~f:ServiceStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:ServiceStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:ServiceName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"id")inmake?status?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"ServiceStatus.of_jsoninletname=field_mapjson__"name"ServiceName.of_jsoninletarn=field_mapjson__"arn"ServiceArn.of_jsoninletid=field_mapjson__"id"ServiceId.of_jsoninmake?status?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a service. A service can't be deleted if it's associated with a service network. If you delete a service, all resources related to the service, such as the resource policy, auth policy, listeners, listener rules, and access log subscriptions, are also deleted. For more information, see Delete a service in the Amazon VPC Lattice User Guide."]moduleDeleteServiceRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."]}letcontext_="DeleteServiceRequest"letmake~serviceIdentifier=fun()->{serviceIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a service. A service can't be deleted if it's associated with a service network. If you delete a service, all resources related to the service, such as the resource policy, auth policy, listeners, listener rules, and access log subscriptions, are also deleted. For more information, see Delete a service in the Amazon VPC Lattice User Guide."]moduleDeleteServiceNetworkVpcAssociationResponse=structtypenonrect={id:ServiceNetworkVpcAssociationId.toption[@ocaml.doc"The ID of the association."];status:ServiceNetworkVpcAssociationStatus.toption[@ocaml.doc"The status. You can retry the operation if the status is DELETE_FAILED. However, if you retry it while the status is DELETE_IN_PROGRESS, there is no change in the status."];arn:ServiceNetworkVpcAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?status->fun?arn->fun()->{id;status;arn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkVpcAssociationId.to_value));("status",(Option.mapx.status~f:ServiceNetworkVpcAssociationStatus.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkVpcAssociationArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:ServiceNetworkVpcAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:ServiceNetworkVpcAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletid=(Option.map~f:ServiceNetworkVpcAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?arn?status?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"ServiceNetworkVpcAssociationArn.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkVpcAssociationStatus.of_jsoninletid=field_mapjson__"id"ServiceNetworkVpcAssociationId.of_jsoninmake?arn?status?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates the VPC from the service network. You can't disassociate the VPC if there is a create or update association in progress."]moduleDeleteServiceNetworkVpcAssociationRequest=structtypenonrect={serviceNetworkVpcAssociationIdentifier:ServiceNetworkVpcAssociationIdentifier.t[@ocaml.doc"The ID or ARN of the association."]}letcontext_="DeleteServiceNetworkVpcAssociationRequest"letmake~serviceNetworkVpcAssociationIdentifier=fun()->{serviceNetworkVpcAssociationIdentifier}letto_valuex=structure_to_value[("serviceNetworkVpcAssociationIdentifier",(Some(ServiceNetworkVpcAssociationIdentifier.to_valuex.serviceNetworkVpcAssociationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceNetworkVpcAssociationIdentifier=ServiceNetworkVpcAssociationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkVpcAssociationIdentifier")inmake~serviceNetworkVpcAssociationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceNetworkVpcAssociationIdentifier=field_map_exnjson__"serviceNetworkVpcAssociationIdentifier"ServiceNetworkVpcAssociationIdentifier.of_jsoninmake~serviceNetworkVpcAssociationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates the VPC from the service network. You can't disassociate the VPC if there is a create or update association in progress."]moduleDeleteServiceNetworkServiceAssociationResponse=structtypenonrect={id:ServiceNetworkServiceAssociationIdentifier.toption[@ocaml.doc"The ID of the association."];status:ServiceNetworkServiceAssociationStatus.toption[@ocaml.doc"The status. You can retry the operation if the status is DELETE_FAILED. However, if you retry it when the status is DELETE_IN_PROGRESS, there is no change in the status."];arn:ServiceNetworkServiceAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?status->fun?arn->fun()->{id;status;arn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkServiceAssociationIdentifier.to_value));("status",(Option.mapx.status~f:ServiceNetworkServiceAssociationStatus.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkServiceAssociationArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:ServiceNetworkServiceAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:ServiceNetworkServiceAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletid=(Option.map~f:ServiceNetworkServiceAssociationIdentifier.of_xml)(Xml.childxml_arg0"id")inmake?arn?status?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"ServiceNetworkServiceAssociationArn.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkServiceAssociationStatus.of_jsoninletid=field_mapjson__"id"ServiceNetworkServiceAssociationIdentifier.of_jsoninmake?arn?status?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the association between a service and a service network. This operation fails if an association is still in progress."]moduleDeleteServiceNetworkServiceAssociationRequest=structtypenonrect={serviceNetworkServiceAssociationIdentifier:ServiceNetworkServiceAssociationIdentifier.t[@ocaml.doc"The ID or ARN of the association."]}letcontext_="DeleteServiceNetworkServiceAssociationRequest"letmake~serviceNetworkServiceAssociationIdentifier=fun()->{serviceNetworkServiceAssociationIdentifier}letto_valuex=structure_to_value[("serviceNetworkServiceAssociationIdentifier",(Some(ServiceNetworkServiceAssociationIdentifier.to_valuex.serviceNetworkServiceAssociationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceNetworkServiceAssociationIdentifier=ServiceNetworkServiceAssociationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkServiceAssociationIdentifier")inmake~serviceNetworkServiceAssociationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceNetworkServiceAssociationIdentifier=field_map_exnjson__"serviceNetworkServiceAssociationIdentifier"ServiceNetworkServiceAssociationIdentifier.of_jsoninmake~serviceNetworkServiceAssociationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the association between a service and a service network. This operation fails if an association is still in progress."]moduleDeleteServiceNetworkResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a service network. You can only delete the service network if there is no service or VPC associated with it. If you delete a service network, all resources related to the service network, such as the resource policy, auth policy, and access log subscriptions, are also deleted. For more information, see Delete a service network in the Amazon VPC Lattice User Guide."]moduleDeleteServiceNetworkResourceAssociationResponse=structtypenonrect={id:ServiceNetworkResourceAssociationId.toption[@ocaml.doc"The ID of the association."];arn:ServiceNetworkResourceAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];status:ServiceNetworkResourceAssociationStatus.toption[@ocaml.doc"The status of the association."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?status->fun()->{id;arn;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkResourceAssociationId.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkResourceAssociationArn.to_value));("status",(Option.mapx.status~f:ServiceNetworkResourceAssociationStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:ServiceNetworkResourceAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ServiceNetworkResourceAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceNetworkResourceAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?status?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"ServiceNetworkResourceAssociationStatus.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkResourceAssociationArn.of_jsoninletid=field_mapjson__"id"ServiceNetworkResourceAssociationId.of_jsoninmake?status?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the association between a service network and a resource configuration."]moduleDeleteServiceNetworkResourceAssociationRequest=structtypenonrect={serviceNetworkResourceAssociationIdentifier:ServiceNetworkResourceAssociationIdentifier.t[@ocaml.doc"The ID of the association."]}letcontext_="DeleteServiceNetworkResourceAssociationRequest"letmake~serviceNetworkResourceAssociationIdentifier=fun()->{serviceNetworkResourceAssociationIdentifier}letto_valuex=structure_to_value[("serviceNetworkResourceAssociationIdentifier",(Some(ServiceNetworkResourceAssociationIdentifier.to_valuex.serviceNetworkResourceAssociationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceNetworkResourceAssociationIdentifier=ServiceNetworkResourceAssociationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkResourceAssociationIdentifier")inmake~serviceNetworkResourceAssociationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceNetworkResourceAssociationIdentifier=field_map_exnjson__"serviceNetworkResourceAssociationIdentifier"ServiceNetworkResourceAssociationIdentifier.of_jsoninmake~serviceNetworkResourceAssociationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the association between a service network and a resource configuration."]moduleDeleteServiceNetworkRequest=structtypenonrect={serviceNetworkIdentifier:ServiceNetworkIdentifier.t[@ocaml.doc"The ID or ARN of the service network."]}letcontext_="DeleteServiceNetworkRequest"letmake~serviceNetworkIdentifier=fun()->{serviceNetworkIdentifier}letto_valuex=structure_to_value[("serviceNetworkIdentifier",(Some(ServiceNetworkIdentifier.to_valuex.serviceNetworkIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letserviceNetworkIdentifier=ServiceNetworkIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkIdentifier")inmake~serviceNetworkIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letserviceNetworkIdentifier=field_map_exnjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninmake~serviceNetworkIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a service network. You can only delete the service network if there is no service or VPC associated with it. If you delete a service network, all resources related to the service network, such as the resource policy, auth policy, and access log subscriptions, are also deleted. For more information, see Delete a service network in the Amazon VPC Lattice User Guide."]moduleDeleteRuleResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. You can delete additional listener rules, but you cannot delete the default rule. For more information, see Listener rules in the Amazon VPC Lattice User Guide."]moduleDeleteRuleRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."];ruleIdentifier:RuleIdentifier.t[@ocaml.doc"The ID or ARN of the rule."]}letcontext_="DeleteRuleRequest"letmake~serviceIdentifier=fun~listenerIdentifier->fun~ruleIdentifier->fun()->{serviceIdentifier;listenerIdentifier;ruleIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)));("ruleIdentifier",(Some(RuleIdentifier.to_valuex.ruleIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letruleIdentifier=RuleIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"ruleIdentifier")inletlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake~ruleIdentifier~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letruleIdentifier=field_map_exnjson__"ruleIdentifier"RuleIdentifier.of_jsoninletlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake~ruleIdentifier~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. You can delete additional listener rules, but you cannot delete the default rule. For more information, see Listener rules in the Amazon VPC Lattice User Guide."]moduleDeleteResourcePolicyResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified resource policy."]moduleDeleteResourcePolicyRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."]}letcontext_="DeleteResourcePolicyRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified resource policy."]moduleDeleteResourceGatewayResponse=structtypenonrect={id:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway."];arn:ResourceGatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource gateway."];name:ResourceGatewayName.toption[@ocaml.doc"The name of the resource gateway."];status:ResourceGatewayStatus.toption[@ocaml.doc"The status of the resource gateway."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?name->fun?status->fun()->{id;arn;name;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ResourceGatewayId.to_value));("arn",(Option.mapx.arn~f:ResourceGatewayArn.to_value));("name",(Option.mapx.name~f:ResourceGatewayName.to_value));("status",(Option.mapx.status~f:ResourceGatewayStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:ResourceGatewayStatus.of_xml)(Xml.childxml_arg0"status")inletname=(Option.map~f:ResourceGatewayName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:ResourceGatewayArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"id")inmake?status?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"ResourceGatewayStatus.of_jsoninletname=field_mapjson__"name"ResourceGatewayName.of_jsoninletarn=field_mapjson__"arn"ResourceGatewayArn.of_jsoninletid=field_mapjson__"id"ResourceGatewayId.of_jsoninmake?status?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified resource gateway."]moduleDeleteResourceGatewayRequest=structtypenonrect={resourceGatewayIdentifier:ResourceGatewayIdentifier.t[@ocaml.doc"The ID or ARN of the resource gateway."]}letcontext_="DeleteResourceGatewayRequest"letmake~resourceGatewayIdentifier=fun()->{resourceGatewayIdentifier}letto_valuex=structure_to_value[("resourceGatewayIdentifier",(Some(ResourceGatewayIdentifier.to_valuex.resourceGatewayIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceGatewayIdentifier=ResourceGatewayIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceGatewayIdentifier")inmake~resourceGatewayIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceGatewayIdentifier=field_map_exnjson__"resourceGatewayIdentifier"ResourceGatewayIdentifier.of_jsoninmake~resourceGatewayIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified resource gateway."]moduleDeleteResourceEndpointAssociationResponse=structtypenonrect={id:ResourceEndpointAssociationId.toption[@ocaml.doc"The ID of the association."];arn:ResourceEndpointAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];resourceConfigurationId:ResourceConfigurationId.toption[@ocaml.doc"The ID of the resource configuration."];resourceConfigurationArn:ResourceConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource configuration associated with the VPC endpoint of type resource."];vpcEndpointId:VpcEndpointId.toption[@ocaml.doc"The ID of the resource VPC endpoint that is associated with the resource configuration."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?resourceConfigurationId->fun?resourceConfigurationArn->fun?vpcEndpointId->fun()->{id;arn;resourceConfigurationId;resourceConfigurationArn;vpcEndpointId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ResourceEndpointAssociationId.to_value));("arn",(Option.mapx.arn~f:ResourceEndpointAssociationArn.to_value));("resourceConfigurationId",(Option.mapx.resourceConfigurationId~f:ResourceConfigurationId.to_value));("resourceConfigurationArn",(Option.mapx.resourceConfigurationArn~f:ResourceConfigurationArn.to_value));("vpcEndpointId",(Option.mapx.vpcEndpointId~f:VpcEndpointId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvpcEndpointId=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"vpcEndpointId")inletresourceConfigurationArn=(Option.map~f:ResourceConfigurationArn.of_xml)(Xml.childxml_arg0"resourceConfigurationArn")inletresourceConfigurationId=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"resourceConfigurationId")inletarn=(Option.map~f:ResourceEndpointAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ResourceEndpointAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?vpcEndpointId?resourceConfigurationArn?resourceConfigurationId?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvpcEndpointId=field_mapjson__"vpcEndpointId"VpcEndpointId.of_jsoninletresourceConfigurationArn=field_mapjson__"resourceConfigurationArn"ResourceConfigurationArn.of_jsoninletresourceConfigurationId=field_mapjson__"resourceConfigurationId"ResourceConfigurationId.of_jsoninletarn=field_mapjson__"arn"ResourceEndpointAssociationArn.of_jsoninletid=field_mapjson__"id"ResourceEndpointAssociationId.of_jsoninmake?vpcEndpointId?resourceConfigurationArn?resourceConfigurationId?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates the resource configuration from the resource VPC endpoint."]moduleDeleteResourceEndpointAssociationRequest=structtypenonrect={resourceEndpointAssociationIdentifier:ResourceEndpointAssociationIdentifier.t[@ocaml.doc"The ID or ARN of the association."]}letcontext_="DeleteResourceEndpointAssociationRequest"letmake~resourceEndpointAssociationIdentifier=fun()->{resourceEndpointAssociationIdentifier}letto_valuex=structure_to_value[("resourceEndpointAssociationIdentifier",(Some(ResourceEndpointAssociationIdentifier.to_valuex.resourceEndpointAssociationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceEndpointAssociationIdentifier=ResourceEndpointAssociationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceEndpointAssociationIdentifier")inmake~resourceEndpointAssociationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceEndpointAssociationIdentifier=field_map_exnjson__"resourceEndpointAssociationIdentifier"ResourceEndpointAssociationIdentifier.of_jsoninmake~resourceEndpointAssociationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates the resource configuration from the resource VPC endpoint."]moduleDeleteResourceConfigurationResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified resource configuration."]moduleDeleteResourceConfigurationRequest=structtypenonrect={resourceConfigurationIdentifier:ResourceConfigurationIdentifier.t[@ocaml.doc"The ID or ARN of the resource configuration."]}letcontext_="DeleteResourceConfigurationRequest"letmake~resourceConfigurationIdentifier=fun()->{resourceConfigurationIdentifier}letto_valuex=structure_to_value[("resourceConfigurationIdentifier",(Some(ResourceConfigurationIdentifier.to_valuex.resourceConfigurationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceConfigurationIdentifier=ResourceConfigurationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceConfigurationIdentifier")inmake~resourceConfigurationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceConfigurationIdentifier=field_map_exnjson__"resourceConfigurationIdentifier"ResourceConfigurationIdentifier.of_jsoninmake~resourceConfigurationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified resource configuration."]moduleDeleteListenerResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified listener."]moduleDeleteListenerRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."]}letcontext_="DeleteListenerRequest"letmake~serviceIdentifier=fun~listenerIdentifier->fun()->{serviceIdentifier;listenerIdentifier}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified listener."]moduleDeleteDomainVerificationResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified domain verification."]moduleDeleteDomainVerificationRequest=structtypenonrect={domainVerificationIdentifier:DomainVerificationIdentifier.t[@ocaml.doc"The ID of the domain verification to delete."]}letcontext_="DeleteDomainVerificationRequest"letmake~domainVerificationIdentifier=fun()->{domainVerificationIdentifier}letto_valuex=structure_to_value[("domainVerificationIdentifier",(Some(DomainVerificationIdentifier.to_valuex.domainVerificationIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainVerificationIdentifier=DomainVerificationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"domainVerificationIdentifier")inmake~domainVerificationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainVerificationIdentifier=field_map_exnjson__"domainVerificationIdentifier"DomainVerificationIdentifier.of_jsoninmake~domainVerificationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified domain verification."]moduleDeleteAuthPolicyResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified auth policy. If an auth is set to AWS_IAM and the auth policy is deleted, all requests are denied. If you are trying to remove the auth policy completely, you must set the auth type to NONE. If auth is enabled on the resource, but no auth policy is set, all requests are denied."]moduleDeleteAuthPolicyRequest=structtypenonrect={resourceIdentifier:ResourceIdentifier.t[@ocaml.doc"The ID or ARN of the resource."]}letcontext_="DeleteAuthPolicyRequest"letmake~resourceIdentifier=fun()->{resourceIdentifier}letto_valuex=structure_to_value[("resourceIdentifier",(Some(ResourceIdentifier.to_valuex.resourceIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceIdentifier=ResourceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceIdentifier")inmake~resourceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceIdentifier=field_map_exnjson__"resourceIdentifier"ResourceIdentifier.of_jsoninmake~resourceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified auth policy. If an auth is set to AWS_IAM and the auth policy is deleted, all requests are denied. If you are trying to remove the auth policy completely, you must set the auth type to NONE. If auth is enabled on the resource, but no auth policy is set, all requests are denied."]moduleDeleteAccessLogSubscriptionResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified access log subscription."]moduleDeleteAccessLogSubscriptionRequest=structtypenonrect={accessLogSubscriptionIdentifier:AccessLogSubscriptionIdentifier.t[@ocaml.doc"The ID or ARN of the access log subscription."]}letcontext_="DeleteAccessLogSubscriptionRequest"letmake~accessLogSubscriptionIdentifier=fun()->{accessLogSubscriptionIdentifier}letto_valuex=structure_to_value[("accessLogSubscriptionIdentifier",(Some(AccessLogSubscriptionIdentifier.to_valuex.accessLogSubscriptionIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccessLogSubscriptionIdentifier=AccessLogSubscriptionIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"accessLogSubscriptionIdentifier")inmake~accessLogSubscriptionIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccessLogSubscriptionIdentifier=field_map_exnjson__"accessLogSubscriptionIdentifier"AccessLogSubscriptionIdentifier.of_jsoninmake~accessLogSubscriptionIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified access log subscription."]moduleCreateTargetGroupResponse=structtypenonrect={id:TargetGroupId.toption[@ocaml.doc"The ID of the target group."];arn:TargetGroupArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the target group."];name:TargetGroupName.toption[@ocaml.doc"The name of the target group."];type_:TargetGroupType.toption[@ocaml.doc"The type of target group."];config:TargetGroupConfig.toption[@ocaml.doc"The target group configuration."];status:TargetGroupStatus.toption[@ocaml.doc"The status. You can retry the operation if the status is CREATE_FAILED. However, if you retry it while the status is CREATE_IN_PROGRESS, there is no change in the status."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?name->fun?type_->fun?config->fun?status->fun()->{id;arn;name;type_;config;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:TargetGroupId.to_value));("arn",(Option.mapx.arn~f:TargetGroupArn.to_value));("name",(Option.mapx.name~f:TargetGroupName.to_value));("type",(Option.mapx.type_~f:TargetGroupType.to_value));("config",(Option.mapx.config~f:TargetGroupConfig.to_value));("status",(Option.mapx.status~f:TargetGroupStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:TargetGroupStatus.of_xml)(Xml.childxml_arg0"status")inletconfig=(Option.map~f:TargetGroupConfig.of_xml)(Xml.childxml_arg0"config")inlettype_=(Option.map~f:TargetGroupType.of_xml)(Xml.childxml_arg0"type")inletname=(Option.map~f:TargetGroupName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:TargetGroupArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:TargetGroupId.of_xml)(Xml.childxml_arg0"id")inmake?status?config?type_?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"TargetGroupStatus.of_jsoninletconfig=field_mapjson__"config"TargetGroupConfig.of_jsoninlettype_=field_mapjson__"type"TargetGroupType.of_jsoninletname=field_mapjson__"name"TargetGroupName.of_jsoninletarn=field_mapjson__"arn"TargetGroupArn.of_jsoninletid=field_mapjson__"id"TargetGroupId.of_jsoninmake?status?config?type_?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a target group. A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. For more information, see Target groups in the Amazon VPC Lattice User Guide."]moduleCreateTargetGroupRequest=structtypenonrect={name:TargetGroupName.t[@ocaml.doc"The name of the target group. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen."];type_:TargetGroupType.t[@ocaml.doc"The type of target group."];config:TargetGroupConfig.toption[@ocaml.doc"The target group configuration."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];tags:TagMap.toption[@ocaml.doc"The tags for the target group."]}letcontext_="CreateTargetGroupRequest"letmake?config=fun?clientToken->fun?tags->fun~name->fun~type_->fun()->{config;clientToken;tags;name;type_}letto_valuex=structure_to_value[("name",(Some(TargetGroupName.to_valuex.name)));("type",(Some(TargetGroupType.to_valuex.type_)));("config",(Option.mapx.config~f:TargetGroupConfig.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletconfig=(Option.map~f:TargetGroupConfig.of_xml)(Xml.childxml_arg0"config")inlettype_=TargetGroupType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inletname=TargetGroupName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags?clientToken?config~type_~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletconfig=field_mapjson__"config"TargetGroupConfig.of_jsoninlettype_=field_map_exnjson__"type"TargetGroupType.of_jsoninletname=field_map_exnjson__"name"TargetGroupName.of_jsoninmake?tags?clientToken?config~type_~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a target group. A target group is a collection of targets, or compute resources, that run your application or service. A target group can only be used by a single service. For more information, see Target groups in the Amazon VPC Lattice User Guide."]moduleCreateServiceResponse=structtypenonrect={id:ServiceId.toption[@ocaml.doc"The ID of the service."];arn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];name:ServiceName.toption[@ocaml.doc"The name of the service."];customDomainName:ServiceCustomDomainName.toption[@ocaml.doc"The custom domain name of the service."];certificateArn:CertificateArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the certificate."];status:ServiceStatus.toption[@ocaml.doc"The status. If the status is CREATE_FAILED, you must delete and recreate the service."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy."];dnsEntry:DnsEntry.toption[@ocaml.doc"The public DNS name of the service."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?name->fun?customDomainName->fun?certificateArn->fun?status->fun?authType->fun?dnsEntry->fun()->{id;arn;name;customDomainName;certificateArn;status;authType;dnsEntry}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceId.to_value));("arn",(Option.mapx.arn~f:ServiceArn.to_value));("name",(Option.mapx.name~f:ServiceName.to_value));("customDomainName",(Option.mapx.customDomainName~f:ServiceCustomDomainName.to_value));("certificateArn",(Option.mapx.certificateArn~f:CertificateArn.to_value));("status",(Option.mapx.status~f:ServiceStatus.to_value));("authType",(Option.mapx.authType~f:AuthType.to_value));("dnsEntry",(Option.mapx.dnsEntry~f:DnsEntry.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"dnsEntry")inletauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletstatus=(Option.map~f:ServiceStatus.of_xml)(Xml.childxml_arg0"status")inletcertificateArn=(Option.map~f:CertificateArn.of_xml)(Xml.childxml_arg0"certificateArn")inletcustomDomainName=(Option.map~f:ServiceCustomDomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletname=(Option.map~f:ServiceName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"id")inmake?dnsEntry?authType?status?certificateArn?customDomainName?name?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdnsEntry=field_mapjson__"dnsEntry"DnsEntry.of_jsoninletauthType=field_mapjson__"authType"AuthType.of_jsoninletstatus=field_mapjson__"status"ServiceStatus.of_jsoninletcertificateArn=field_mapjson__"certificateArn"CertificateArn.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"ServiceCustomDomainName.of_jsoninletname=field_mapjson__"name"ServiceName.of_jsoninletarn=field_mapjson__"arn"ServiceArn.of_jsoninletid=field_mapjson__"id"ServiceId.of_jsoninmake?dnsEntry?authType?status?certificateArn?customDomainName?name?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a service. A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). For more information, see Services in the Amazon VPC Lattice User Guide."]moduleCreateServiceRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];name:ServiceName.t[@ocaml.doc"The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen."];tags:TagMap.toption[@ocaml.doc"The tags for the service."];customDomainName:ServiceCustomDomainName.toption[@ocaml.doc"The custom domain name of the service."];certificateArn:CertificateArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the certificate."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy. NONE: The resource does not use an IAM policy. This is the default. AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required."]}letcontext_="CreateServiceRequest"letmake?clientToken=fun?tags->fun?customDomainName->fun?certificateArn->fun?authType->fun~name->fun()->{clientToken;tags;customDomainName;certificateArn;authType;name}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("name",(Some(ServiceName.to_valuex.name)));("tags",(Option.mapx.tags~f:TagMap.to_value));("customDomainName",(Option.mapx.customDomainName~f:ServiceCustomDomainName.to_value));("certificateArn",(Option.mapx.certificateArn~f:CertificateArn.to_value));("authType",(Option.mapx.authType~f:AuthType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletcertificateArn=(Option.map~f:CertificateArn.of_xml)(Xml.childxml_arg0"certificateArn")inletcustomDomainName=(Option.map~f:ServiceCustomDomainName.of_xml)(Xml.childxml_arg0"customDomainName")inlettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletname=ServiceName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?authType?certificateArn?customDomainName?tags~name?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthType=field_mapjson__"authType"AuthType.of_jsoninletcertificateArn=field_mapjson__"certificateArn"CertificateArn.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"ServiceCustomDomainName.of_jsoninlettags=field_mapjson__"tags"TagMap.of_jsoninletname=field_map_exnjson__"name"ServiceName.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?authType?certificateArn?customDomainName?tags~name?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a service. A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC). For more information, see Services in the Amazon VPC Lattice User Guide."]moduleCreateServiceNetworkVpcAssociationResponse=structtypenonrect={id:ServiceNetworkVpcAssociationId.toption[@ocaml.doc"The ID of the association."];status:ServiceNetworkVpcAssociationStatus.toption[@ocaml.doc"The association status."];arn:ServiceNetworkVpcAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];securityGroupIds:SecurityGroupList.toption[@ocaml.doc"The IDs of the security groups."];privateDnsEnabled:Boolean.toption[@ocaml.doc"Indicates if private DNS is enabled for the VPC association."];dnsOptions:DnsOptions.toption}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?status->fun?arn->fun?createdBy->fun?securityGroupIds->fun?privateDnsEnabled->fun?dnsOptions->fun()->{id;status;arn;createdBy;securityGroupIds;privateDnsEnabled;dnsOptions}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkVpcAssociationId.to_value));("status",(Option.mapx.status~f:ServiceNetworkVpcAssociationStatus.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkVpcAssociationArn.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupList.to_value));("privateDnsEnabled",(Option.mapx.privateDnsEnabled~f:Boolean.to_value));("dnsOptions",(Option.mapx.dnsOptions~f:DnsOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdnsOptions=(Option.map~f:DnsOptions.of_xml)(Xml.childxml_arg0"dnsOptions")inletprivateDnsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"privateDnsEnabled")inletsecurityGroupIds=(Option.map~f:SecurityGroupList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletarn=(Option.map~f:ServiceNetworkVpcAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:ServiceNetworkVpcAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletid=(Option.map~f:ServiceNetworkVpcAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?dnsOptions?privateDnsEnabled?securityGroupIds?createdBy?arn?status?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdnsOptions=field_mapjson__"dnsOptions"DnsOptions.of_jsoninletprivateDnsEnabled=field_mapjson__"privateDnsEnabled"Boolean.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupList.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkVpcAssociationArn.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkVpcAssociationStatus.of_jsoninletid=field_mapjson__"id"ServiceNetworkVpcAssociationId.of_jsoninmake?dnsOptions?privateDnsEnabled?securityGroupIds?createdBy?arn?status?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide. You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it. As a result of this operation, the association gets created in the service network account and the VPC owner account. If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups."]moduleCreateServiceNetworkVpcAssociationRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];serviceNetworkIdentifier:ServiceNetworkIdentifier.t[@ocaml.doc"The ID or ARN of the service network. You must use an ARN if the resources are in different accounts."];vpcIdentifier:VpcId.t[@ocaml.doc"The ID of the VPC."];privateDnsEnabled:Boolean.toption[@ocaml.doc"Indicates if private DNS is enabled for the VPC association."];securityGroupIds:CreateServiceNetworkVpcAssociationRequestSecurityGroupIdsList.toption[@ocaml.doc"The IDs of the security groups. Security groups aren't added by default. You can add a security group to apply network level controls to control which resources in a VPC are allowed to access the service network and its services. For more information, see Control traffic to resources using security groups in the Amazon VPC User Guide."];tags:TagMap.toption[@ocaml.doc"The tags for the association."];dnsOptions:DnsOptions.toption[@ocaml.doc"DNS options for the service network VPC association."]}letcontext_="CreateServiceNetworkVpcAssociationRequest"letmake?clientToken=fun?privateDnsEnabled->fun?securityGroupIds->fun?tags->fun?dnsOptions->fun~serviceNetworkIdentifier->fun~vpcIdentifier->fun()->{clientToken;privateDnsEnabled;securityGroupIds;tags;dnsOptions;serviceNetworkIdentifier;vpcIdentifier}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("serviceNetworkIdentifier",(Some(ServiceNetworkIdentifier.to_valuex.serviceNetworkIdentifier)));("vpcIdentifier",(Some(VpcId.to_valuex.vpcIdentifier)));("privateDnsEnabled",(Option.mapx.privateDnsEnabled~f:Boolean.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:CreateServiceNetworkVpcAssociationRequestSecurityGroupIdsList.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value));("dnsOptions",(Option.mapx.dnsOptions~f:DnsOptions.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdnsOptions=(Option.map~f:DnsOptions.of_xml)(Xml.childxml_arg0"dnsOptions")inlettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletsecurityGroupIds=(Option.map~f:CreateServiceNetworkVpcAssociationRequestSecurityGroupIdsList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletprivateDnsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"privateDnsEnabled")inletvpcIdentifier=VpcId.of_xml(Xml.child_exn~context:context_xml_arg0"vpcIdentifier")inletserviceNetworkIdentifier=ServiceNetworkIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkIdentifier")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?dnsOptions?tags?securityGroupIds?privateDnsEnabled~vpcIdentifier~serviceNetworkIdentifier?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdnsOptions=field_mapjson__"dnsOptions"DnsOptions.of_jsoninlettags=field_mapjson__"tags"TagMap.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"CreateServiceNetworkVpcAssociationRequestSecurityGroupIdsList.of_jsoninletprivateDnsEnabled=field_mapjson__"privateDnsEnabled"Boolean.of_jsoninletvpcIdentifier=field_map_exnjson__"vpcIdentifier"VpcId.of_jsoninletserviceNetworkIdentifier=field_map_exnjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?dnsOptions?tags?securityGroupIds?privateDnsEnabled~vpcIdentifier~serviceNetworkIdentifier?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a VPC with a service network. When you associate a VPC with the service network, it enables all the resources within that VPC to be clients and communicate with other services in the service network. For more information, see Manage VPC associations in the Amazon VPC Lattice User Guide. You can't use this operation if there is a disassociation in progress. If the association fails, retry by deleting the association and recreating it. As a result of this operation, the association gets created in the service network account and the VPC owner account. If you add a security group to the service network and VPC association, the association must continue to always have at least one security group. You can add or edit security groups at any time. However, to remove all security groups, you must first delete the association and recreate it without security groups."]moduleCreateServiceNetworkServiceAssociationResponse=structtypenonrect={id:ServiceNetworkServiceAssociationIdentifier.toption[@ocaml.doc"The ID of the association."];status:ServiceNetworkServiceAssociationStatus.toption[@ocaml.doc"The association status."];arn:ServiceNetworkServiceAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];createdBy:AccountId.toption[@ocaml.doc"The account that created the association."];customDomainName:ServiceCustomDomainName.toption[@ocaml.doc"The custom domain name of the service."];dnsEntry:DnsEntry.toption[@ocaml.doc"The DNS name of the service."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?status->fun?arn->fun?createdBy->fun?customDomainName->fun?dnsEntry->fun()->{id;status;arn;createdBy;customDomainName;dnsEntry}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkServiceAssociationIdentifier.to_value));("status",(Option.mapx.status~f:ServiceNetworkServiceAssociationStatus.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkServiceAssociationArn.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("customDomainName",(Option.mapx.customDomainName~f:ServiceCustomDomainName.to_value));("dnsEntry",(Option.mapx.dnsEntry~f:DnsEntry.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdnsEntry=(Option.map~f:DnsEntry.of_xml)(Xml.childxml_arg0"dnsEntry")inletcustomDomainName=(Option.map~f:ServiceCustomDomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletarn=(Option.map~f:ServiceNetworkServiceAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletstatus=(Option.map~f:ServiceNetworkServiceAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletid=(Option.map~f:ServiceNetworkServiceAssociationIdentifier.of_xml)(Xml.childxml_arg0"id")inmake?dnsEntry?customDomainName?createdBy?arn?status?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdnsEntry=field_mapjson__"dnsEntry"DnsEntry.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"ServiceCustomDomainName.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkServiceAssociationArn.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkServiceAssociationStatus.of_jsoninletid=field_mapjson__"id"ServiceNetworkServiceAssociationIdentifier.of_jsoninmake?dnsEntry?customDomainName?createdBy?arn?status?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates the specified service with the specified service network. For more information, see Manage service associations in the Amazon VPC Lattice User Guide. You can't use this operation if the service and service network are already associated or if there is a disassociation or deletion in progress. If the association fails, you can retry the operation by deleting the association and recreating it. You cannot associate a service and service network that are shared with a caller. The caller must own either the service or the service network. As a result of this operation, the association is created in the service network account and the association owner account."]moduleCreateServiceNetworkServiceAssociationRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];serviceNetworkIdentifier:ServiceNetworkIdentifier.t[@ocaml.doc"The ID or ARN of the service network. You must use an ARN if the resources are in different accounts."];tags:TagMap.toption[@ocaml.doc"The tags for the association."]}letcontext_="CreateServiceNetworkServiceAssociationRequest"letmake?clientToken=fun?tags->fun~serviceIdentifier->fun~serviceNetworkIdentifier->fun()->{clientToken;tags;serviceIdentifier;serviceNetworkIdentifier}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("serviceNetworkIdentifier",(Some(ServiceNetworkIdentifier.to_valuex.serviceNetworkIdentifier)));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletserviceNetworkIdentifier=ServiceNetworkIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?tags~serviceNetworkIdentifier~serviceIdentifier?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletserviceNetworkIdentifier=field_map_exnjson__"serviceNetworkIdentifier"ServiceNetworkIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?tags~serviceNetworkIdentifier~serviceIdentifier?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates the specified service with the specified service network. For more information, see Manage service associations in the Amazon VPC Lattice User Guide. You can't use this operation if the service and service network are already associated or if there is a disassociation or deletion in progress. If the association fails, you can retry the operation by deleting the association and recreating it. You cannot associate a service and service network that are shared with a caller. The caller must own either the service or the service network. As a result of this operation, the association is created in the service network account and the association owner account."]moduleCreateServiceNetworkResponse=structtypenonrect={id:ServiceNetworkId.toption[@ocaml.doc"The ID of the service network."];name:ServiceNetworkName.toption[@ocaml.doc"The name of the service network."];arn:ServiceNetworkArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network."];sharingConfig:SharingConfig.toption[@ocaml.doc"Specifies if the service network is enabled for sharing."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?name->fun?arn->fun?sharingConfig->fun?authType->fun()->{id;name;arn;sharingConfig;authType}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkId.to_value));("name",(Option.mapx.name~f:ServiceNetworkName.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkArn.to_value));("sharingConfig",(Option.mapx.sharingConfig~f:SharingConfig.to_value));("authType",(Option.mapx.authType~f:AuthType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletsharingConfig=(Option.map~f:SharingConfig.of_xml)(Xml.childxml_arg0"sharingConfig")inletarn=(Option.map~f:ServiceNetworkArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ServiceNetworkName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ServiceNetworkId.of_xml)(Xml.childxml_arg0"id")inmake?authType?sharingConfig?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letauthType=field_mapjson__"authType"AuthType.of_jsoninletsharingConfig=field_mapjson__"sharingConfig"SharingConfig.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkArn.of_jsoninletname=field_mapjson__"name"ServiceNetworkName.of_jsoninletid=field_mapjson__"id"ServiceNetworkId.of_jsoninmake?authType?sharingConfig?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a service network. A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. For more information, see Service networks in the Amazon VPC Lattice User Guide."]moduleCreateServiceNetworkResourceAssociationResponse=structtypenonrect={id:ServiceNetworkResourceAssociationId.toption[@ocaml.doc"The ID of the association."];arn:ServiceNetworkResourceAssociationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the association."];status:ServiceNetworkResourceAssociationStatus.toption[@ocaml.doc"The status of the association."];createdBy:AccountId.toption[@ocaml.doc"The ID of the account that created the association."];privateDnsEnabled:Boolean.toption[@ocaml.doc"Indicates if private DNS is is enabled for the service network resource association."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?status->fun?createdBy->fun?privateDnsEnabled->fun()->{id;arn;status;createdBy;privateDnsEnabled}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ServiceNetworkResourceAssociationId.to_value));("arn",(Option.mapx.arn~f:ServiceNetworkResourceAssociationArn.to_value));("status",(Option.mapx.status~f:ServiceNetworkResourceAssociationStatus.to_value));("createdBy",(Option.mapx.createdBy~f:AccountId.to_value));("privateDnsEnabled",(Option.mapx.privateDnsEnabled~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprivateDnsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"privateDnsEnabled")inletcreatedBy=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"createdBy")inletstatus=(Option.map~f:ServiceNetworkResourceAssociationStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ServiceNetworkResourceAssociationArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ServiceNetworkResourceAssociationId.of_xml)(Xml.childxml_arg0"id")inmake?privateDnsEnabled?createdBy?status?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprivateDnsEnabled=field_mapjson__"privateDnsEnabled"Boolean.of_jsoninletcreatedBy=field_mapjson__"createdBy"AccountId.of_jsoninletstatus=field_mapjson__"status"ServiceNetworkResourceAssociationStatus.of_jsoninletarn=field_mapjson__"arn"ServiceNetworkResourceAssociationArn.of_jsoninletid=field_mapjson__"id"ServiceNetworkResourceAssociationId.of_jsoninmake?privateDnsEnabled?createdBy?status?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates the specified service network with the specified resource configuration. This allows the resource configuration to receive connections through the service network, including through a service network VPC endpoint."]moduleCreateServiceNetworkResourceAssociationRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];resourceConfigurationIdentifier:ResourceConfigurationIdentifier.t[@ocaml.doc"The ID of the resource configuration to associate with the service network."];serviceNetworkIdentifier:ServiceNetworkIdentifierWithoutRegex.t[@ocaml.doc"The ID of the service network to associate with the resource configuration."];privateDnsEnabled:Boolean.toption[@ocaml.doc"Indicates if private DNS is enabled for the service network resource association."];tags:TagMap.toption[@ocaml.doc"A key-value pair to associate with a resource."]}letcontext_="CreateServiceNetworkResourceAssociationRequest"letmake?clientToken=fun?privateDnsEnabled->fun?tags->fun~resourceConfigurationIdentifier->fun~serviceNetworkIdentifier->fun()->{clientToken;privateDnsEnabled;tags;resourceConfigurationIdentifier;serviceNetworkIdentifier}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("resourceConfigurationIdentifier",(Some(ResourceConfigurationIdentifier.to_valuex.resourceConfigurationIdentifier)));("serviceNetworkIdentifier",(Some(ServiceNetworkIdentifierWithoutRegex.to_valuex.serviceNetworkIdentifier)));("privateDnsEnabled",(Option.mapx.privateDnsEnabled~f:Boolean.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletprivateDnsEnabled=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"privateDnsEnabled")inletserviceNetworkIdentifier=ServiceNetworkIdentifierWithoutRegex.of_xml(Xml.child_exn~context:context_xml_arg0"serviceNetworkIdentifier")inletresourceConfigurationIdentifier=ResourceConfigurationIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceConfigurationIdentifier")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?tags?privateDnsEnabled~serviceNetworkIdentifier~resourceConfigurationIdentifier?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletprivateDnsEnabled=field_mapjson__"privateDnsEnabled"Boolean.of_jsoninletserviceNetworkIdentifier=field_map_exnjson__"serviceNetworkIdentifier"ServiceNetworkIdentifierWithoutRegex.of_jsoninletresourceConfigurationIdentifier=field_map_exnjson__"resourceConfigurationIdentifier"ResourceConfigurationIdentifier.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?tags?privateDnsEnabled~serviceNetworkIdentifier~resourceConfigurationIdentifier?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates the specified service network with the specified resource configuration. This allows the resource configuration to receive connections through the service network, including through a service network VPC endpoint."]moduleCreateServiceNetworkRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];name:ServiceNetworkName.t[@ocaml.doc"The name of the service network. The name must be unique to the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen."];authType:AuthType.toption[@ocaml.doc"The type of IAM policy. NONE: The resource does not use an IAM policy. This is the default. AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required."];tags:TagMap.toption[@ocaml.doc"The tags for the service network."];sharingConfig:SharingConfig.toption[@ocaml.doc"Specify if the service network should be enabled for sharing."]}letcontext_="CreateServiceNetworkRequest"letmake?clientToken=fun?authType->fun?tags->fun?sharingConfig->fun~name->fun()->{clientToken;authType;tags;sharingConfig;name}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("name",(Some(ServiceNetworkName.to_valuex.name)));("authType",(Option.mapx.authType~f:AuthType.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value));("sharingConfig",(Option.mapx.sharingConfig~f:SharingConfig.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsharingConfig=(Option.map~f:SharingConfig.of_xml)(Xml.childxml_arg0"sharingConfig")inlettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletauthType=(Option.map~f:AuthType.of_xml)(Xml.childxml_arg0"authType")inletname=ServiceNetworkName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?sharingConfig?tags?authType~name?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsharingConfig=field_mapjson__"sharingConfig"SharingConfig.of_jsoninlettags=field_mapjson__"tags"TagMap.of_jsoninletauthType=field_mapjson__"authType"AuthType.of_jsoninletname=field_map_exnjson__"name"ServiceNetworkName.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?sharingConfig?tags?authType~name?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a service network. A service network is a logical boundary for a collection of services. You can associate services and VPCs with a service network. For more information, see Service networks in the Amazon VPC Lattice User Guide."]moduleCreateRuleResponse=structtypenonrect={arn:RuleArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the rule."];id:RuleId.toption[@ocaml.doc"The ID of the rule."];name:RuleName.toption[@ocaml.doc"The name of the rule."];match_:RuleMatch.toption[@ocaml.doc"The rule match. The RuleMatch must be an HttpMatch. This means that the rule should be an exact match on HTTP constraints which are made up of the HTTP method, path, and header."];priority:RulePriority.toption[@ocaml.doc"The priority assigned to the rule. The lower the priority number the higher the priority."];action:RuleAction.toption[@ocaml.doc"The rule action."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun?name->fun?match_->fun?priority->fun?action->fun()->{arn;id;name;match_;priority;action}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("arn",(Option.mapx.arn~f:RuleArn.to_value));("id",(Option.mapx.id~f:RuleId.to_value));("name",(Option.mapx.name~f:RuleName.to_value));("match",(Option.mapx.match_~f:RuleMatch.to_value));("priority",(Option.mapx.priority~f:RulePriority.to_value));("action",(Option.mapx.action~f:RuleAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"action")inletpriority=(Option.map~f:RulePriority.of_xml)(Xml.childxml_arg0"priority")inletmatch_=(Option.map~f:RuleMatch.of_xml)(Xml.childxml_arg0"match")inletname=(Option.map~f:RuleName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:RuleId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:RuleArn.of_xml)(Xml.childxml_arg0"arn")inmake?action?priority?match_?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaction=field_mapjson__"action"RuleAction.of_jsoninletpriority=field_mapjson__"priority"RulePriority.of_jsoninletmatch_=field_mapjson__"match"RuleMatch.of_jsoninletname=field_mapjson__"name"RuleName.of_jsoninletid=field_mapjson__"id"RuleId.of_jsoninletarn=field_mapjson__"arn"RuleArn.of_jsoninmake?action?priority?match_?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. For more information, see Listener rules in the Amazon VPC Lattice User Guide."]moduleCreateRuleRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."];name:RuleName.t[@ocaml.doc"The name of the rule. The name must be unique within the listener. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen."];match_:RuleMatch.t[@ocaml.doc"The rule match."];priority:RulePriority.t[@ocaml.doc"The priority assigned to the rule. Each rule for a specific listener must have a unique priority. The lower the priority number the higher the priority."];action:RuleAction.t[@ocaml.doc"The action for the default rule."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];tags:TagMap.toption[@ocaml.doc"The tags for the rule."]}letcontext_="CreateRuleRequest"letmake?clientToken=fun?tags->fun~serviceIdentifier->fun~listenerIdentifier->fun~name->fun~match_->fun~priority->fun~action->fun()->{clientToken;tags;serviceIdentifier;listenerIdentifier;name;match_;priority;action}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)));("name",(Some(RuleName.to_valuex.name)));("match",(Some(RuleMatch.to_valuex.match_)));("priority",(Some(RulePriority.to_valuex.priority)));("action",(Some(RuleAction.to_valuex.action)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletaction=RuleAction.of_xml(Xml.child_exn~context:context_xml_arg0"action")inletpriority=RulePriority.of_xml(Xml.child_exn~context:context_xml_arg0"priority")inletmatch_=RuleMatch.of_xml(Xml.child_exn~context:context_xml_arg0"match")inletname=RuleName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake?tags?clientToken~action~priority~match_~name~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletaction=field_map_exnjson__"action"RuleAction.of_jsoninletpriority=field_map_exnjson__"priority"RulePriority.of_jsoninletmatch_=field_map_exnjson__"match"RuleMatch.of_jsoninletname=field_map_exnjson__"name"RuleName.of_jsoninletlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake?tags?clientToken~action~priority~match_~name~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a listener rule. Each listener has a default rule for checking connection requests, but you can define additional rules. Each rule consists of a priority, one or more actions, and one or more conditions. For more information, see Listener rules in the Amazon VPC Lattice User Guide."]moduleCreateResourceGatewayResponse=structtypenonrect={name:ResourceGatewayName.toption[@ocaml.doc"The name of the resource gateway."];id:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway."];arn:ResourceGatewayArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource gateway."];status:ResourceGatewayStatus.toption[@ocaml.doc"The status of the resource gateway."];vpcIdentifier:VpcId.toption[@ocaml.doc"The ID of the VPC."];subnetIds:SubnetList.toption[@ocaml.doc"The IDs of the resource gateway subnets."];securityGroupIds:SecurityGroupList.toption[@ocaml.doc"The IDs of the security groups for the resource gateway."];ipAddressType:ResourceGatewayIpAddressType.toption[@ocaml.doc"The type of IP address for the resource gateway."];ipv4AddressesPerEni:Ipv4AddressesPerEni.toption[@ocaml.doc"The number of IPv4 addresses in each ENI for the resource gateway."];resourceConfigDnsResolution:ResourceConfigDnsResolution.toption[@ocaml.doc"The DNS resolution type for resource configurations that are associated with this resource gateway."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?name=fun?id->fun?arn->fun?status->fun?vpcIdentifier->fun?subnetIds->fun?securityGroupIds->fun?ipAddressType->fun?ipv4AddressesPerEni->fun?resourceConfigDnsResolution->fun()->{name;id;arn;status;vpcIdentifier;subnetIds;securityGroupIds;ipAddressType;ipv4AddressesPerEni;resourceConfigDnsResolution}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("name",(Option.mapx.name~f:ResourceGatewayName.to_value));("id",(Option.mapx.id~f:ResourceGatewayId.to_value));("arn",(Option.mapx.arn~f:ResourceGatewayArn.to_value));("status",(Option.mapx.status~f:ResourceGatewayStatus.to_value));("vpcIdentifier",(Option.mapx.vpcIdentifier~f:VpcId.to_value));("subnetIds",(Option.mapx.subnetIds~f:SubnetList.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:SecurityGroupList.to_value));("ipAddressType",(Option.mapx.ipAddressType~f:ResourceGatewayIpAddressType.to_value));("ipv4AddressesPerEni",(Option.mapx.ipv4AddressesPerEni~f:Ipv4AddressesPerEni.to_value));("resourceConfigDnsResolution",(Option.mapx.resourceConfigDnsResolution~f:ResourceConfigDnsResolution.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceConfigDnsResolution=(Option.map~f:ResourceConfigDnsResolution.of_xml)(Xml.childxml_arg0"resourceConfigDnsResolution")inletipv4AddressesPerEni=(Option.map~f:Ipv4AddressesPerEni.of_xml)(Xml.childxml_arg0"ipv4AddressesPerEni")inletipAddressType=(Option.map~f:ResourceGatewayIpAddressType.of_xml)(Xml.childxml_arg0"ipAddressType")inletsecurityGroupIds=(Option.map~f:SecurityGroupList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletsubnetIds=(Option.map~f:SubnetList.of_xml)(Xml.childxml_arg0"subnetIds")inletvpcIdentifier=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcIdentifier")inletstatus=(Option.map~f:ResourceGatewayStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ResourceGatewayArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:ResourceGatewayName.of_xml)(Xml.childxml_arg0"name")inmake?resourceConfigDnsResolution?ipv4AddressesPerEni?ipAddressType?securityGroupIds?subnetIds?vpcIdentifier?status?arn?id?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceConfigDnsResolution=field_mapjson__"resourceConfigDnsResolution"ResourceConfigDnsResolution.of_jsoninletipv4AddressesPerEni=field_mapjson__"ipv4AddressesPerEni"Ipv4AddressesPerEni.of_jsoninletipAddressType=field_mapjson__"ipAddressType"ResourceGatewayIpAddressType.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"SecurityGroupList.of_jsoninletsubnetIds=field_mapjson__"subnetIds"SubnetList.of_jsoninletvpcIdentifier=field_mapjson__"vpcIdentifier"VpcId.of_jsoninletstatus=field_mapjson__"status"ResourceGatewayStatus.of_jsoninletarn=field_mapjson__"arn"ResourceGatewayArn.of_jsoninletid=field_mapjson__"id"ResourceGatewayId.of_jsoninletname=field_mapjson__"name"ResourceGatewayName.of_jsoninmake?resourceConfigDnsResolution?ipv4AddressesPerEni?ipAddressType?securityGroupIds?subnetIds?vpcIdentifier?status?arn?id?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A resource gateway is a point of ingress into the VPC where a resource resides. It spans multiple Availability Zones. For your resource to be accessible from all Availability Zones, you should create your resource gateways to span as many Availability Zones as possible. A VPC can have multiple resource gateways."]moduleCreateResourceGatewayRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];name:ResourceGatewayName.t[@ocaml.doc"The name of the resource gateway."];vpcIdentifier:VpcId.toption[@ocaml.doc"The ID of the VPC for the resource gateway."];subnetIds:SubnetList.toption[@ocaml.doc"The IDs of the VPC subnets in which to create the resource gateway."];securityGroupIds:CreateResourceGatewayRequestSecurityGroupIdsList.toption[@ocaml.doc"The IDs of the security groups to apply to the resource gateway. The security groups must be in the same VPC."];ipAddressType:ResourceGatewayIpAddressType.toption[@ocaml.doc"A resource gateway can have IPv4, IPv6 or dualstack addresses. The IP address type of a resource gateway must be compatible with the subnets of the resource gateway and the IP address type of the resource, as described here: IPv4Assign IPv4 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets have IPv4 address ranges, and the resource also has an IPv4 address. IPv6Assign IPv6 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets are IPv6 only subnets, and the resource also has an IPv6 address. DualstackAssign both IPv4 and IPv6 addresses to your resource gateway network interfaces. This option is supported only if all selected subnets have both IPv4 and IPv6 address ranges, and the resource either has an IPv4 or IPv6 address. The IP address type of the resource gateway is independent of the IP address type of the client or the VPC endpoint through which the resource is accessed."];ipv4AddressesPerEni:Ipv4AddressesPerEni.toption[@ocaml.doc"The number of IPv4 addresses in each ENI for the resource gateway."];resourceConfigDnsResolution:ResourceConfigDnsResolution.toption[@ocaml.doc"Indicates how DNS is resolved for resource configurations associated to this resource gateway. ResourceConfigDnsResolution is set at creation time and cannot be changed. IN_VPC - DNS resolution occurs privately within the resource gateway's VPC. DNS queries for resources behind this resource gateway resolve using the DNS resolvers defined in the VPC's DHCP option sets. Use this when your resource domain names are hosted in private Route 53 hosted zones or on-premises DNS servers reachable from the VPC. PUBLIC - DNS resolution occurs against public DNS resolvers. DNS queries for resources behind this resource gateway resolve using standard public DNS. Use this when your resource domain names are publicly resolvable."];tags:TagMap.toption[@ocaml.doc"The tags for the resource gateway."]}letcontext_="CreateResourceGatewayRequest"letmake?clientToken=fun?vpcIdentifier->fun?subnetIds->fun?securityGroupIds->fun?ipAddressType->fun?ipv4AddressesPerEni->fun?resourceConfigDnsResolution->fun?tags->fun~name->fun()->{clientToken;vpcIdentifier;subnetIds;securityGroupIds;ipAddressType;ipv4AddressesPerEni;resourceConfigDnsResolution;tags;name}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("name",(Some(ResourceGatewayName.to_valuex.name)));("vpcIdentifier",(Option.mapx.vpcIdentifier~f:VpcId.to_value));("subnetIds",(Option.mapx.subnetIds~f:SubnetList.to_value));("securityGroupIds",(Option.mapx.securityGroupIds~f:CreateResourceGatewayRequestSecurityGroupIdsList.to_value));("ipAddressType",(Option.mapx.ipAddressType~f:ResourceGatewayIpAddressType.to_value));("ipv4AddressesPerEni",(Option.mapx.ipv4AddressesPerEni~f:Ipv4AddressesPerEni.to_value));("resourceConfigDnsResolution",(Option.mapx.resourceConfigDnsResolution~f:ResourceConfigDnsResolution.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletresourceConfigDnsResolution=(Option.map~f:ResourceConfigDnsResolution.of_xml)(Xml.childxml_arg0"resourceConfigDnsResolution")inletipv4AddressesPerEni=(Option.map~f:Ipv4AddressesPerEni.of_xml)(Xml.childxml_arg0"ipv4AddressesPerEni")inletipAddressType=(Option.map~f:ResourceGatewayIpAddressType.of_xml)(Xml.childxml_arg0"ipAddressType")inletsecurityGroupIds=(Option.map~f:CreateResourceGatewayRequestSecurityGroupIdsList.of_xml)(Xml.childxml_arg0"securityGroupIds")inletsubnetIds=(Option.map~f:SubnetList.of_xml)(Xml.childxml_arg0"subnetIds")inletvpcIdentifier=(Option.map~f:VpcId.of_xml)(Xml.childxml_arg0"vpcIdentifier")inletname=ResourceGatewayName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?tags?resourceConfigDnsResolution?ipv4AddressesPerEni?ipAddressType?securityGroupIds?subnetIds?vpcIdentifier~name?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletresourceConfigDnsResolution=field_mapjson__"resourceConfigDnsResolution"ResourceConfigDnsResolution.of_jsoninletipv4AddressesPerEni=field_mapjson__"ipv4AddressesPerEni"Ipv4AddressesPerEni.of_jsoninletipAddressType=field_mapjson__"ipAddressType"ResourceGatewayIpAddressType.of_jsoninletsecurityGroupIds=field_mapjson__"securityGroupIds"CreateResourceGatewayRequestSecurityGroupIdsList.of_jsoninletsubnetIds=field_mapjson__"subnetIds"SubnetList.of_jsoninletvpcIdentifier=field_mapjson__"vpcIdentifier"VpcId.of_jsoninletname=field_map_exnjson__"name"ResourceGatewayName.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?tags?resourceConfigDnsResolution?ipv4AddressesPerEni?ipAddressType?securityGroupIds?subnetIds?vpcIdentifier~name?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A resource gateway is a point of ingress into the VPC where a resource resides. It spans multiple Availability Zones. For your resource to be accessible from all Availability Zones, you should create your resource gateways to span as many Availability Zones as possible. A VPC can have multiple resource gateways."]moduleCreateResourceConfigurationResponse=structtypenonrect={id:ResourceConfigurationId.toption[@ocaml.doc"The ID of the resource configuration."];name:ResourceConfigurationName.toption[@ocaml.doc"The name of the resource configuration."];arn:ResourceConfigurationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the resource configuration."];resourceGatewayId:ResourceGatewayId.toption[@ocaml.doc"The ID of the resource gateway associated with the resource configuration."];resourceConfigurationGroupId:ResourceConfigurationId.toption[@ocaml.doc"The ID of the parent resource configuration of type GROUP."];type_:ResourceConfigurationType.toption[@ocaml.doc"The type of resource configuration. A resource configuration can be one of the following types: SINGLE - A single resource. GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration. CHILD - A single resource that is part of a group resource configuration. ARN - An Amazon Web Services resource."];portRanges:PortRangeList.toption[@ocaml.doc"The port range."];protocol:ProtocolType.toption[@ocaml.doc"The protocol."];status:ResourceConfigurationStatus.toption[@ocaml.doc"The current status of the resource configuration."];resourceConfigurationDefinition:ResourceConfigurationDefinition.toption[@ocaml.doc"Identifies the resource configuration in one of the following ways: Amazon Resource Name (ARN) - Supported resource-types that are provisioned by Amazon Web Services services, such as RDS databases, can be identified by their ARN. Domain name - Any domain name that is publicly resolvable. IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported."];allowAssociationToShareableServiceNetwork:Boolean.toption[@ocaml.doc"Specifies whether the resource configuration can be associated with a sharable service network."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the resource configuration was created, in ISO-8601 format."];failureReason:String_.toption[@ocaml.doc"The reason that the request failed."];customDomainName:DomainName.toption[@ocaml.doc"The custom domain name for your resource configuration."];domainVerificationId:DomainVerificationId.toption[@ocaml.doc"The domain name verification ID."];groupDomain:DomainName.toption[@ocaml.doc"(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain."];domainVerificationArn:DomainVerificationArn.toption[@ocaml.doc"The verification ID ARN"]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?name->fun?arn->fun?resourceGatewayId->fun?resourceConfigurationGroupId->fun?type_->fun?portRanges->fun?protocol->fun?status->fun?resourceConfigurationDefinition->fun?allowAssociationToShareableServiceNetwork->fun?createdAt->fun?failureReason->fun?customDomainName->fun?domainVerificationId->fun?groupDomain->fun?domainVerificationArn->fun()->{id;name;arn;resourceGatewayId;resourceConfigurationGroupId;type_;portRanges;protocol;status;resourceConfigurationDefinition;allowAssociationToShareableServiceNetwork;createdAt;failureReason;customDomainName;domainVerificationId;groupDomain;domainVerificationArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:ResourceConfigurationId.to_value));("name",(Option.mapx.name~f:ResourceConfigurationName.to_value));("arn",(Option.mapx.arn~f:ResourceConfigurationArn.to_value));("resourceGatewayId",(Option.mapx.resourceGatewayId~f:ResourceGatewayId.to_value));("resourceConfigurationGroupId",(Option.mapx.resourceConfigurationGroupId~f:ResourceConfigurationId.to_value));("type",(Option.mapx.type_~f:ResourceConfigurationType.to_value));("portRanges",(Option.mapx.portRanges~f:PortRangeList.to_value));("protocol",(Option.mapx.protocol~f:ProtocolType.to_value));("status",(Option.mapx.status~f:ResourceConfigurationStatus.to_value));("resourceConfigurationDefinition",(Option.mapx.resourceConfigurationDefinition~f:ResourceConfigurationDefinition.to_value));("allowAssociationToShareableServiceNetwork",(Option.mapx.allowAssociationToShareableServiceNetwork~f:Boolean.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("failureReason",(Option.mapx.failureReason~f:String_.to_value));("customDomainName",(Option.mapx.customDomainName~f:DomainName.to_value));("domainVerificationId",(Option.mapx.domainVerificationId~f:DomainVerificationId.to_value));("groupDomain",(Option.mapx.groupDomain~f:DomainName.to_value));("domainVerificationArn",(Option.mapx.domainVerificationArn~f:DomainVerificationArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainVerificationArn=(Option.map~f:DomainVerificationArn.of_xml)(Xml.childxml_arg0"domainVerificationArn")inletgroupDomain=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"groupDomain")inletdomainVerificationId=(Option.map~f:DomainVerificationId.of_xml)(Xml.childxml_arg0"domainVerificationId")inletcustomDomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletfailureReason=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"failureReason")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletallowAssociationToShareableServiceNetwork=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"allowAssociationToShareableServiceNetwork")inletresourceConfigurationDefinition=(Option.map~f:ResourceConfigurationDefinition.of_xml)(Xml.childxml_arg0"resourceConfigurationDefinition")inletstatus=(Option.map~f:ResourceConfigurationStatus.of_xml)(Xml.childxml_arg0"status")inletprotocol=(Option.map~f:ProtocolType.of_xml)(Xml.childxml_arg0"protocol")inletportRanges=(Option.map~f:PortRangeList.of_xml)(Xml.childxml_arg0"portRanges")inlettype_=(Option.map~f:ResourceConfigurationType.of_xml)(Xml.childxml_arg0"type")inletresourceConfigurationGroupId=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"resourceConfigurationGroupId")inletresourceGatewayId=(Option.map~f:ResourceGatewayId.of_xml)(Xml.childxml_arg0"resourceGatewayId")inletarn=(Option.map~f:ResourceConfigurationArn.of_xml)(Xml.childxml_arg0"arn")inletname=(Option.map~f:ResourceConfigurationName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ResourceConfigurationId.of_xml)(Xml.childxml_arg0"id")inmake?domainVerificationArn?groupDomain?domainVerificationId?customDomainName?failureReason?createdAt?allowAssociationToShareableServiceNetwork?resourceConfigurationDefinition?status?protocol?portRanges?type_?resourceConfigurationGroupId?resourceGatewayId?arn?name?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainVerificationArn=field_mapjson__"domainVerificationArn"DomainVerificationArn.of_jsoninletgroupDomain=field_mapjson__"groupDomain"DomainName.of_jsoninletdomainVerificationId=field_mapjson__"domainVerificationId"DomainVerificationId.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"DomainName.of_jsoninletfailureReason=field_mapjson__"failureReason"String_.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletallowAssociationToShareableServiceNetwork=field_mapjson__"allowAssociationToShareableServiceNetwork"Boolean.of_jsoninletresourceConfigurationDefinition=field_mapjson__"resourceConfigurationDefinition"ResourceConfigurationDefinition.of_jsoninletstatus=field_mapjson__"status"ResourceConfigurationStatus.of_jsoninletprotocol=field_mapjson__"protocol"ProtocolType.of_jsoninletportRanges=field_mapjson__"portRanges"PortRangeList.of_jsoninlettype_=field_mapjson__"type"ResourceConfigurationType.of_jsoninletresourceConfigurationGroupId=field_mapjson__"resourceConfigurationGroupId"ResourceConfigurationId.of_jsoninletresourceGatewayId=field_mapjson__"resourceGatewayId"ResourceGatewayId.of_jsoninletarn=field_mapjson__"arn"ResourceConfigurationArn.of_jsoninletname=field_mapjson__"name"ResourceConfigurationName.of_jsoninletid=field_mapjson__"id"ResourceConfigurationId.of_jsoninmake?domainVerificationArn?groupDomain?domainVerificationId?customDomainName?failureReason?createdAt?allowAssociationToShareableServiceNetwork?resourceConfigurationDefinition?status?protocol?portRanges?type_?resourceConfigurationGroupId?resourceGatewayId?arn?name?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a resource configuration. A resource configuration defines a specific resource. You can associate a resource configuration with a service network or a VPC endpoint."]moduleCreateResourceConfigurationRequest=structtypenonrect={name:ResourceConfigurationName.t[@ocaml.doc"The name of the resource configuration. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen."];type_:ResourceConfigurationType.t[@ocaml.doc"The type of resource configuration. A resource configuration can be one of the following types: SINGLE - A single resource. GROUP - A group of resources. You must create a group resource configuration before you create a child resource configuration. CHILD - A single resource that is part of a group resource configuration. ARN - An Amazon Web Services resource."];portRanges:PortRangeList.toption[@ocaml.doc"(SINGLE, GROUP, CHILD) The TCP port ranges that a consumer can use to access a resource configuration (for example: 1-65535). You can separate port ranges using commas (for example: 1,2,22-30)."];protocol:ProtocolType.toption[@ocaml.doc"(SINGLE, GROUP) The protocol accepted by the resource configuration."];resourceGatewayIdentifier:ResourceGatewayIdentifier.toption[@ocaml.doc"(SINGLE, GROUP, ARN) The ID or ARN of the resource gateway used to connect to the resource configuration. For a child resource configuration, this value is inherited from the parent resource configuration."];resourceConfigurationGroupIdentifier:ResourceConfigurationIdentifier.toption[@ocaml.doc"(CHILD) The ID or ARN of the parent resource configuration of type GROUP. This is used to associate a child resource configuration with a group resource configuration."];resourceConfigurationDefinition:ResourceConfigurationDefinition.toption[@ocaml.doc"Identifies the resource configuration in one of the following ways: Amazon Resource Name (ARN) - Supported resource-types that are provisioned by Amazon Web Services services, such as RDS databases, can be identified by their ARN. Domain name - Any domain name that is publicly resolvable. IP address - For IPv4 and IPv6, only IP addresses in the VPC are supported."];allowAssociationToShareableServiceNetwork:Boolean.toption[@ocaml.doc"(SINGLE, GROUP, ARN) Specifies whether the resource configuration can be associated with a sharable service network. The default is false."];customDomainName:DomainName.toption[@ocaml.doc"A custom domain name for your resource configuration. Additionally, provide a DomainVerificationID to prove your ownership of a domain."];groupDomain:DomainName.toption[@ocaml.doc"(GROUP) The group domain for a group resource configuration. Any domains that you create for the child resource are subdomains of the group domain. Child resources inherit the verification status of the domain."];domainVerificationIdentifier:DomainVerificationIdentifier.toption[@ocaml.doc"The domain verification ID of your verified custom domain name. If you don't provide an ID, you must configure the DNS settings yourself."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];tags:TagMap.toption[@ocaml.doc"The tags for the resource configuration."]}letcontext_="CreateResourceConfigurationRequest"letmake?portRanges=fun?protocol->fun?resourceGatewayIdentifier->fun?resourceConfigurationGroupIdentifier->fun?resourceConfigurationDefinition->fun?allowAssociationToShareableServiceNetwork->fun?customDomainName->fun?groupDomain->fun?domainVerificationIdentifier->fun?clientToken->fun?tags->fun~name->fun~type_->fun()->{portRanges;protocol;resourceGatewayIdentifier;resourceConfigurationGroupIdentifier;resourceConfigurationDefinition;allowAssociationToShareableServiceNetwork;customDomainName;groupDomain;domainVerificationIdentifier;clientToken;tags;name;type_}letto_valuex=structure_to_value[("name",(Some(ResourceConfigurationName.to_valuex.name)));("type",(Some(ResourceConfigurationType.to_valuex.type_)));("portRanges",(Option.mapx.portRanges~f:PortRangeList.to_value));("protocol",(Option.mapx.protocol~f:ProtocolType.to_value));("resourceGatewayIdentifier",(Option.mapx.resourceGatewayIdentifier~f:ResourceGatewayIdentifier.to_value));("resourceConfigurationGroupIdentifier",(Option.mapx.resourceConfigurationGroupIdentifier~f:ResourceConfigurationIdentifier.to_value));("resourceConfigurationDefinition",(Option.mapx.resourceConfigurationDefinition~f:ResourceConfigurationDefinition.to_value));("allowAssociationToShareableServiceNetwork",(Option.mapx.allowAssociationToShareableServiceNetwork~f:Boolean.to_value));("customDomainName",(Option.mapx.customDomainName~f:DomainName.to_value));("groupDomain",(Option.mapx.groupDomain~f:DomainName.to_value));("domainVerificationIdentifier",(Option.mapx.domainVerificationIdentifier~f:DomainVerificationIdentifier.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletdomainVerificationIdentifier=(Option.map~f:DomainVerificationIdentifier.of_xml)(Xml.childxml_arg0"domainVerificationIdentifier")inletgroupDomain=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"groupDomain")inletcustomDomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"customDomainName")inletallowAssociationToShareableServiceNetwork=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"allowAssociationToShareableServiceNetwork")inletresourceConfigurationDefinition=(Option.map~f:ResourceConfigurationDefinition.of_xml)(Xml.childxml_arg0"resourceConfigurationDefinition")inletresourceConfigurationGroupIdentifier=(Option.map~f:ResourceConfigurationIdentifier.of_xml)(Xml.childxml_arg0"resourceConfigurationGroupIdentifier")inletresourceGatewayIdentifier=(Option.map~f:ResourceGatewayIdentifier.of_xml)(Xml.childxml_arg0"resourceGatewayIdentifier")inletprotocol=(Option.map~f:ProtocolType.of_xml)(Xml.childxml_arg0"protocol")inletportRanges=(Option.map~f:PortRangeList.of_xml)(Xml.childxml_arg0"portRanges")inlettype_=ResourceConfigurationType.of_xml(Xml.child_exn~context:context_xml_arg0"type")inletname=ResourceConfigurationName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags?clientToken?domainVerificationIdentifier?groupDomain?customDomainName?allowAssociationToShareableServiceNetwork?resourceConfigurationDefinition?resourceConfigurationGroupIdentifier?resourceGatewayIdentifier?protocol?portRanges~type_~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletdomainVerificationIdentifier=field_mapjson__"domainVerificationIdentifier"DomainVerificationIdentifier.of_jsoninletgroupDomain=field_mapjson__"groupDomain"DomainName.of_jsoninletcustomDomainName=field_mapjson__"customDomainName"DomainName.of_jsoninletallowAssociationToShareableServiceNetwork=field_mapjson__"allowAssociationToShareableServiceNetwork"Boolean.of_jsoninletresourceConfigurationDefinition=field_mapjson__"resourceConfigurationDefinition"ResourceConfigurationDefinition.of_jsoninletresourceConfigurationGroupIdentifier=field_mapjson__"resourceConfigurationGroupIdentifier"ResourceConfigurationIdentifier.of_jsoninletresourceGatewayIdentifier=field_mapjson__"resourceGatewayIdentifier"ResourceGatewayIdentifier.of_jsoninletprotocol=field_mapjson__"protocol"ProtocolType.of_jsoninletportRanges=field_mapjson__"portRanges"PortRangeList.of_jsoninlettype_=field_map_exnjson__"type"ResourceConfigurationType.of_jsoninletname=field_map_exnjson__"name"ResourceConfigurationName.of_jsoninmake?tags?clientToken?domainVerificationIdentifier?groupDomain?customDomainName?allowAssociationToShareableServiceNetwork?resourceConfigurationDefinition?resourceConfigurationGroupIdentifier?resourceGatewayIdentifier?protocol?portRanges~type_~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a resource configuration. A resource configuration defines a specific resource. You can associate a resource configuration with a service network or a VPC endpoint."]moduleCreateListenerResponse=structtypenonrect={arn:ListenerArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the listener."];id:ListenerId.toption[@ocaml.doc"The ID of the listener."];name:ListenerName.toption[@ocaml.doc"The name of the listener."];protocol:ListenerProtocol.toption[@ocaml.doc"The protocol of the listener."];port:Port.toption[@ocaml.doc"The port number of the listener."];serviceArn:ServiceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service."];serviceId:ServiceId.toption[@ocaml.doc"The ID of the service."];defaultAction:RuleAction.toption[@ocaml.doc"The action for the default rule."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun?name->fun?protocol->fun?port->fun?serviceArn->fun?serviceId->fun?defaultAction->fun()->{arn;id;name;protocol;port;serviceArn;serviceId;defaultAction}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("arn",(Option.mapx.arn~f:ListenerArn.to_value));("id",(Option.mapx.id~f:ListenerId.to_value));("name",(Option.mapx.name~f:ListenerName.to_value));("protocol",(Option.mapx.protocol~f:ListenerProtocol.to_value));("port",(Option.mapx.port~f:Port.to_value));("serviceArn",(Option.mapx.serviceArn~f:ServiceArn.to_value));("serviceId",(Option.mapx.serviceId~f:ServiceId.to_value));("defaultAction",(Option.mapx.defaultAction~f:RuleAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdefaultAction=(Option.map~f:RuleAction.of_xml)(Xml.childxml_arg0"defaultAction")inletserviceId=(Option.map~f:ServiceId.of_xml)(Xml.childxml_arg0"serviceId")inletserviceArn=(Option.map~f:ServiceArn.of_xml)(Xml.childxml_arg0"serviceArn")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletprotocol=(Option.map~f:ListenerProtocol.of_xml)(Xml.childxml_arg0"protocol")inletname=(Option.map~f:ListenerName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:ListenerId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:ListenerArn.of_xml)(Xml.childxml_arg0"arn")inmake?defaultAction?serviceId?serviceArn?port?protocol?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdefaultAction=field_mapjson__"defaultAction"RuleAction.of_jsoninletserviceId=field_mapjson__"serviceId"ServiceId.of_jsoninletserviceArn=field_mapjson__"serviceArn"ServiceArn.of_jsoninletport=field_mapjson__"port"Port.of_jsoninletprotocol=field_mapjson__"protocol"ListenerProtocol.of_jsoninletname=field_mapjson__"name"ListenerName.of_jsoninletid=field_mapjson__"id"ListenerId.of_jsoninletarn=field_mapjson__"arn"ListenerArn.of_jsoninmake?defaultAction?serviceId?serviceArn?port?protocol?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. For more information, see Listeners in the Amazon VPC Lattice User Guide."]moduleCreateListenerRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];name:ListenerName.t[@ocaml.doc"The name of the listener. A listener name must be unique within a service. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen."];protocol:ListenerProtocol.t[@ocaml.doc"The listener protocol."];port:Port.toption[@ocaml.doc"The listener port. You can specify a value from 1 to 65535. For HTTP, the default is 80. For HTTPS, the default is 443."];defaultAction:RuleAction.t[@ocaml.doc"The action for the default rule. Each listener has a default rule. The default rule is used if no other rules match."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];tags:TagMap.toption[@ocaml.doc"The tags for the listener."]}letcontext_="CreateListenerRequest"letmake?port=fun?clientToken->fun?tags->fun~serviceIdentifier->fun~name->fun~protocol->fun~defaultAction->fun()->{port;clientToken;tags;serviceIdentifier;name;protocol;defaultAction}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("name",(Some(ListenerName.to_valuex.name)));("protocol",(Some(ListenerProtocol.to_valuex.protocol)));("port",(Option.mapx.port~f:Port.to_value));("defaultAction",(Some(RuleAction.to_valuex.defaultAction)));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletdefaultAction=RuleAction.of_xml(Xml.child_exn~context:context_xml_arg0"defaultAction")inletport=(Option.map~f:Port.of_xml)(Xml.childxml_arg0"port")inletprotocol=ListenerProtocol.of_xml(Xml.child_exn~context:context_xml_arg0"protocol")inletname=ListenerName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake?tags?clientToken~defaultAction?port~protocol~name~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletdefaultAction=field_map_exnjson__"defaultAction"RuleAction.of_jsoninletport=field_mapjson__"port"Port.of_jsoninletprotocol=field_map_exnjson__"protocol"ListenerProtocol.of_jsoninletname=field_map_exnjson__"name"ListenerName.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake?tags?clientToken~defaultAction?port~protocol~name~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a listener for a service. Before you start using your Amazon VPC Lattice service, you must add one or more listeners. A listener is a process that checks for connection requests to your services. For more information, see Listeners in the Amazon VPC Lattice User Guide."]moduleCreateAccessLogSubscriptionResponse=structtypenonrect={id:AccessLogSubscriptionId.toption[@ocaml.doc"The ID of the access log subscription."];arn:AccessLogSubscriptionArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the access log subscription."];resourceId:ResourceId.toption[@ocaml.doc"The ID of the service network or service."];resourceArn:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the service network or service."];serviceNetworkLogType:ServiceNetworkLogType.toption[@ocaml.doc"The type of log that monitors your Amazon VPC Lattice service networks."];destinationArn:AccessLogDestinationArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the log destination."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?id=fun?arn->fun?resourceId->fun?resourceArn->fun?serviceNetworkLogType->fun?destinationArn->fun()->{id;arn;resourceId;resourceArn;serviceNetworkLogType;destinationArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("id",(Option.mapx.id~f:AccessLogSubscriptionId.to_value));("arn",(Option.mapx.arn~f:AccessLogSubscriptionArn.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceArn",(Option.mapx.resourceArn~f:ResourceArn.to_value));("serviceNetworkLogType",(Option.mapx.serviceNetworkLogType~f:ServiceNetworkLogType.to_value));("destinationArn",(Option.mapx.destinationArn~f:AccessLogDestinationArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdestinationArn=(Option.map~f:AccessLogDestinationArn.of_xml)(Xml.childxml_arg0"destinationArn")inletserviceNetworkLogType=(Option.map~f:ServiceNetworkLogType.of_xml)(Xml.childxml_arg0"serviceNetworkLogType")inletresourceArn=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"resourceArn")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletarn=(Option.map~f:AccessLogSubscriptionArn.of_xml)(Xml.childxml_arg0"arn")inletid=(Option.map~f:AccessLogSubscriptionId.of_xml)(Xml.childxml_arg0"id")inmake?destinationArn?serviceNetworkLogType?resourceArn?resourceId?arn?id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdestinationArn=field_mapjson__"destinationArn"AccessLogDestinationArn.of_jsoninletserviceNetworkLogType=field_mapjson__"serviceNetworkLogType"ServiceNetworkLogType.of_jsoninletresourceArn=field_mapjson__"resourceArn"ResourceArn.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletarn=field_mapjson__"arn"AccessLogSubscriptionArn.of_jsoninletid=field_mapjson__"id"AccessLogSubscriptionId.of_jsoninmake?destinationArn?serviceNetworkLogType?resourceArn?resourceId?arn?id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner can only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. For more information, see Access logs in the Amazon VPC Lattice User Guide."]moduleCreateAccessLogSubscriptionRequest=structtypenonrect={clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails."];resourceIdentifier:ResourceIdentifier.t[@ocaml.doc"The ID or ARN of the service network or service."];destinationArn:AccessLogDestinationArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the destination. The supported destination types are CloudWatch Log groups, Kinesis Data Firehose delivery streams, and Amazon S3 buckets."];serviceNetworkLogType:ServiceNetworkLogType.toption[@ocaml.doc"The type of log that monitors your Amazon VPC Lattice service networks."];tags:TagMap.toption[@ocaml.doc"The tags for the access log subscription."]}letcontext_="CreateAccessLogSubscriptionRequest"letmake?clientToken=fun?serviceNetworkLogType->fun?tags->fun~resourceIdentifier->fun~destinationArn->fun()->{clientToken;serviceNetworkLogType;tags;resourceIdentifier;destinationArn}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("resourceIdentifier",(Some(ResourceIdentifier.to_valuex.resourceIdentifier)));("destinationArn",(Some(AccessLogDestinationArn.to_valuex.destinationArn)));("serviceNetworkLogType",(Option.mapx.serviceNetworkLogType~f:ServiceNetworkLogType.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletserviceNetworkLogType=(Option.map~f:ServiceNetworkLogType.of_xml)(Xml.childxml_arg0"serviceNetworkLogType")inletdestinationArn=AccessLogDestinationArn.of_xml(Xml.child_exn~context:context_xml_arg0"destinationArn")inletresourceIdentifier=ResourceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"resourceIdentifier")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?tags?serviceNetworkLogType~destinationArn~resourceIdentifier?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletserviceNetworkLogType=field_mapjson__"serviceNetworkLogType"ServiceNetworkLogType.of_jsoninletdestinationArn=field_map_exnjson__"destinationArn"AccessLogDestinationArn.of_jsoninletresourceIdentifier=field_map_exnjson__"resourceIdentifier"ResourceIdentifier.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninmake?tags?serviceNetworkLogType~destinationArn~resourceIdentifier?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Enables access logs to be sent to Amazon CloudWatch, Amazon S3, and Amazon Kinesis Data Firehose. The service network owner can use the access logs to audit the services in the network. The service network owner can only see access logs from clients and services that are associated with their service network. Access log entries represent traffic originated from VPCs associated with that network. For more information, see Access logs in the Amazon VPC Lattice User Guide."]moduleBatchUpdateRuleResponse=structtypenonrect={successful:RuleUpdateSuccessList.toption[@ocaml.doc"The rules that were successfully updated."];unsuccessful:RuleUpdateFailureList.toption[@ocaml.doc"The rules that the operation couldn't update."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?successful=fun?unsuccessful->fun()->{successful;unsuccessful}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.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))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.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[("successful",(Option.mapx.successful~f:RuleUpdateSuccessList.to_value));("unsuccessful",(Option.mapx.unsuccessful~f:RuleUpdateFailureList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letunsuccessful=(Option.map~f:RuleUpdateFailureList.of_xml)(Xml.childxml_arg0"unsuccessful")inletsuccessful=(Option.map~f:RuleUpdateSuccessList.of_xml)(Xml.childxml_arg0"successful")inmake?unsuccessful?successful()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letunsuccessful=field_mapjson__"unsuccessful"RuleUpdateFailureList.of_jsoninletsuccessful=field_mapjson__"successful"RuleUpdateSuccessList.of_jsoninmake?unsuccessful?successful()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the listener rules in a batch. You can use this operation to change the priority of listener rules. This can be useful when bulk updating or swapping rule priority. Required permissions: vpc-lattice:UpdateRule For more information, see How Amazon VPC Lattice works with IAM in the Amazon VPC Lattice User Guide."]moduleBatchUpdateRuleRequest=structtypenonrect={serviceIdentifier:ServiceIdentifier.t[@ocaml.doc"The ID or ARN of the service."];listenerIdentifier:ListenerIdentifier.t[@ocaml.doc"The ID or ARN of the listener."];rules:RuleUpdateList.t[@ocaml.doc"The rules for the specified listener."]}letcontext_="BatchUpdateRuleRequest"letmake~serviceIdentifier=fun~listenerIdentifier->fun~rules->fun()->{serviceIdentifier;listenerIdentifier;rules}letto_valuex=structure_to_value[("serviceIdentifier",(Some(ServiceIdentifier.to_valuex.serviceIdentifier)));("listenerIdentifier",(Some(ListenerIdentifier.to_valuex.listenerIdentifier)));("rules",(Some(RuleUpdateList.to_valuex.rules)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrules=RuleUpdateList.of_xml(Xml.child_exn~context:context_xml_arg0"rules")inletlistenerIdentifier=ListenerIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"listenerIdentifier")inletserviceIdentifier=ServiceIdentifier.of_xml(Xml.child_exn~context:context_xml_arg0"serviceIdentifier")inmake~rules~listenerIdentifier~serviceIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrules=field_map_exnjson__"rules"RuleUpdateList.of_jsoninletlistenerIdentifier=field_map_exnjson__"listenerIdentifier"ListenerIdentifier.of_jsoninletserviceIdentifier=field_map_exnjson__"serviceIdentifier"ServiceIdentifier.of_jsoninmake~rules~listenerIdentifier~serviceIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the listener rules in a batch. You can use this operation to change the priority of listener rules. This can be useful when bulk updating or swapping rule priority. Required permissions: vpc-lattice:UpdateRule For more information, see How Amazon VPC Lattice works with IAM in the Amazon VPC Lattice User Guide."]