123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364(* 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.security_irletapiVersion="2018-05-10"letendpointPrefix="security-ir"letserviceFullName="Security Incident Response"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[]))])moduleString_=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_valueendmoduleCommunicationType=structtypenonrect=|Case_Created|Case_Updated|Case_Acknowledged|Case_Closed|Case_Updated_To_Service_Managed|Case_Status_Updated|Case_Pending_Customer_Action_Reminder|Case_Attachment_Url_Uploaded|Case_Comment_Added|Case_Comment_Updated|Membership_Created|Membership_Updated|Membership_Cancelled|Register_Delegated_Administrator|Deregister_Delegated_Administrator|Disable_AWS_Service_Access|Non_static_idofstringletmakei=iletto_string=function|Case_Created->"Case Created"|Case_Updated->"Case Updated"|Case_Acknowledged->"Case Acknowledged"|Case_Closed->"Case Closed"|Case_Updated_To_Service_Managed->"Case Updated To Service Managed"|Case_Status_Updated->"Case Status Updated"|Case_Pending_Customer_Action_Reminder->"Case Pending Customer Action Reminder"|Case_Attachment_Url_Uploaded->"Case Attachment Url Uploaded"|Case_Comment_Added->"Case Comment Added"|Case_Comment_Updated->"Case Comment Updated"|Membership_Created->"Membership Created"|Membership_Updated->"Membership Updated"|Membership_Cancelled->"Membership Cancelled"|Register_Delegated_Administrator->"Register Delegated Administrator"|Deregister_Delegated_Administrator->"Deregister Delegated Administrator"|Disable_AWS_Service_Access->"Disable AWS Service Access"|Non_static_ids->sletof_string=function|"Case Created"->Case_Created|"Case Updated"->Case_Updated|"Case Acknowledged"->Case_Acknowledged|"Case Closed"->Case_Closed|"Case Updated To Service Managed"->Case_Updated_To_Service_Managed|"Case Status Updated"->Case_Status_Updated|"Case Pending Customer Action Reminder"->Case_Pending_Customer_Action_Reminder|"Case Attachment Url Uploaded"->Case_Attachment_Url_Uploaded|"Case Comment Added"->Case_Comment_Added|"Case Comment Updated"->Case_Comment_Updated|"Membership Created"->Membership_Created|"Membership Updated"->Membership_Updated|"Membership Cancelled"->Membership_Cancelled|"Register Delegated Administrator"->Register_Delegated_Administrator|"Deregister Delegated Administrator"->Deregister_Delegated_Administrator|"Disable AWS Service Access"->Disable_AWS_Service_Access|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 CommunicationType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CommunicationType"j)letto_json=simple_to_jsonto_valueendmoduleFeedbackComment=structtypenonrect=stringletcontext_="FeedbackComment"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FeedbackComment"jletto_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_valueendmoduleUsefulnessRating=structtypenonrect=|USEFUL|NOT_USEFUL|Non_static_idofstringletmakei=iletto_string=function|USEFUL->"USEFUL"|NOT_USEFUL->"NOT_USEFUL"|Non_static_ids->sletof_string=function|"USEFUL"->USEFUL|"NOT_USEFUL"->NOT_USEFUL|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 UsefulnessRating"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"UsefulnessRating"j)letto_json=simple_to_jsonto_valueendmoduleValidationExceptionField=structtypenonrect={name:String_.toption;message:String_.toption}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_valuevendmoduleCommunicationPreferences=structtypenonrect=CommunicationType.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CommunicationType.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:CommunicationType.of_xml)letof_jsonj=list_of_json~kind:"CommunicationPreferences"~of_json:CommunicationType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEmailAddress=structtypenonrect=stringletcontext_="EmailAddress"letmakei=letopenResultinok_or_failwith((check_string_mini~min:6)>>=(fun()->(check_string_maxi~max:254)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[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:"EmailAddress"jletto_json=simple_to_jsonto_valueendmoduleIncidentResponderName=structtypenonrect=stringletcontext_="IncidentResponderName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(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:"IncidentResponderName"jletto_json=simple_to_jsonto_valueendmoduleJobTitle=structtypenonrect=stringletcontext_="JobTitle"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(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:"JobTitle"jletto_json=simple_to_jsonto_valueendmoduleOrganizationalUnitId=structtypenonrect=stringletcontext_="OrganizationalUnitId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"OrganizationalUnitId"jletto_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_valueendmoduleOptInFeatureName=structtypenonrect=|Triage|Non_static_idofstringletmakei=iletto_string=function|Triage->"Triage"|Non_static_ids->sletof_string=function|"Triage"->Triage|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 OptInFeatureName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OptInFeatureName"j)letto_json=simple_to_jsonto_valueendmoduleCaseMetadataEntryKeyString=structtypenonrect=stringletcontext_="CaseMetadataEntryKeyString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:500)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CaseMetadataEntryKeyString"jletto_json=simple_to_jsonto_valueendmoduleCaseMetadataEntryValueString=structtypenonrect=stringletcontext_="CaseMetadataEntryValueString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(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:"CaseMetadataEntryValueString"jletto_json=simple_to_jsonto_valueendmoduleAwsRegion=structtypenonrect=|Af_south_1|Ap_east_1|Ap_east_2|Ap_northeast_1|Ap_northeast_2|Ap_northeast_3|Ap_south_1|Ap_south_2|Ap_southeast_1|Ap_southeast_2|Ap_southeast_3|Ap_southeast_4|Ap_southeast_5|Ap_southeast_6|Ap_southeast_7|Ca_central_1|Ca_west_1|Cn_north_1|Cn_northwest_1|Eu_central_1|Eu_central_2|Eu_north_1|Eu_south_1|Eu_south_2|Eu_west_1|Eu_west_2|Eu_west_3|Il_central_1|Me_central_1|Me_south_1|Mx_central_1|Sa_east_1|Us_east_1|Us_east_2|Us_west_1|Us_west_2|Non_static_idofstringletmakei=iletto_string=function|Af_south_1->"af-south-1"|Ap_east_1->"ap-east-1"|Ap_east_2->"ap-east-2"|Ap_northeast_1->"ap-northeast-1"|Ap_northeast_2->"ap-northeast-2"|Ap_northeast_3->"ap-northeast-3"|Ap_south_1->"ap-south-1"|Ap_south_2->"ap-south-2"|Ap_southeast_1->"ap-southeast-1"|Ap_southeast_2->"ap-southeast-2"|Ap_southeast_3->"ap-southeast-3"|Ap_southeast_4->"ap-southeast-4"|Ap_southeast_5->"ap-southeast-5"|Ap_southeast_6->"ap-southeast-6"|Ap_southeast_7->"ap-southeast-7"|Ca_central_1->"ca-central-1"|Ca_west_1->"ca-west-1"|Cn_north_1->"cn-north-1"|Cn_northwest_1->"cn-northwest-1"|Eu_central_1->"eu-central-1"|Eu_central_2->"eu-central-2"|Eu_north_1->"eu-north-1"|Eu_south_1->"eu-south-1"|Eu_south_2->"eu-south-2"|Eu_west_1->"eu-west-1"|Eu_west_2->"eu-west-2"|Eu_west_3->"eu-west-3"|Il_central_1->"il-central-1"|Me_central_1->"me-central-1"|Me_south_1->"me-south-1"|Mx_central_1->"mx-central-1"|Sa_east_1->"sa-east-1"|Us_east_1->"us-east-1"|Us_east_2->"us-east-2"|Us_west_1->"us-west-1"|Us_west_2->"us-west-2"|Non_static_ids->sletof_string=function|"af-south-1"->Af_south_1|"ap-east-1"->Ap_east_1|"ap-east-2"->Ap_east_2|"ap-northeast-1"->Ap_northeast_1|"ap-northeast-2"->Ap_northeast_2|"ap-northeast-3"->Ap_northeast_3|"ap-south-1"->Ap_south_1|"ap-south-2"->Ap_south_2|"ap-southeast-1"->Ap_southeast_1|"ap-southeast-2"->Ap_southeast_2|"ap-southeast-3"->Ap_southeast_3|"ap-southeast-4"->Ap_southeast_4|"ap-southeast-5"->Ap_southeast_5|"ap-southeast-6"->Ap_southeast_6|"ap-southeast-7"->Ap_southeast_7|"ca-central-1"->Ca_central_1|"ca-west-1"->Ca_west_1|"cn-north-1"->Cn_north_1|"cn-northwest-1"->Cn_northwest_1|"eu-central-1"->Eu_central_1|"eu-central-2"->Eu_central_2|"eu-north-1"->Eu_north_1|"eu-south-1"->Eu_south_1|"eu-south-2"->Eu_south_2|"eu-west-1"->Eu_west_1|"eu-west-2"->Eu_west_2|"eu-west-3"->Eu_west_3|"il-central-1"->Il_central_1|"me-central-1"->Me_central_1|"me-south-1"->Me_south_1|"mx-central-1"->Mx_central_1|"sa-east-1"->Sa_east_1|"us-east-1"->Us_east_1|"us-east-2"->Us_east_2|"us-west-1"->Us_west_1|"us-west-2"->Us_west_2|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 AwsRegion"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AwsRegion"j)letto_json=simple_to_jsonto_valueendmoduleIPAddress=structtypenonrect=stringletcontext_="IPAddress"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"(?:(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|(?:(?:[A-F0-9]{1,4}:){7}[A-F0-9]{1,4})|(?:(?:[A-F0-9]{1,4}:){6}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][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:"IPAddress"jletto_json=simple_to_jsonto_valueendmoduleUserAgent=structtypenonrect=stringletcontext_="UserAgent"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:500)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"UserAgent"jletto_json=simple_to_jsonto_valueendmodulePersonName=structtypenonrect=stringletcontext_="PersonName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(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:"PersonName"jletto_json=simple_to_jsonto_valueendmoduleAWSAccountId=structtypenonrect=stringletcontext_="AWSAccountId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(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:"AWSAccountId"jletto_json=simple_to_jsonto_valueendmoduleMembershipArn=structtypenonrect=stringletcontext_="MembershipArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:80)>>=(fun()->check_patterni~pattern:"arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:membership/m-[a-z0-9]{10,32}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"MembershipArn"jletto_json=simple_to_jsonto_valueendmoduleMembershipId=structtypenonrect=stringletcontext_="MembershipId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:34)>>=(fun()->check_patterni~pattern:"m-[a-z0-9]{10,32}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"MembershipId"jletto_json=simple_to_jsonto_valueendmoduleMembershipStatus=structtypenonrect=|Active|Cancelled|Terminated|Non_static_idofstringletmakei=iletto_string=function|Active->"Active"|Cancelled->"Cancelled"|Terminated->"Terminated"|Non_static_ids->sletof_string=function|"Active"->Active|"Cancelled"->Cancelled|"Terminated"->Terminated|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 MembershipStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"MembershipStatus"j)letto_json=simple_to_jsonto_valueendmoduleActionType=structtypenonrect=|Evidence|Investigation|Summarization|Non_static_idofstringletmakei=iletto_string=function|Evidence->"Evidence"|Investigation->"Investigation"|Summarization->"Summarization"|Non_static_ids->sletof_string=function|"Evidence"->Evidence|"Investigation"->Investigation|"Summarization"->Summarization|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 ActionType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ActionType"j)letto_json=simple_to_jsonto_valueendmoduleExecutionStatus=structtypenonrect=|Pending|InProgress|Waiting|Completed|Failed|Cancelled|Non_static_idofstringletmakei=iletto_string=function|Pending->"Pending"|InProgress->"InProgress"|Waiting->"Waiting"|Completed->"Completed"|Failed->"Failed"|Cancelled->"Cancelled"|Non_static_ids->sletof_string=function|"Pending"->Pending|"InProgress"->InProgress|"Waiting"->Waiting|"Completed"->Completed|"Failed"->Failed|"Cancelled"->Cancelled|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ExecutionStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ExecutionStatus"j)letto_json=simple_to_jsonto_valueendmoduleInvestigationContent=structtypenonrect=stringletcontext_="InvestigationContent"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:5000)>>=(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:"InvestigationContent"jletto_json=simple_to_jsonto_valueendmoduleInvestigationFeedback=structtypenonrect={usefulness:UsefulnessRating.toption[@ocaml.doc"User assessment of the investigation result's quality and helpfulness. This rating indicates how valuable the investigation findings were in addressing the case."];comment:FeedbackComment.toption[@ocaml.doc"Optional user comments providing additional context about the investigation feedback. This allows users to explain their rating or provide suggestions for improvement."];submittedAt:Timestamp.toption[@ocaml.doc"ISO 8601 timestamp when the feedback was submitted. This records when the user provided their assessment of the investigation results."]}letmake?usefulness=fun?comment->fun?submittedAt->fun()->{usefulness;comment;submittedAt}letto_valuex=structure_to_value[("usefulness",(Option.mapx.usefulness~f:UsefulnessRating.to_value));("comment",(Option.mapx.comment~f:FeedbackComment.to_value));("submittedAt",(Option.mapx.submittedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsubmittedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"submittedAt")inletcomment=(Option.map~f:FeedbackComment.of_xml)(Xml.childxml_arg0"comment")inletusefulness=(Option.map~f:UsefulnessRating.of_xml)(Xml.childxml_arg0"usefulness")inmake?submittedAt?comment?usefulness()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsubmittedAt=field_mapjson__"submittedAt"Timestamp.of_jsoninletcomment=field_mapjson__"comment"FeedbackComment.of_jsoninletusefulness=field_mapjson__"usefulness"UsefulnessRating.of_jsoninmake?submittedAt?comment?usefulness()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents user feedback for an investigation result. This structure captures the user's evaluation of the investigation's quality, usefulness, and any additional comments."]moduleInvestigationId=structtypenonrect=stringletcontext_="InvestigationId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"inv-[a-z0-9]{10,32}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"InvestigationId"jletto_json=simple_to_jsonto_valueendmoduleInvestigationTitle=structtypenonrect=stringletcontext_="InvestigationTitle"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:"InvestigationTitle"jletto_json=simple_to_jsonto_valueendmoduleCommentBody=structtypenonrect=stringletcontext_="CommentBody"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:12000)>>=(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:"CommentBody"jletto_json=simple_to_jsonto_valueendmoduleCommentId=structtypenonrect=stringletcontext_="CommentId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:6)>>=(fun()->(check_string_maxi~max:6)>>=(fun()->check_patterni~pattern:"\\d{6}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CommentId"jletto_json=simple_to_jsonto_valueendmodulePrincipalId=structtypenonrect=stringletcontext_="PrincipalId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:".*((^AWS Responder)|(^\\d{12}$)|(^arn:([^:]*aws[^:]*):(?:(?:iam)::\\d{12}:(?:user|role|group|root)(?:(?:/[^/]+)+)?|(?:sts)::\\d{12}:assumed-role/[^/]+/[^/]+)$)|(^security-ir.amazonaws.com)).*");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PrincipalId"jletto_json=simple_to_jsonto_valueendmoduleCaseArn=structtypenonrect=stringletcontext_="CaseArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:80)>>=(fun()->check_patterni~pattern:"arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:case/[0-9]{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:"CaseArn"jletto_json=simple_to_jsonto_valueendmoduleCaseId=structtypenonrect=stringletcontext_="CaseId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:10)>>=(fun()->(check_string_maxi~max:32)>>=(fun()->check_patterni~pattern:"\\d{10,32}.*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CaseId"jletto_json=simple_to_jsonto_valueendmoduleCaseStatus=structtypenonrect=|Submitted|Acknowledged|Detection_and_Analysis|Containment__Eradication_and_Recovery|Post_incident_Activities|Ready_to_Close|Closed|Non_static_idofstringletmakei=iletto_string=function|Submitted->"Submitted"|Acknowledged->"Acknowledged"|Detection_and_Analysis->"Detection and Analysis"|Containment__Eradication_and_Recovery->"Containment, Eradication and Recovery"|Post_incident_Activities->"Post-incident Activities"|Ready_to_Close->"Ready to Close"|Closed->"Closed"|Non_static_ids->sletof_string=function|"Submitted"->Submitted|"Acknowledged"->Acknowledged|"Detection and Analysis"->Detection_and_Analysis|"Containment, Eradication and Recovery"->Containment__Eradication_and_Recovery|"Post-incident Activities"->Post_incident_Activities|"Ready to Close"->Ready_to_Close|"Closed"->Closed|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 CaseStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CaseStatus"j)letto_json=simple_to_jsonto_valueendmoduleCaseTitle=structtypenonrect=stringletcontext_="CaseTitle"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:300)>>=(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:"CaseTitle"jletto_json=simple_to_jsonto_valueendmoduleEngagementType=structtypenonrect=|Security_Incident|Investigation|Non_static_idofstringletmakei=iletto_string=function|Security_Incident->"Security Incident"|Investigation->"Investigation"|Non_static_ids->sletof_string=function|"Security Incident"->Security_Incident|"Investigation"->Investigation|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 EngagementType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EngagementType"j)letto_json=simple_to_jsonto_valueendmodulePendingAction=structtypenonrect=|Customer|None|Non_static_idofstringletmakei=iletto_string=function|Customer->"Customer"|None->"None"|Non_static_ids->sletof_string=function|"Customer"->Customer|"None"->None|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 PendingAction"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PendingAction"j)letto_json=simple_to_jsonto_valueendmoduleResolverType=structtypenonrect=|AWS|Self|Non_static_idofstringletmakei=iletto_string=function|AWS->"AWS"|Self->"Self"|Non_static_ids->sletof_string=function|"AWS"->AWS|"Self"->Self|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 ResolverType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResolverType"j)letto_json=simple_to_jsonto_valueendmoduleCaseEditAction=structtypenonrect=stringletcontext_="CaseEditAction"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:"CaseEditAction"jletto_json=simple_to_jsonto_valueendmoduleCaseEditMessage=structtypenonrect=stringletcontext_="CaseEditMessage"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:4096)>>=(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:"CaseEditMessage"jletto_json=simple_to_jsonto_valueendmoduleAttachmentId=structtypenonrect=stringletcontext_="AttachmentId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{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:"AttachmentId"jletto_json=simple_to_jsonto_valueendmoduleCaseAttachmentStatus=structtypenonrect=|Verified|Failed|Pending|Non_static_idofstringletmakei=iletto_string=function|Verified->"Verified"|Failed->"Failed"|Pending->"Pending"|Non_static_ids->sletof_string=function|"Verified"->Verified|"Failed"->Failed|"Pending"->Pending|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 CaseAttachmentStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CaseAttachmentStatus"j)letto_json=simple_to_jsonto_valueendmoduleFileName=structtypenonrect=stringletcontext_="FileName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:255)>>=(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:"FileName"jletto_json=simple_to_jsonto_valueendmoduleMembershipAccountRelationshipStatus=structtypenonrect=|Associated|Disassociated|Unassociated|Non_static_idofstringletmakei=iletto_string=function|Associated->"Associated"|Disassociated->"Disassociated"|Unassociated->"Unassociated"|Non_static_ids->sletof_string=function|"Associated"->Associated|"Disassociated"->Disassociated|"Unassociated"->Unassociated|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 MembershipAccountRelationshipStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"MembershipAccountRelationshipStatus"j)letto_json=simple_to_jsonto_valueendmoduleMembershipAccountRelationshipType=structtypenonrect=|Organization|Unrelated|Non_static_idofstringletmakei=iletto_string=function|Organization->"Organization"|Unrelated->"Unrelated"|Non_static_ids->sletof_string=function|"Organization"->Organization|"Unrelated"->Unrelated|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 MembershipAccountRelationshipType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"MembershipAccountRelationshipType"j)letto_json=simple_to_jsonto_valueendmoduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_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=|UNKNOWN_OPERATION|CANNOT_PARSE|FIELD_VALIDATION_FAILED|OTHER|Non_static_idofstringletmakei=iletto_string=function|UNKNOWN_OPERATION->"UNKNOWN_OPERATION"|CANNOT_PARSE->"CANNOT_PARSE"|FIELD_VALIDATION_FAILED->"FIELD_VALIDATION_FAILED"|OTHER->"OTHER"|Non_static_ids->sletof_string=function|"UNKNOWN_OPERATION"->UNKNOWN_OPERATION|"CANNOT_PARSE"->CANNOT_PARSE|"FIELD_VALIDATION_FAILED"->FIELD_VALIDATION_FAILED|"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_valueendmoduleIncidentResponder=structtypenonrect={name:IncidentResponderName.t;jobTitle:JobTitle.t;email:EmailAddress.t;communicationPreferences:CommunicationPreferences.toption}letcontext_="IncidentResponder"letmake?communicationPreferences=fun~name->fun~jobTitle->fun~email->fun()->{communicationPreferences;name;jobTitle;email}letto_valuex=structure_to_value[("name",(Some(IncidentResponderName.to_valuex.name)));("jobTitle",(Some(JobTitle.to_valuex.jobTitle)));("email",(Some(EmailAddress.to_valuex.email)));("communicationPreferences",(Option.mapx.communicationPreferences~f:CommunicationPreferences.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcommunicationPreferences=(Option.map~f:CommunicationPreferences.of_xml)(Xml.childxml_arg0"communicationPreferences")inletemail=EmailAddress.of_xml(Xml.child_exn~context:context_xml_arg0"email")inletjobTitle=JobTitle.of_xml(Xml.child_exn~context:context_xml_arg0"jobTitle")inletname=IncidentResponderName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?communicationPreferences~email~jobTitle~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcommunicationPreferences=field_mapjson__"communicationPreferences"CommunicationPreferences.of_jsoninletemail=field_map_exnjson__"email"EmailAddress.of_jsoninletjobTitle=field_map_exnjson__"jobTitle"JobTitle.of_jsoninletname=field_map_exnjson__"name"IncidentResponderName.of_jsoninmake?communicationPreferences~email~jobTitle~name()letto_jsonv=composed_to_jsonto_valuevendmoduleMembershipAccountsConfigurationsUpdateOrganizationalUnitsToAddList=structtypenonrect=OrganizationalUnitId.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:OrganizationalUnitId.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:OrganizationalUnitId.of_xml)letof_jsonj=list_of_json~kind:"MembershipAccountsConfigurationsUpdateOrganizationalUnitsToAddList"~of_json:OrganizationalUnitId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMembershipAccountsConfigurationsUpdateOrganizationalUnitsToRemoveList=structtypenonrect=OrganizationalUnitId.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:OrganizationalUnitId.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:OrganizationalUnitId.of_xml)letof_jsonj=list_of_json~kind:"MembershipAccountsConfigurationsUpdateOrganizationalUnitsToRemoveList"~of_json:OrganizationalUnitId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOptInFeature=structtypenonrect={featureName:OptInFeatureName.t;isEnabled:Boolean.t}letcontext_="OptInFeature"letmake~featureName=fun~isEnabled->fun()->{featureName;isEnabled}letto_valuex=structure_to_value[("featureName",(Some(OptInFeatureName.to_valuex.featureName)));("isEnabled",(Some(Boolean.to_valuex.isEnabled)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letisEnabled=Boolean.of_xml(Xml.child_exn~context:context_xml_arg0"isEnabled")inletfeatureName=OptInFeatureName.of_xml(Xml.child_exn~context:context_xml_arg0"featureName")inmake~isEnabled~featureName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letisEnabled=field_map_exnjson__"isEnabled"Boolean.of_jsoninletfeatureName=field_map_exnjson__"featureName"OptInFeatureName.of_jsoninmake~isEnabled~featureName()letto_jsonv=composed_to_jsonto_valuevendmoduleCaseMetadataEntry=structtypenonrect={key:CaseMetadataEntryKeyString.t[@ocaml.doc"The identifier for the metadata field. This key uniquely identifies the type of metadata being stored, such as \"severity\", \"category\", or \"assignee\"."];value:CaseMetadataEntryValueString.t[@ocaml.doc"The value associated with the metadata key. This contains the actual data for the metadata field identified by the key."]}letcontext_="CaseMetadataEntry"letmake~key=fun~value->fun()->{key;value}letto_valuex=structure_to_value[("key",(Some(CaseMetadataEntryKeyString.to_valuex.key)));("value",(Some(CaseMetadataEntryValueString.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=CaseMetadataEntryValueString.of_xml(Xml.child_exn~context:context_xml_arg0"value")inletkey=CaseMetadataEntryKeyString.of_xml(Xml.child_exn~context:context_xml_arg0"key")inmake~value~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"value"CaseMetadataEntryValueString.of_jsoninletkey=field_map_exnjson__"key"CaseMetadataEntryKeyString.of_jsoninmake~value~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents a single metadata entry associated with a case. Each entry consists of a key-value pair that provides additional contextual information about the case, such as classification tags, custom attributes, or system-generated properties."]moduleImpactedAwsRegion=structtypenonrect={region:AwsRegion.t}letcontext_="ImpactedAwsRegion"letmake~region=fun()->{region}letto_valuex=structure_to_value[("region",(Some(AwsRegion.to_valuex.region)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregion=AwsRegion.of_xml(Xml.child_exn~context:context_xml_arg0"region")inmake~region()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregion=field_map_exnjson__"region"AwsRegion.of_jsoninmake~region()letto_jsonv=composed_to_jsonto_valuevendmoduleAwsService=structtypenonrect=stringletcontext_="AwsService"letmakei=letopenResultinok_or_failwith((check_string_mini~min:2)>>=(fun()->(check_string_maxi~max:50)>>=(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:"AwsService"jletto_json=simple_to_jsonto_valueendmoduleThreatActorIp=structtypenonrect={ipAddress:IPAddress.t;userAgent:UserAgent.toption}letcontext_="ThreatActorIp"letmake?userAgent=fun~ipAddress->fun()->{userAgent;ipAddress}letto_valuex=structure_to_value[("ipAddress",(Some(IPAddress.to_valuex.ipAddress)));("userAgent",(Option.mapx.userAgent~f:UserAgent.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letuserAgent=(Option.map~f:UserAgent.of_xml)(Xml.childxml_arg0"userAgent")inletipAddress=IPAddress.of_xml(Xml.child_exn~context:context_xml_arg0"ipAddress")inmake?userAgent~ipAddress()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letuserAgent=field_mapjson__"userAgent"UserAgent.of_jsoninletipAddress=field_map_exnjson__"ipAddress"IPAddress.of_jsoninmake?userAgent~ipAddress()letto_jsonv=composed_to_jsonto_valuevendmoduleWatcher=structtypenonrect={email:EmailAddress.t;name:PersonName.toption;jobTitle:JobTitle.toption}letcontext_="Watcher"letmake?name=fun?jobTitle->fun~email->fun()->{name;jobTitle;email}letto_valuex=structure_to_value[("email",(Some(EmailAddress.to_valuex.email)));("name",(Option.mapx.name~f:PersonName.to_value));("jobTitle",(Option.mapx.jobTitle~f:JobTitle.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letjobTitle=(Option.map~f:JobTitle.of_xml)(Xml.childxml_arg0"jobTitle")inletname=(Option.map~f:PersonName.of_xml)(Xml.childxml_arg0"name")inletemail=EmailAddress.of_xml(Xml.child_exn~context:context_xml_arg0"email")inmake?jobTitle?name~email()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letjobTitle=field_mapjson__"jobTitle"JobTitle.of_jsoninletname=field_mapjson__"name"PersonName.of_jsoninletemail=field_map_exnjson__"email"EmailAddress.of_jsoninmake?jobTitle?name~email()letto_jsonv=composed_to_jsonto_valuevendmoduleTagKey=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_valueendmoduleListMembershipItem=structtypenonrect={membershipId:MembershipId.toption;accountId:AWSAccountId.toption;region:AwsRegion.toption;membershipArn:MembershipArn.toption;membershipStatus:MembershipStatus.toption}letmake?membershipId=fun?accountId->fun?region->fun?membershipArn->fun?membershipStatus->fun()->{membershipId;accountId;region;membershipArn;membershipStatus}letto_valuex=structure_to_value[("membershipId",(Option.mapx.membershipId~f:MembershipId.to_value));("accountId",(Option.mapx.accountId~f:AWSAccountId.to_value));("region",(Option.mapx.region~f:AwsRegion.to_value));("membershipArn",(Option.mapx.membershipArn~f:MembershipArn.to_value));("membershipStatus",(Option.mapx.membershipStatus~f:MembershipStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmembershipStatus=(Option.map~f:MembershipStatus.of_xml)(Xml.childxml_arg0"membershipStatus")inletmembershipArn=(Option.map~f:MembershipArn.of_xml)(Xml.childxml_arg0"membershipArn")inletregion=(Option.map~f:AwsRegion.of_xml)(Xml.childxml_arg0"region")inletaccountId=(Option.map~f:AWSAccountId.of_xml)(Xml.childxml_arg0"accountId")inletmembershipId=(Option.map~f:MembershipId.of_xml)(Xml.childxml_arg0"membershipId")inmake?membershipStatus?membershipArn?region?accountId?membershipId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmembershipStatus=field_mapjson__"membershipStatus"MembershipStatus.of_jsoninletmembershipArn=field_mapjson__"membershipArn"MembershipArn.of_jsoninletregion=field_mapjson__"region"AwsRegion.of_jsoninletaccountId=field_mapjson__"accountId"AWSAccountId.of_jsoninletmembershipId=field_mapjson__"membershipId"MembershipId.of_jsoninmake?membershipStatus?membershipArn?region?accountId?membershipId()letto_jsonv=composed_to_jsonto_valuevendmoduleInvestigationAction=structtypenonrect={investigationId:InvestigationId.toption[@ocaml.doc"The unique identifier for this investigation action. This ID is used to track and reference the specific investigation throughout its lifecycle."];actionType:ActionType.toption[@ocaml.doc"The type of investigation action being performed. This categorizes the investigation method or approach used in the case."];title:InvestigationTitle.toption[@ocaml.doc"Human-readable summary of the investigation focus. This provides a brief description of what the investigation is examining or analyzing."];content:InvestigationContent.toption[@ocaml.doc"Detailed investigation results in rich markdown format. This field contains the comprehensive findings, analysis, and conclusions from the investigation."];status:ExecutionStatus.toption[@ocaml.doc"The current execution status of the investigation. This indicates whether the investigation is pending, in progress, completed, or failed."];lastUpdated:Timestamp.toption[@ocaml.doc"ISO 8601 timestamp of the most recent status update. This indicates when the investigation was last modified or when its status last changed."];feedback:InvestigationFeedback.toption[@ocaml.doc"User feedback for this investigation result. This contains the user's assessment and comments about the quality and usefulness of the investigation findings."]}letmake?investigationId=fun?actionType->fun?title->fun?content->fun?status->fun?lastUpdated->fun?feedback->fun()->{investigationId;actionType;title;content;status;lastUpdated;feedback}letto_valuex=structure_to_value[("investigationId",(Option.mapx.investigationId~f:InvestigationId.to_value));("actionType",(Option.mapx.actionType~f:ActionType.to_value));("title",(Option.mapx.title~f:InvestigationTitle.to_value));("content",(Option.mapx.content~f:InvestigationContent.to_value));("status",(Option.mapx.status~f:ExecutionStatus.to_value));("lastUpdated",(Option.mapx.lastUpdated~f:Timestamp.to_value));("feedback",(Option.mapx.feedback~f:InvestigationFeedback.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfeedback=(Option.map~f:InvestigationFeedback.of_xml)(Xml.childxml_arg0"feedback")inletlastUpdated=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdated")inletstatus=(Option.map~f:ExecutionStatus.of_xml)(Xml.childxml_arg0"status")inletcontent=(Option.map~f:InvestigationContent.of_xml)(Xml.childxml_arg0"content")inlettitle=(Option.map~f:InvestigationTitle.of_xml)(Xml.childxml_arg0"title")inletactionType=(Option.map~f:ActionType.of_xml)(Xml.childxml_arg0"actionType")inletinvestigationId=(Option.map~f:InvestigationId.of_xml)(Xml.childxml_arg0"investigationId")inmake?feedback?lastUpdated?status?content?title?actionType?investigationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfeedback=field_mapjson__"feedback"InvestigationFeedback.of_jsoninletlastUpdated=field_mapjson__"lastUpdated"Timestamp.of_jsoninletstatus=field_mapjson__"status"ExecutionStatus.of_jsoninletcontent=field_mapjson__"content"InvestigationContent.of_jsoninlettitle=field_mapjson__"title"InvestigationTitle.of_jsoninletactionType=field_mapjson__"actionType"ActionType.of_jsoninletinvestigationId=field_mapjson__"investigationId"InvestigationId.of_jsoninmake?feedback?lastUpdated?status?content?title?actionType?investigationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents an investigation action performed within a case. This structure captures the details of an automated or manual investigation, including its status, results, and user feedback."]moduleListCommentsItem=structtypenonrect={commentId:CommentId.toption;createdDate:Timestamp.toption;lastUpdatedDate:Timestamp.toption;creator:PrincipalId.toption;lastUpdatedBy:PrincipalId.toption;body:CommentBody.toption}letmake?commentId=fun?createdDate->fun?lastUpdatedDate->fun?creator->fun?lastUpdatedBy->fun?body->fun()->{commentId;createdDate;lastUpdatedDate;creator;lastUpdatedBy;body}letto_valuex=structure_to_value[("commentId",(Option.mapx.commentId~f:CommentId.to_value));("createdDate",(Option.mapx.createdDate~f:Timestamp.to_value));("lastUpdatedDate",(Option.mapx.lastUpdatedDate~f:Timestamp.to_value));("creator",(Option.mapx.creator~f:PrincipalId.to_value));("lastUpdatedBy",(Option.mapx.lastUpdatedBy~f:PrincipalId.to_value));("body",(Option.mapx.body~f:CommentBody.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbody=(Option.map~f:CommentBody.of_xml)(Xml.childxml_arg0"body")inletlastUpdatedBy=(Option.map~f:PrincipalId.of_xml)(Xml.childxml_arg0"lastUpdatedBy")inletcreator=(Option.map~f:PrincipalId.of_xml)(Xml.childxml_arg0"creator")inletlastUpdatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedDate")inletcreatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdDate")inletcommentId=(Option.map~f:CommentId.of_xml)(Xml.childxml_arg0"commentId")inmake?body?lastUpdatedBy?creator?lastUpdatedDate?createdDate?commentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbody=field_mapjson__"body"CommentBody.of_jsoninletlastUpdatedBy=field_mapjson__"lastUpdatedBy"PrincipalId.of_jsoninletcreator=field_mapjson__"creator"PrincipalId.of_jsoninletlastUpdatedDate=field_mapjson__"lastUpdatedDate"Timestamp.of_jsoninletcreatedDate=field_mapjson__"createdDate"Timestamp.of_jsoninletcommentId=field_mapjson__"commentId"CommentId.of_jsoninmake?body?lastUpdatedBy?creator?lastUpdatedDate?createdDate?commentId()letto_jsonv=composed_to_jsonto_valuevendmoduleListCasesItem=structtypenonrect={caseId:CaseId.toption;lastUpdatedDate:Timestamp.toption;title:CaseTitle.toption;caseArn:CaseArn.toption;engagementType:EngagementType.toption;caseStatus:CaseStatus.toption;createdDate:Timestamp.toption;closedDate:Timestamp.toption;resolverType:ResolverType.toption;pendingAction:PendingAction.toption}letmake?caseId=fun?lastUpdatedDate->fun?title->fun?caseArn->fun?engagementType->fun?caseStatus->fun?createdDate->fun?closedDate->fun?resolverType->fun?pendingAction->fun()->{caseId;lastUpdatedDate;title;caseArn;engagementType;caseStatus;createdDate;closedDate;resolverType;pendingAction}letto_valuex=structure_to_value[("caseId",(Option.mapx.caseId~f:CaseId.to_value));("lastUpdatedDate",(Option.mapx.lastUpdatedDate~f:Timestamp.to_value));("title",(Option.mapx.title~f:CaseTitle.to_value));("caseArn",(Option.mapx.caseArn~f:CaseArn.to_value));("engagementType",(Option.mapx.engagementType~f:EngagementType.to_value));("caseStatus",(Option.mapx.caseStatus~f:CaseStatus.to_value));("createdDate",(Option.mapx.createdDate~f:Timestamp.to_value));("closedDate",(Option.mapx.closedDate~f:Timestamp.to_value));("resolverType",(Option.mapx.resolverType~f:ResolverType.to_value));("pendingAction",(Option.mapx.pendingAction~f:PendingAction.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpendingAction=(Option.map~f:PendingAction.of_xml)(Xml.childxml_arg0"pendingAction")inletresolverType=(Option.map~f:ResolverType.of_xml)(Xml.childxml_arg0"resolverType")inletclosedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"closedDate")inletcreatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdDate")inletcaseStatus=(Option.map~f:CaseStatus.of_xml)(Xml.childxml_arg0"caseStatus")inletengagementType=(Option.map~f:EngagementType.of_xml)(Xml.childxml_arg0"engagementType")inletcaseArn=(Option.map~f:CaseArn.of_xml)(Xml.childxml_arg0"caseArn")inlettitle=(Option.map~f:CaseTitle.of_xml)(Xml.childxml_arg0"title")inletlastUpdatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedDate")inletcaseId=(Option.map~f:CaseId.of_xml)(Xml.childxml_arg0"caseId")inmake?pendingAction?resolverType?closedDate?createdDate?caseStatus?engagementType?caseArn?title?lastUpdatedDate?caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpendingAction=field_mapjson__"pendingAction"PendingAction.of_jsoninletresolverType=field_mapjson__"resolverType"ResolverType.of_jsoninletclosedDate=field_mapjson__"closedDate"Timestamp.of_jsoninletcreatedDate=field_mapjson__"createdDate"Timestamp.of_jsoninletcaseStatus=field_mapjson__"caseStatus"CaseStatus.of_jsoninletengagementType=field_mapjson__"engagementType"EngagementType.of_jsoninletcaseArn=field_mapjson__"caseArn"CaseArn.of_jsoninlettitle=field_mapjson__"title"CaseTitle.of_jsoninletlastUpdatedDate=field_mapjson__"lastUpdatedDate"Timestamp.of_jsoninletcaseId=field_mapjson__"caseId"CaseId.of_jsoninmake?pendingAction?resolverType?closedDate?createdDate?caseStatus?engagementType?caseArn?title?lastUpdatedDate?caseId()letto_jsonv=composed_to_jsonto_valuevendmoduleCaseEditItem=structtypenonrect={eventTimestamp:Timestamp.toption;principal:String_.toption;action:CaseEditAction.toption;message:CaseEditMessage.toption}letmake?eventTimestamp=fun?principal->fun?action->fun?message->fun()->{eventTimestamp;principal;action;message}letto_valuex=structure_to_value[("eventTimestamp",(Option.mapx.eventTimestamp~f:Timestamp.to_value));("principal",(Option.mapx.principal~f:String_.to_value));("action",(Option.mapx.action~f:CaseEditAction.to_value));("message",(Option.mapx.message~f:CaseEditMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:CaseEditMessage.of_xml)(Xml.childxml_arg0"message")inletaction=(Option.map~f:CaseEditAction.of_xml)(Xml.childxml_arg0"action")inletprincipal=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"principal")inleteventTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"eventTimestamp")inmake?message?action?principal?eventTimestamp()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"CaseEditMessage.of_jsoninletaction=field_mapjson__"action"CaseEditAction.of_jsoninletprincipal=field_mapjson__"principal"String_.of_jsoninleteventTimestamp=field_mapjson__"eventTimestamp"Timestamp.of_jsoninmake?message?action?principal?eventTimestamp()letto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationalUnits=structtypenonrect=OrganizationalUnitId.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OrganizationalUnitId.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:OrganizationalUnitId.of_xml)letof_jsonj=list_of_json~kind:"OrganizationalUnits"~of_json:OrganizationalUnitId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCaseAttachmentAttributes=structtypenonrect={attachmentId:AttachmentId.toption;fileName:FileName.toption;attachmentStatus:CaseAttachmentStatus.toption;creator:PrincipalId.toption;createdDate:Timestamp.toption}letmake?attachmentId=fun?fileName->fun?attachmentStatus->fun?creator->fun?createdDate->fun()->{attachmentId;fileName;attachmentStatus;creator;createdDate}letto_valuex=structure_to_value[("attachmentId",(Option.mapx.attachmentId~f:AttachmentId.to_value));("fileName",(Option.mapx.fileName~f:FileName.to_value));("attachmentStatus",(Option.mapx.attachmentStatus~f:CaseAttachmentStatus.to_value));("creator",(Option.mapx.creator~f:PrincipalId.to_value));("createdDate",(Option.mapx.createdDate~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdDate")inletcreator=(Option.map~f:PrincipalId.of_xml)(Xml.childxml_arg0"creator")inletattachmentStatus=(Option.map~f:CaseAttachmentStatus.of_xml)(Xml.childxml_arg0"attachmentStatus")inletfileName=(Option.map~f:FileName.of_xml)(Xml.childxml_arg0"fileName")inletattachmentId=(Option.map~f:AttachmentId.of_xml)(Xml.childxml_arg0"attachmentId")inmake?createdDate?creator?attachmentStatus?fileName?attachmentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedDate=field_mapjson__"createdDate"Timestamp.of_jsoninletcreator=field_mapjson__"creator"PrincipalId.of_jsoninletattachmentStatus=field_mapjson__"attachmentStatus"CaseAttachmentStatus.of_jsoninletfileName=field_mapjson__"fileName"FileName.of_jsoninletattachmentId=field_mapjson__"attachmentId"AttachmentId.of_jsoninmake?createdDate?creator?attachmentStatus?fileName?attachmentId()letto_jsonv=composed_to_jsonto_valuevendmoduleGetMembershipAccountDetailError=structtypenonrect={accountId:AWSAccountId.toption;error:String_.toption;message:String_.toption}letmake?accountId=fun?error->fun?message->fun()->{accountId;error;message}letto_valuex=structure_to_value[("accountId",(Option.mapx.accountId~f:AWSAccountId.to_value));("error",(Option.mapx.error~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")inleterror=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"error")inletaccountId=(Option.map~f:AWSAccountId.of_xml)(Xml.childxml_arg0"accountId")inmake?message?error?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninleterror=field_mapjson__"error"String_.of_jsoninletaccountId=field_mapjson__"accountId"AWSAccountId.of_jsoninmake?message?error?accountId()letto_jsonv=composed_to_jsonto_valuevendmoduleGetMembershipAccountDetailItem=structtypenonrect={accountId:AWSAccountId.toption;relationshipStatus:MembershipAccountRelationshipStatus.toption;relationshipType:MembershipAccountRelationshipType.toption}letmake?accountId=fun?relationshipStatus->fun?relationshipType->fun()->{accountId;relationshipStatus;relationshipType}letto_valuex=structure_to_value[("accountId",(Option.mapx.accountId~f:AWSAccountId.to_value));("relationshipStatus",(Option.mapx.relationshipStatus~f:MembershipAccountRelationshipStatus.to_value));("relationshipType",(Option.mapx.relationshipType~f:MembershipAccountRelationshipType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrelationshipType=(Option.map~f:MembershipAccountRelationshipType.of_xml)(Xml.childxml_arg0"relationshipType")inletrelationshipStatus=(Option.map~f:MembershipAccountRelationshipStatus.of_xml)(Xml.childxml_arg0"relationshipStatus")inletaccountId=(Option.map~f:AWSAccountId.of_xml)(Xml.childxml_arg0"accountId")inmake?relationshipType?relationshipStatus?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrelationshipType=field_mapjson__"relationshipType"MembershipAccountRelationshipType.of_jsoninletrelationshipStatus=field_mapjson__"relationshipStatus"MembershipAccountRelationshipStatus.of_jsoninletaccountId=field_mapjson__"accountId"AWSAccountId.of_jsoninmake?relationshipType?relationshipStatus?accountId()letto_jsonv=composed_to_jsonto_valuevendmoduleAccessDeniedException=structtypenonrect={message:String_.toption[@ocaml.doc"The ID of the resource which lead to the access denial."]}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_valuevendmoduleConflictException=structtypenonrect={message:String_.toption[@ocaml.doc"The exception message."];resourceId:String_.toption[@ocaml.doc"The ID of the conflicting resource."];resourceType:String_.toption[@ocaml.doc"The type of the conflicting resource."]}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_valuevendmoduleInternalServerException=structtypenonrect={message:String_.toption[@ocaml.doc"The exception message."];retryAfterSeconds:Integer.toption[@ocaml.doc"The number of seconds after which to retry the request."]}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_valuevendmoduleInvalidTokenException=structtypenonrect={message:String_.toption[@ocaml.doc"The exception message."]}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_valuevendmoduleResourceNotFoundException=structtypenonrect={message:String_.toption[@ocaml.doc"The exception message."]}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_valuevendmoduleSecurityIncidentResponseNotActiveException=structtypenonrect={message:String_.toption[@ocaml.doc"The exception message."]}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_valuevendmoduleServiceQuotaExceededException=structtypenonrect={message:String_.toption[@ocaml.doc"The exception message."];resourceId:String_.toption[@ocaml.doc"The ID of the requested resource which lead to the service quota exception."];resourceType:String_.toption[@ocaml.doc"The type of the requested resource which lead to the service quota exception."];serviceCode:String_.toption[@ocaml.doc"The service code of the quota."];quotaCode:String_.toption[@ocaml.doc"The code of the quota."]}letmake?message=fun?resourceId->fun?resourceType->fun?serviceCode->fun?quotaCode->fun()->{message;resourceId;resourceType;serviceCode;quotaCode}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("resourceId",(Option.mapx.resourceId~f:String_.to_value));("resourceType",(Option.mapx.resourceType~f:String_.to_value));("serviceCode",(Option.mapx.serviceCode~f:String_.to_value));("quotaCode",(Option.mapx.quotaCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letquotaCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"quotaCode")inletserviceCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"serviceCode")inletresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?quotaCode?serviceCode?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letquotaCode=field_mapjson__"quotaCode"String_.of_jsoninletserviceCode=field_mapjson__"serviceCode"String_.of_jsoninletresourceType=field_mapjson__"resourceType"String_.of_jsoninletresourceId=field_mapjson__"resourceId"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?quotaCode?serviceCode?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevendmoduleThrottlingException=structtypenonrect={message:String_.toption[@ocaml.doc"The exception message."];serviceCode:String_.toption[@ocaml.doc"The service code of the exception."];quotaCode:String_.toption[@ocaml.doc"The quota code of the exception."];retryAfterSeconds:Integer.toption[@ocaml.doc"The number of seconds after which to retry the request."]}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_valuevendmoduleValidationException=structtypenonrect={message:String_.toption[@ocaml.doc"The exception message."];reason:ValidationExceptionReason.toption[@ocaml.doc"The reason for the exception."];fieldList:ValidationExceptionFieldList.toption[@ocaml.doc"The fields which lead to the exception."]}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_valuevendmoduleIncidentResponseTeam=structtypenonrect=IncidentResponder.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:2));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:IncidentResponder.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:IncidentResponder.of_xml)letof_jsonj=list_of_json~kind:"IncidentResponseTeam"~of_json:IncidentResponder.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMembershipAccountsConfigurationsUpdate=structtypenonrect={coverEntireOrganization:Boolean.toption[@ocaml.doc"The coverEntireOrganization field is a boolean value that determines whether the membership configuration should be applied across the entire Amazon Web Services Organization. When set to true, the configuration will be applied to all accounts within the organization. When set to false, the configuration will only apply to specifically designated accounts."];organizationalUnitsToAdd:MembershipAccountsConfigurationsUpdateOrganizationalUnitsToAddList.toption[@ocaml.doc"A list of organizational unit IDs to add to the membership configuration. Each organizational unit ID must match the pattern ou-\\[0-9a-z\\]\\{4,32\\}-\\[a-z0-9\\]\\{8,32\\}. The list must contain between 1 and 5 organizational unit IDs."];organizationalUnitsToRemove:MembershipAccountsConfigurationsUpdateOrganizationalUnitsToRemoveList.toption[@ocaml.doc"A list of organizational unit IDs to remove from the membership configuration. Each organizational unit ID must match the pattern ou-\\[0-9a-z\\]\\{4,32\\}-\\[a-z0-9\\]\\{8,32\\}. The list must contain between 1 and 5 organizational unit IDs per invocation of the API request."]}letmake?coverEntireOrganization=fun?organizationalUnitsToAdd->fun?organizationalUnitsToRemove->fun()->{coverEntireOrganization;organizationalUnitsToAdd;organizationalUnitsToRemove}letto_valuex=structure_to_value[("coverEntireOrganization",(Option.mapx.coverEntireOrganization~f:Boolean.to_value));("organizationalUnitsToAdd",(Option.mapx.organizationalUnitsToAdd~f:MembershipAccountsConfigurationsUpdateOrganizationalUnitsToAddList.to_value));("organizationalUnitsToRemove",(Option.mapx.organizationalUnitsToRemove~f:MembershipAccountsConfigurationsUpdateOrganizationalUnitsToRemoveList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letorganizationalUnitsToRemove=(Option.map~f:MembershipAccountsConfigurationsUpdateOrganizationalUnitsToRemoveList.of_xml)(Xml.childxml_arg0"organizationalUnitsToRemove")inletorganizationalUnitsToAdd=(Option.map~f:MembershipAccountsConfigurationsUpdateOrganizationalUnitsToAddList.of_xml)(Xml.childxml_arg0"organizationalUnitsToAdd")inletcoverEntireOrganization=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"coverEntireOrganization")inmake?organizationalUnitsToRemove?organizationalUnitsToAdd?coverEntireOrganization()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letorganizationalUnitsToRemove=field_mapjson__"organizationalUnitsToRemove"MembershipAccountsConfigurationsUpdateOrganizationalUnitsToRemoveList.of_jsoninletorganizationalUnitsToAdd=field_mapjson__"organizationalUnitsToAdd"MembershipAccountsConfigurationsUpdateOrganizationalUnitsToAddList.of_jsoninletcoverEntireOrganization=field_mapjson__"coverEntireOrganization"Boolean.of_jsoninmake?organizationalUnitsToRemove?organizationalUnitsToAdd?coverEntireOrganization()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The MembershipAccountsConfigurationsUpdatestructure represents the configuration updates for member accounts within an Amazon Web Services organization. This structure is used to modify existing account configurations and settings for members in the organization. When applying updates, ensure all required fields are properly specified to maintain account consistency. Key considerations when using this structure: All configuration changes are validated before being applied Updates are processed asynchronously in the background Configuration changes may take several minutes to propagate across all affected accounts"]moduleMembershipName=structtypenonrect=stringletcontext_="MembershipName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(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:"MembershipName"jletto_json=simple_to_jsonto_valueendmoduleOptInFeatures=structtypenonrect=OptInFeature.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(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:OptInFeature.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:OptInFeature.of_xml)letof_jsonj=list_of_json~kind:"OptInFeatures"~of_json:OptInFeature.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleSelfManagedCaseStatus=structtypenonrect=|Submitted|Detection_and_Analysis|Containment__Eradication_and_Recovery|Post_incident_Activities|Non_static_idofstringletmakei=iletto_string=function|Submitted->"Submitted"|Detection_and_Analysis->"Detection and Analysis"|Containment__Eradication_and_Recovery->"Containment, Eradication and Recovery"|Post_incident_Activities->"Post-incident Activities"|Non_static_ids->sletof_string=function|"Submitted"->Submitted|"Detection and Analysis"->Detection_and_Analysis|"Containment, Eradication and Recovery"->Containment__Eradication_and_Recovery|"Post-incident Activities"->Post_incident_Activities|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 SelfManagedCaseStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SelfManagedCaseStatus"j)letto_json=simple_to_jsonto_valueendmoduleCaseDescription=structtypenonrect=stringletcontext_="CaseDescription"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:8000)>>=(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:"CaseDescription"jletto_json=simple_to_jsonto_valueendmoduleCaseMetadata=structtypenonrect=CaseMetadataEntry.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:30)>>=(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:CaseMetadataEntry.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:CaseMetadataEntry.of_xml)letof_jsonj=list_of_json~kind:"CaseMetadata"~of_json:CaseMetadataEntry.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleImpactedAccounts=structtypenonrect=AWSAccountId.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:AWSAccountId.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:AWSAccountId.of_xml)letof_jsonj=list_of_json~kind:"ImpactedAccounts"~of_json:AWSAccountId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleImpactedAwsRegionList=structtypenonrect=ImpactedAwsRegion.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ImpactedAwsRegion.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:ImpactedAwsRegion.of_xml)letof_jsonj=list_of_json~kind:"ImpactedAwsRegionList"~of_json:ImpactedAwsRegion.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleImpactedServicesList=structtypenonrect=AwsService.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:600)>>=(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:AwsService.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:AwsService.of_xml)letof_jsonj=list_of_json~kind:"ImpactedServicesList"~of_json:AwsService.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleThreatActorIpList=structtypenonrect=ThreatActorIp.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:ThreatActorIp.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:ThreatActorIp.of_xml)letof_jsonj=list_of_json~kind:"ThreatActorIpList"~of_json:ThreatActorIp.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleWatchers=structtypenonrect=Watcher.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:30)>>=(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:Watcher.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:Watcher.of_xml)letof_jsonj=list_of_json~kind:"Watchers"~of_json:Watcher.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleArn=structtypenonrect=stringletcontext_="Arn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:12)>>=(fun()->(check_string_maxi~max:1010)>>=(fun()->check_patterni~pattern:"arn:aws:security-ir:\\w+?-\\w+?-\\d+:[0-9]{12}:(membership/m-[a-z0-9]{10,32}|case/[0-9]{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:"Arn"jletto_json=simple_to_jsonto_valueendmoduleTagKeys=structtypenonrect=TagKey.tlistletmakei=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_valuevendmoduleTagMap=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_valuevendmoduleResultId=structtypenonrect=stringletcontext_="ResultId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"inv-[a-z0-9]{10,32}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResultId"jletto_json=simple_to_jsonto_valueendmoduleListMembershipItems=structtypenonrect=ListMembershipItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ListMembershipItem.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:ListMembershipItem.of_xml)letof_jsonj=list_of_json~kind:"ListMembershipItems"~of_json:ListMembershipItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListMembershipsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:25)>>=(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 ListMembershipsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListMembershipsRequestNextTokenString=structtypenonrect=stringletcontext_="ListMembershipsRequestNextTokenString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(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:"ListMembershipsRequestNextTokenString"jletto_json=simple_to_jsonto_valueendmoduleInvestigationActionList=structtypenonrect=InvestigationAction.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:InvestigationAction.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:InvestigationAction.of_xml)letof_jsonj=list_of_json~kind:"InvestigationActionList"~of_json:InvestigationAction.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListInvestigationsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:25)>>=(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 ListInvestigationsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListInvestigationsRequestNextTokenString=structtypenonrect=stringletcontext_="ListInvestigationsRequestNextTokenString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(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:"ListInvestigationsRequestNextTokenString"jletto_json=simple_to_jsonto_valueendmoduleListCommentsItems=structtypenonrect=ListCommentsItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ListCommentsItem.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:ListCommentsItem.of_xml)letof_jsonj=list_of_json~kind:"ListCommentsItems"~of_json:ListCommentsItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListCommentsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:25)>>=(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 ListCommentsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListCommentsRequestNextTokenString=structtypenonrect=stringletcontext_="ListCommentsRequestNextTokenString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(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:"ListCommentsRequestNextTokenString"jletto_json=simple_to_jsonto_valueendmoduleListCasesItems=structtypenonrect=ListCasesItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ListCasesItem.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:ListCasesItem.of_xml)letof_jsonj=list_of_json~kind:"ListCasesItems"~of_json:ListCasesItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLong=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_valueendmoduleListCasesRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:25)>>=(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 ListCasesRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListCasesRequestNextTokenString=structtypenonrect=stringletcontext_="ListCasesRequestNextTokenString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(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:"ListCasesRequestNextTokenString"jletto_json=simple_to_jsonto_valueendmoduleCaseEditItems=structtypenonrect=CaseEditItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CaseEditItem.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:CaseEditItem.of_xml)letof_jsonj=list_of_json~kind:"CaseEditItems"~of_json:CaseEditItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListCaseEditsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:25)>>=(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 ListCaseEditsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListCaseEditsRequestNextTokenString=structtypenonrect=stringletcontext_="ListCaseEditsRequestNextTokenString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2000)>>=(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:"ListCaseEditsRequestNextTokenString"jletto_json=simple_to_jsonto_valueendmoduleCustomerType=structtypenonrect=|Standalone|Organization|Non_static_idofstringletmakei=iletto_string=function|Standalone->"Standalone"|Organization->"Organization"|Non_static_ids->sletof_string=function|"Standalone"->Standalone|"Organization"->Organization|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 CustomerType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CustomerType"j)letto_json=simple_to_jsonto_valueendmoduleMembershipAccountsConfigurations=structtypenonrect={coverEntireOrganization:Boolean.toption[@ocaml.doc"The coverEntireOrganization field is a boolean value that determines whether the membership configuration applies to all accounts within an Amazon Web Services Organization. When set to true, the configuration will be applied across all accounts in the organization. When set to false, the configuration will only apply to specifically designated accounts under the AWS Organizational Units specificied."];organizationalUnits:OrganizationalUnits.toption[@ocaml.doc"A list of organizational unit IDs that follow the pattern ou-\\[0-9a-z\\]\\{4,32\\}-\\[a-z0-9\\]\\{8,32\\}. These IDs represent the organizational units within an Amazon Web Services Organizations structure that are covered by the membership. Each organizational unit ID in the list must: Begin with the prefix 'ou-' Contain between 4 and 32 alphanumeric characters in the first segment Contain between 8 and 32 alphanumeric characters in the second segment"]}letmake?coverEntireOrganization=fun?organizationalUnits->fun()->{coverEntireOrganization;organizationalUnits}letto_valuex=structure_to_value[("coverEntireOrganization",(Option.mapx.coverEntireOrganization~f:Boolean.to_value));("organizationalUnits",(Option.mapx.organizationalUnits~f:OrganizationalUnits.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letorganizationalUnits=(Option.map~f:OrganizationalUnits.of_xml)(Xml.childxml_arg0"organizationalUnits")inletcoverEntireOrganization=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"coverEntireOrganization")inmake?organizationalUnits?coverEntireOrganization()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letorganizationalUnits=field_mapjson__"organizationalUnits"OrganizationalUnits.of_jsoninletcoverEntireOrganization=field_mapjson__"coverEntireOrganization"Boolean.of_jsoninmake?organizationalUnits?coverEntireOrganization()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The MembershipAccountsConfigurations structure defines the configuration settings for managing membership accounts withinAmazon Web Services. This structure contains settings that determine how member accounts are configured and managed within your organization, including: Account configuration preferences Membership validation rules Account access settings You can use this structure to define and maintain standardized configurations across multiple member accounts in your organization."]moduleCaseAttachmentsList=structtypenonrect=CaseAttachmentAttributes.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CaseAttachmentAttributes.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:CaseAttachmentAttributes.of_xml)letof_jsonj=list_of_json~kind:"CaseAttachmentsList"~of_json:CaseAttachmentAttributes.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleClosureCode=structtypenonrect=|Investigation_Completed|Not_Resolved|False_Positive|Duplicate|Non_static_idofstringletmakei=iletto_string=function|Investigation_Completed->"Investigation Completed"|Not_Resolved->"Not Resolved"|False_Positive->"False Positive"|Duplicate->"Duplicate"|Non_static_ids->sletof_string=function|"Investigation Completed"->Investigation_Completed|"Not Resolved"->Not_Resolved|"False Positive"->False_Positive|"Duplicate"->Duplicate|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 ClosureCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ClosureCode"j)letto_json=simple_to_jsonto_valueendmoduleUrl=structtypenonrect=stringletcontext_="Url"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"https?://(?:www.)?[a-zA-Z0-9@:._+~#=-]{2,256}\\.[a-z]{2,6}\\b(?:[-a-zA-Z0-9@:%_+.~#?&/=]{0,2048})");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Url"jletto_json=simple_to_jsonto_valueendmoduleContentLength=structtypenonrect=Int64.tletmakei=letopenResultinok_or_failwith((check_int64_maxi~max:104857600L)>>=(fun()->check_int64_mini~min:1L));iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmoduleGetCaseAttachmentUploadUrlRequestClientTokenString=structtypenonrect=stringletcontext_="GetCaseAttachmentUploadUrlRequestClientTokenString"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:"GetCaseAttachmentUploadUrlRequestClientTokenString"jletto_json=simple_to_jsonto_valueendmoduleCreateMembershipRequestClientTokenString=structtypenonrect=stringletcontext_="CreateMembershipRequestClientTokenString"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:"CreateMembershipRequestClientTokenString"jletto_json=simple_to_jsonto_valueendmoduleCreateCaseRequestClientTokenString=structtypenonrect=stringletcontext_="CreateCaseRequestClientTokenString"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:"CreateCaseRequestClientTokenString"jletto_json=simple_to_jsonto_valueendmoduleCreateCaseCommentRequestClientTokenString=structtypenonrect=stringletcontext_="CreateCaseCommentRequestClientTokenString"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:"CreateCaseCommentRequestClientTokenString"jletto_json=simple_to_jsonto_valueendmoduleGetMembershipAccountDetailErrors=structtypenonrect=GetMembershipAccountDetailError.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(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:GetMembershipAccountDetailError.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:GetMembershipAccountDetailError.of_xml)letof_jsonj=list_of_json~kind:"GetMembershipAccountDetailErrors"~of_json:GetMembershipAccountDetailError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleGetMembershipAccountDetailItems=structtypenonrect=GetMembershipAccountDetailItem.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(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:GetMembershipAccountDetailItem.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:GetMembershipAccountDetailItem.of_xml)letof_jsonj=list_of_json~kind:"GetMembershipAccountDetailItems"~of_json:GetMembershipAccountDetailItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAWSAccountIds=structtypenonrect=AWSAccountId.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:AWSAccountId.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:AWSAccountId.of_xml)letof_jsonj=list_of_json~kind:"AWSAccountIds"~of_json:AWSAccountId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateResolverTypeResponse=structtypenonrect={caseId:CaseId.toption[@ocaml.doc"Response element for UpdateResolver identifying the case ID being updated."];caseStatus:CaseStatus.toption[@ocaml.doc"Response element for UpdateResolver identifying the current status of the case."];resolverType:ResolverType.toption[@ocaml.doc"Response element for UpdateResolver identifying the current resolver of the case."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?caseId=fun?caseStatus->fun?resolverType->fun()->{caseId;caseStatus;resolverType}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("caseId",(Option.mapx.caseId~f:CaseId.to_value));("caseStatus",(Option.mapx.caseStatus~f:CaseStatus.to_value));("resolverType",(Option.mapx.resolverType~f:ResolverType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresolverType=(Option.map~f:ResolverType.of_xml)(Xml.childxml_arg0"resolverType")inletcaseStatus=(Option.map~f:CaseStatus.of_xml)(Xml.childxml_arg0"caseStatus")inletcaseId=(Option.map~f:CaseId.of_xml)(Xml.childxml_arg0"caseId")inmake?resolverType?caseStatus?caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresolverType=field_mapjson__"resolverType"ResolverType.of_jsoninletcaseStatus=field_mapjson__"caseStatus"CaseStatus.of_jsoninletcaseId=field_mapjson__"caseId"CaseId.of_jsoninmake?resolverType?caseStatus?caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the resolver type for a case. This is a one-way action and cannot be reversed."]moduleUpdateResolverTypeRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element for UpdateResolverType to identify the case to update."];resolverType:ResolverType.t[@ocaml.doc"Required element for UpdateResolverType to identify the new resolver."]}letcontext_="UpdateResolverTypeRequest"letmake~caseId=fun~resolverType->fun()->{caseId;resolverType}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)));("resolverType",(Some(ResolverType.to_valuex.resolverType)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresolverType=ResolverType.of_xml(Xml.child_exn~context:context_xml_arg0"resolverType")inletcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake~resolverType~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresolverType=field_map_exnjson__"resolverType"ResolverType.of_jsoninletcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake~resolverType~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the resolver type for a case. This is a one-way action and cannot be reversed."]moduleUpdateMembershipResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates membership configuration."]moduleUpdateMembershipRequest=structtypenonrect={membershipId:MembershipId.t[@ocaml.doc"Required element for UpdateMembership to identify the membership to update."];membershipName:MembershipName.toption[@ocaml.doc"Optional element for UpdateMembership to update the membership name."];incidentResponseTeam:IncidentResponseTeam.toption[@ocaml.doc"Optional element for UpdateMembership to update the membership name."];optInFeatures:OptInFeatures.toption[@ocaml.doc"Optional element for UpdateMembership to enable or disable opt-in features for the service."];membershipAccountsConfigurationsUpdate:MembershipAccountsConfigurationsUpdate.toption[@ocaml.doc"The membershipAccountsConfigurationsUpdate field in the UpdateMembershipRequest structure allows you to update the configuration settings for accounts within a membership. This field is optional and contains a structure of type MembershipAccountsConfigurationsUpdate that specifies the updated account configurations for the membership."];undoMembershipCancellation:Boolean.toption[@ocaml.doc"The undoMembershipCancellation parameter is a boolean flag that indicates whether to reverse a previously requested membership cancellation. When set to true, this will revoke the cancellation request and maintain the membership status. This parameter is optional and can be used in scenarios where you need to restore a membership that was marked for cancellation but hasn't been fully terminated yet. If set to true, the cancellation request will be revoked If set to false the service will throw a ValidationException."]}letcontext_="UpdateMembershipRequest"letmake?membershipName=fun?incidentResponseTeam->fun?optInFeatures->fun?membershipAccountsConfigurationsUpdate->fun?undoMembershipCancellation->fun~membershipId->fun()->{membershipName;incidentResponseTeam;optInFeatures;membershipAccountsConfigurationsUpdate;undoMembershipCancellation;membershipId}letto_valuex=structure_to_value[("membershipId",(Some(MembershipId.to_valuex.membershipId)));("membershipName",(Option.mapx.membershipName~f:MembershipName.to_value));("incidentResponseTeam",(Option.mapx.incidentResponseTeam~f:IncidentResponseTeam.to_value));("optInFeatures",(Option.mapx.optInFeatures~f:OptInFeatures.to_value));("membershipAccountsConfigurationsUpdate",(Option.mapx.membershipAccountsConfigurationsUpdate~f:MembershipAccountsConfigurationsUpdate.to_value));("undoMembershipCancellation",(Option.mapx.undoMembershipCancellation~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letundoMembershipCancellation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"undoMembershipCancellation")inletmembershipAccountsConfigurationsUpdate=(Option.map~f:MembershipAccountsConfigurationsUpdate.of_xml)(Xml.childxml_arg0"membershipAccountsConfigurationsUpdate")inletoptInFeatures=(Option.map~f:OptInFeatures.of_xml)(Xml.childxml_arg0"optInFeatures")inletincidentResponseTeam=(Option.map~f:IncidentResponseTeam.of_xml)(Xml.childxml_arg0"incidentResponseTeam")inletmembershipName=(Option.map~f:MembershipName.of_xml)(Xml.childxml_arg0"membershipName")inletmembershipId=MembershipId.of_xml(Xml.child_exn~context:context_xml_arg0"membershipId")inmake?undoMembershipCancellation?membershipAccountsConfigurationsUpdate?optInFeatures?incidentResponseTeam?membershipName~membershipId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letundoMembershipCancellation=field_mapjson__"undoMembershipCancellation"Boolean.of_jsoninletmembershipAccountsConfigurationsUpdate=field_mapjson__"membershipAccountsConfigurationsUpdate"MembershipAccountsConfigurationsUpdate.of_jsoninletoptInFeatures=field_mapjson__"optInFeatures"OptInFeatures.of_jsoninletincidentResponseTeam=field_mapjson__"incidentResponseTeam"IncidentResponseTeam.of_jsoninletmembershipName=field_mapjson__"membershipName"MembershipName.of_jsoninletmembershipId=field_map_exnjson__"membershipId"MembershipId.of_jsoninmake?undoMembershipCancellation?membershipAccountsConfigurationsUpdate?optInFeatures?incidentResponseTeam?membershipName~membershipId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates membership configuration."]moduleUpdateCaseStatusResponse=structtypenonrect={caseStatus:SelfManagedCaseStatus.toption[@ocaml.doc"Response element for UpdateCaseStatus showing the newly configured status."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?caseStatus=fun()->{caseStatus}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("caseStatus",(Option.mapx.caseStatus~f:SelfManagedCaseStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseStatus=(Option.map~f:SelfManagedCaseStatus.of_xml)(Xml.childxml_arg0"caseStatus")inmake?caseStatus()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseStatus=field_mapjson__"caseStatus"SelfManagedCaseStatus.of_jsoninmake?caseStatus()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the state transitions for a designated cases. Self-managed: the following states are available for self-managed cases. Submitted \226\134\146 Detection and Analysis Detection and Analysis \226\134\146 Containment, Eradication, and Recovery Detection and Analysis \226\134\146 Post-incident Activities Containment, Eradication, and Recovery \226\134\146 Detection and Analysis Containment, Eradication, and Recovery \226\134\146 Post-incident Activities Post-incident Activities \226\134\146 Containment, Eradication, and Recovery Post-incident Activities \226\134\146 Detection and Analysis Any \226\134\146 Closed AWS supported: You must use the CloseCase API to close."]moduleUpdateCaseStatusRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element for UpdateCaseStatus to identify the case to update."];caseStatus:SelfManagedCaseStatus.t[@ocaml.doc"Required element for UpdateCaseStatus to identify the status for a case. Options include Submitted | Detection and Analysis | Containment, Eradication and Recovery | Post-incident Activities."]}letcontext_="UpdateCaseStatusRequest"letmake~caseId=fun~caseStatus->fun()->{caseId;caseStatus}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)));("caseStatus",(Some(SelfManagedCaseStatus.to_valuex.caseStatus)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseStatus=SelfManagedCaseStatus.of_xml(Xml.child_exn~context:context_xml_arg0"caseStatus")inletcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake~caseStatus~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseStatus=field_map_exnjson__"caseStatus"SelfManagedCaseStatus.of_jsoninletcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake~caseStatus~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the state transitions for a designated cases. Self-managed: the following states are available for self-managed cases. Submitted \226\134\146 Detection and Analysis Detection and Analysis \226\134\146 Containment, Eradication, and Recovery Detection and Analysis \226\134\146 Post-incident Activities Containment, Eradication, and Recovery \226\134\146 Detection and Analysis Containment, Eradication, and Recovery \226\134\146 Post-incident Activities Post-incident Activities \226\134\146 Containment, Eradication, and Recovery Post-incident Activities \226\134\146 Detection and Analysis Any \226\134\146 Closed AWS supported: You must use the CloseCase API to close."]moduleUpdateCaseResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing case."]moduleUpdateCaseRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element for UpdateCase to identify the case ID for updates."];title:CaseTitle.toption[@ocaml.doc"Optional element for UpdateCase to provide content for the title field."];description:CaseDescription.toption[@ocaml.doc"Optional element for UpdateCase to provide content for the description field."];reportedIncidentStartDate:Timestamp.toption[@ocaml.doc"Optional element for UpdateCase to provide content for the customer reported incident start date field."];actualIncidentStartDate:Timestamp.toption[@ocaml.doc"Optional element for UpdateCase to provide content for the incident start date field."];engagementType:EngagementType.toption[@ocaml.doc"Optional element for UpdateCase to provide content for the engagement type field. Available engagement types include Security Incident | Investigation."];watchersToAdd:Watchers.toption[@ocaml.doc"Optional element for UpdateCase to provide content to add additional watchers to a case."];watchersToDelete:Watchers.toption[@ocaml.doc"Optional element for UpdateCase to provide content to remove existing watchers from a case."];threatActorIpAddressesToAdd:ThreatActorIpList.toption[@ocaml.doc"Optional element for UpdateCase to provide content to add additional suspicious IP addresses related to a case."];threatActorIpAddressesToDelete:ThreatActorIpList.toption[@ocaml.doc"Optional element for UpdateCase to provide content to remove suspicious IP addresses from a case."];impactedServicesToAdd:ImpactedServicesList.toption[@ocaml.doc"Optional element for UpdateCase to provide content to add services impacted."];impactedServicesToDelete:ImpactedServicesList.toption[@ocaml.doc"Optional element for UpdateCase to provide content to remove services impacted."];impactedAwsRegionsToAdd:ImpactedAwsRegionList.toption[@ocaml.doc"Optional element for UpdateCase to provide content to add regions impacted."];impactedAwsRegionsToDelete:ImpactedAwsRegionList.toption[@ocaml.doc"Optional element for UpdateCase to provide content to remove regions impacted."];impactedAccountsToAdd:ImpactedAccounts.toption[@ocaml.doc"Optional element for UpdateCase to provide content to add accounts impacted. AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be 123123123 which is nine digits, and with zero-prepend would be 000123123123. Not zero-prepending to 12 digits could result in errors."];impactedAccountsToDelete:ImpactedAccounts.toption[@ocaml.doc"Optional element for UpdateCase to provide content to add accounts impacted. AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be 123123123 which is nine digits, and with zero-prepend would be 000123123123. Not zero-prepending to 12 digits could result in errors."];caseMetadata:CaseMetadata.toption[@ocaml.doc"Update the case request with case metadata"]}letcontext_="UpdateCaseRequest"letmake?title=fun?description->fun?reportedIncidentStartDate->fun?actualIncidentStartDate->fun?engagementType->fun?watchersToAdd->fun?watchersToDelete->fun?threatActorIpAddressesToAdd->fun?threatActorIpAddressesToDelete->fun?impactedServicesToAdd->fun?impactedServicesToDelete->fun?impactedAwsRegionsToAdd->fun?impactedAwsRegionsToDelete->fun?impactedAccountsToAdd->fun?impactedAccountsToDelete->fun?caseMetadata->fun~caseId->fun()->{title;description;reportedIncidentStartDate;actualIncidentStartDate;engagementType;watchersToAdd;watchersToDelete;threatActorIpAddressesToAdd;threatActorIpAddressesToDelete;impactedServicesToAdd;impactedServicesToDelete;impactedAwsRegionsToAdd;impactedAwsRegionsToDelete;impactedAccountsToAdd;impactedAccountsToDelete;caseMetadata;caseId}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)));("title",(Option.mapx.title~f:CaseTitle.to_value));("description",(Option.mapx.description~f:CaseDescription.to_value));("reportedIncidentStartDate",(Option.mapx.reportedIncidentStartDate~f:Timestamp.to_value));("actualIncidentStartDate",(Option.mapx.actualIncidentStartDate~f:Timestamp.to_value));("engagementType",(Option.mapx.engagementType~f:EngagementType.to_value));("watchersToAdd",(Option.mapx.watchersToAdd~f:Watchers.to_value));("watchersToDelete",(Option.mapx.watchersToDelete~f:Watchers.to_value));("threatActorIpAddressesToAdd",(Option.mapx.threatActorIpAddressesToAdd~f:ThreatActorIpList.to_value));("threatActorIpAddressesToDelete",(Option.mapx.threatActorIpAddressesToDelete~f:ThreatActorIpList.to_value));("impactedServicesToAdd",(Option.mapx.impactedServicesToAdd~f:ImpactedServicesList.to_value));("impactedServicesToDelete",(Option.mapx.impactedServicesToDelete~f:ImpactedServicesList.to_value));("impactedAwsRegionsToAdd",(Option.mapx.impactedAwsRegionsToAdd~f:ImpactedAwsRegionList.to_value));("impactedAwsRegionsToDelete",(Option.mapx.impactedAwsRegionsToDelete~f:ImpactedAwsRegionList.to_value));("impactedAccountsToAdd",(Option.mapx.impactedAccountsToAdd~f:ImpactedAccounts.to_value));("impactedAccountsToDelete",(Option.mapx.impactedAccountsToDelete~f:ImpactedAccounts.to_value));("caseMetadata",(Option.mapx.caseMetadata~f:CaseMetadata.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseMetadata=(Option.map~f:CaseMetadata.of_xml)(Xml.childxml_arg0"caseMetadata")inletimpactedAccountsToDelete=(Option.map~f:ImpactedAccounts.of_xml)(Xml.childxml_arg0"impactedAccountsToDelete")inletimpactedAccountsToAdd=(Option.map~f:ImpactedAccounts.of_xml)(Xml.childxml_arg0"impactedAccountsToAdd")inletimpactedAwsRegionsToDelete=(Option.map~f:ImpactedAwsRegionList.of_xml)(Xml.childxml_arg0"impactedAwsRegionsToDelete")inletimpactedAwsRegionsToAdd=(Option.map~f:ImpactedAwsRegionList.of_xml)(Xml.childxml_arg0"impactedAwsRegionsToAdd")inletimpactedServicesToDelete=(Option.map~f:ImpactedServicesList.of_xml)(Xml.childxml_arg0"impactedServicesToDelete")inletimpactedServicesToAdd=(Option.map~f:ImpactedServicesList.of_xml)(Xml.childxml_arg0"impactedServicesToAdd")inletthreatActorIpAddressesToDelete=(Option.map~f:ThreatActorIpList.of_xml)(Xml.childxml_arg0"threatActorIpAddressesToDelete")inletthreatActorIpAddressesToAdd=(Option.map~f:ThreatActorIpList.of_xml)(Xml.childxml_arg0"threatActorIpAddressesToAdd")inletwatchersToDelete=(Option.map~f:Watchers.of_xml)(Xml.childxml_arg0"watchersToDelete")inletwatchersToAdd=(Option.map~f:Watchers.of_xml)(Xml.childxml_arg0"watchersToAdd")inletengagementType=(Option.map~f:EngagementType.of_xml)(Xml.childxml_arg0"engagementType")inletactualIncidentStartDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"actualIncidentStartDate")inletreportedIncidentStartDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"reportedIncidentStartDate")inletdescription=(Option.map~f:CaseDescription.of_xml)(Xml.childxml_arg0"description")inlettitle=(Option.map~f:CaseTitle.of_xml)(Xml.childxml_arg0"title")inletcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake?caseMetadata?impactedAccountsToDelete?impactedAccountsToAdd?impactedAwsRegionsToDelete?impactedAwsRegionsToAdd?impactedServicesToDelete?impactedServicesToAdd?threatActorIpAddressesToDelete?threatActorIpAddressesToAdd?watchersToDelete?watchersToAdd?engagementType?actualIncidentStartDate?reportedIncidentStartDate?description?title~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseMetadata=field_mapjson__"caseMetadata"CaseMetadata.of_jsoninletimpactedAccountsToDelete=field_mapjson__"impactedAccountsToDelete"ImpactedAccounts.of_jsoninletimpactedAccountsToAdd=field_mapjson__"impactedAccountsToAdd"ImpactedAccounts.of_jsoninletimpactedAwsRegionsToDelete=field_mapjson__"impactedAwsRegionsToDelete"ImpactedAwsRegionList.of_jsoninletimpactedAwsRegionsToAdd=field_mapjson__"impactedAwsRegionsToAdd"ImpactedAwsRegionList.of_jsoninletimpactedServicesToDelete=field_mapjson__"impactedServicesToDelete"ImpactedServicesList.of_jsoninletimpactedServicesToAdd=field_mapjson__"impactedServicesToAdd"ImpactedServicesList.of_jsoninletthreatActorIpAddressesToDelete=field_mapjson__"threatActorIpAddressesToDelete"ThreatActorIpList.of_jsoninletthreatActorIpAddressesToAdd=field_mapjson__"threatActorIpAddressesToAdd"ThreatActorIpList.of_jsoninletwatchersToDelete=field_mapjson__"watchersToDelete"Watchers.of_jsoninletwatchersToAdd=field_mapjson__"watchersToAdd"Watchers.of_jsoninletengagementType=field_mapjson__"engagementType"EngagementType.of_jsoninletactualIncidentStartDate=field_mapjson__"actualIncidentStartDate"Timestamp.of_jsoninletreportedIncidentStartDate=field_mapjson__"reportedIncidentStartDate"Timestamp.of_jsoninletdescription=field_mapjson__"description"CaseDescription.of_jsoninlettitle=field_mapjson__"title"CaseTitle.of_jsoninletcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake?caseMetadata?impactedAccountsToDelete?impactedAccountsToAdd?impactedAwsRegionsToDelete?impactedAwsRegionsToAdd?impactedServicesToDelete?impactedServicesToAdd?threatActorIpAddressesToDelete?threatActorIpAddressesToAdd?watchersToDelete?watchersToAdd?engagementType?actualIncidentStartDate?reportedIncidentStartDate?description?title~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing case."]moduleUpdateCaseCommentResponse=structtypenonrect={commentId:CommentId.toption[@ocaml.doc"Response element for UpdateCaseComment providing the updated comment ID."];body:CommentBody.toption[@ocaml.doc"Response element for UpdateCaseComment providing the updated comment content."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?commentId=fun?body->fun()->{commentId;body}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("commentId",(Option.mapx.commentId~f:CommentId.to_value));("body",(Option.mapx.body~f:CommentBody.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbody=(Option.map~f:CommentBody.of_xml)(Xml.childxml_arg0"body")inletcommentId=(Option.map~f:CommentId.of_xml)(Xml.childxml_arg0"commentId")inmake?body?commentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbody=field_mapjson__"body"CommentBody.of_jsoninletcommentId=field_mapjson__"commentId"CommentId.of_jsoninmake?body?commentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing case comment."]moduleUpdateCaseCommentRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element for UpdateCaseComment to identify the case ID containing the comment to be updated."];commentId:CommentId.t[@ocaml.doc"Required element for UpdateCaseComment to identify the case ID to be updated."];body:CommentBody.t[@ocaml.doc"Required element for UpdateCaseComment to identify the content for the comment to be updated."]}letcontext_="UpdateCaseCommentRequest"letmake~caseId=fun~commentId->fun~body->fun()->{caseId;commentId;body}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)));("commentId",(Some(CommentId.to_valuex.commentId)));("body",(Some(CommentBody.to_valuex.body)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbody=CommentBody.of_xml(Xml.child_exn~context:context_xml_arg0"body")inletcommentId=CommentId.of_xml(Xml.child_exn~context:context_xml_arg0"commentId")inletcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake~body~commentId~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbody=field_map_exnjson__"body"CommentBody.of_jsoninletcommentId=field_map_exnjson__"commentId"CommentId.of_jsoninletcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake~body~commentId~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates an existing case comment."]moduleUntagResourceOutput=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag(s) from a designate resource."]moduleUntagResourceInput=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"Required element for UnTagResource to identify the ARN for the resource to remove a tag from."];tagKeys:TagKeys.t[@ocaml.doc"Required element for UnTagResource to identify tag to remove."]}letcontext_="UntagResourceInput"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)));("tagKeys",(Some(TagKeys.to_valuex.tagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagKeys=TagKeys.of_xml(Xml.child_exn~context:context_xml_arg0"tagKeys")inletresourceArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~tagKeys~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"tagKeys"TagKeys.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag(s) from a designate resource."]moduleTagResourceOutput=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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))])))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 a tag(s) to a designated resource."]moduleTagResourceInput=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"Required element for TagResource to identify the ARN for the resource to add a tag to."];tags:TagMap.t[@ocaml.doc"Required element for ListTagsForResource to provide the content for a tag."]}letcontext_="TagResourceInput"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 a tag(s) to a designated resource."]moduleSendFeedbackResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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))])))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"Send feedback based on response investigation action"]moduleSendFeedbackRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Send feedback based on request caseID"];resultId:ResultId.t[@ocaml.doc"Send feedback based on request result ID"];usefulness:UsefulnessRating.t[@ocaml.doc"Required enum value indicating user assessment of result q....."];comment:FeedbackComment.toption[@ocaml.doc"Send feedback based on request comments"]}letcontext_="SendFeedbackRequest"letmake?comment=fun~caseId->fun~resultId->fun~usefulness->fun()->{comment;caseId;resultId;usefulness}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)));("resultId",(Some(ResultId.to_valuex.resultId)));("usefulness",(Some(UsefulnessRating.to_valuex.usefulness)));("comment",(Option.mapx.comment~f:FeedbackComment.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcomment=(Option.map~f:FeedbackComment.of_xml)(Xml.childxml_arg0"comment")inletusefulness=UsefulnessRating.of_xml(Xml.child_exn~context:context_xml_arg0"usefulness")inletresultId=ResultId.of_xml(Xml.child_exn~context:context_xml_arg0"resultId")inletcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake?comment~usefulness~resultId~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcomment=field_mapjson__"comment"FeedbackComment.of_jsoninletusefulness=field_map_exnjson__"usefulness"UsefulnessRating.of_jsoninletresultId=field_map_exnjson__"resultId"ResultId.of_jsoninletcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake?comment~usefulness~resultId~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Send feedback based on response investigation action"]moduleListTagsForResourceOutput=structtypenonrect={tags:TagMap.toption[@ocaml.doc"Response element for ListTagsForResource providing content for each configured tag."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("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"Returns currently configured tags on a resource."]moduleListTagsForResourceInput=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"Required element for ListTagsForResource to provide the ARN to identify a specific resource."]}letcontext_="ListTagsForResourceInput"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=Arn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns currently configured tags on a resource."]moduleListMembershipsResponse=structtypenonrect={nextToken:String_.toption[@ocaml.doc"An optional string that, if supplied on subsequent calls to ListMemberships, allows the API to fetch the next page of results."];items:ListMembershipItems.toption[@ocaml.doc"Request element for ListMemberships including the accountID, membershipARN, membershipID, membershipStatus, and region for each response."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?items->fun()->{nextToken;items}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("nextToken",(Option.mapx.nextToken~f:String_.to_value));("items",(Option.mapx.items~f:ListMembershipItems.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letitems=(Option.map~f:ListMembershipItems.of_xml)(Xml.childxml_arg0"items")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inmake?items?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letitems=field_mapjson__"items"ListMembershipItems.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninmake?items?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the memberships that the calling principal can access."]moduleListMembershipsRequest=structtypenonrect={nextToken:ListMembershipsRequestNextTokenString.toption[@ocaml.doc"An optional string that, if supplied, must be copied from the output of a previous call to ListMemberships. When provided in this manner, the API fetches the next page of results."];maxResults:ListMembershipsRequestMaxResultsInteger.toption[@ocaml.doc"Request element for ListMemberships to limit the number of responses."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:ListMembershipsRequestNextTokenString.to_value));("maxResults",(Option.mapx.maxResults~f:ListMembershipsRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListMembershipsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:ListMembershipsRequestNextTokenString.of_xml)(Xml.childxml_arg0"nextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListMembershipsRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"ListMembershipsRequestNextTokenString.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the memberships that the calling principal can access."]moduleListInvestigationsResponse=structtypenonrect={nextToken:String_.toption[@ocaml.doc"Investigation performed by an agent for a security incident for next Token"];investigationActions:InvestigationActionList.toption[@ocaml.doc"Investigation performed by an agent for a security incid\226\128\166Unique identifier for the specific investigation>"]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?investigationActions->fun()->{nextToken;investigationActions}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("nextToken",(Option.mapx.nextToken~f:String_.to_value));("investigationActions",(Option.mapx.investigationActions~f:InvestigationActionList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvestigationActions=(Option.map~f:InvestigationActionList.of_xml)(Xml.childxml_arg0"investigationActions")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inmake?investigationActions?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvestigationActions=field_mapjson__"investigationActions"InvestigationActionList.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninmake?investigationActions?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Investigation performed by an agent for a security incident..."]moduleListInvestigationsRequest=structtypenonrect={nextToken:ListInvestigationsRequestNextTokenString.toption[@ocaml.doc"Investigation performed by an agent for a security incident request"];maxResults:ListInvestigationsRequestMaxResultsInteger.toption[@ocaml.doc"Investigation performed by an agent for a security incident request, returning max results"];caseId:CaseId.t[@ocaml.doc"Investigation performed by an agent for a security incident per caseID"]}letcontext_="ListInvestigationsRequest"letmake?nextToken=fun?maxResults->fun~caseId->fun()->{nextToken;maxResults;caseId}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:ListInvestigationsRequestNextTokenString.to_value));("maxResults",(Option.mapx.maxResults~f:ListInvestigationsRequestMaxResultsInteger.to_value));("caseId",(Some(CaseId.to_valuex.caseId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inletmaxResults=(Option.map~f:ListInvestigationsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:ListInvestigationsRequestNextTokenString.of_xml)(Xml.childxml_arg0"nextToken")inmake~caseId?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninletmaxResults=field_mapjson__"maxResults"ListInvestigationsRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"ListInvestigationsRequestNextTokenString.of_jsoninmake~caseId?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Investigation performed by an agent for a security incident..."]moduleListCommentsResponse=structtypenonrect={nextToken:String_.toption[@ocaml.doc"An optional string that, if supplied on subsequent calls to ListComments, allows the API to fetch the next page of results."];items:ListCommentsItems.toption[@ocaml.doc"Response element for ListComments providing the body, commentID, createDate, creator, lastUpdatedBy and lastUpdatedDate for each response."];total:Integer.toption[@ocaml.doc"Response element for ListComments identifying the number of responses."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?items->fun?total->fun()->{nextToken;items;total}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("nextToken",(Option.mapx.nextToken~f:String_.to_value));("items",(Option.mapx.items~f:ListCommentsItems.to_value));("total",(Option.mapx.total~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotal=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"total")inletitems=(Option.map~f:ListCommentsItems.of_xml)(Xml.childxml_arg0"items")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inmake?total?items?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotal=field_mapjson__"total"Integer.of_jsoninletitems=field_mapjson__"items"ListCommentsItems.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninmake?total?items?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns comments for a designated case."]moduleListCommentsRequest=structtypenonrect={nextToken:ListCommentsRequestNextTokenString.toption[@ocaml.doc"An optional string that, if supplied, must be copied from the output of a previous call to ListComments. When provided in this manner, the API fetches the next page of results."];maxResults:ListCommentsRequestMaxResultsInteger.toption[@ocaml.doc"Optional element for ListComments to limit the number of responses."];caseId:CaseId.t[@ocaml.doc"Required element for ListComments to designate the case to query."]}letcontext_="ListCommentsRequest"letmake?nextToken=fun?maxResults->fun~caseId->fun()->{nextToken;maxResults;caseId}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:ListCommentsRequestNextTokenString.to_value));("maxResults",(Option.mapx.maxResults~f:ListCommentsRequestMaxResultsInteger.to_value));("caseId",(Some(CaseId.to_valuex.caseId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inletmaxResults=(Option.map~f:ListCommentsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:ListCommentsRequestNextTokenString.of_xml)(Xml.childxml_arg0"nextToken")inmake~caseId?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninletmaxResults=field_mapjson__"maxResults"ListCommentsRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"ListCommentsRequestNextTokenString.of_jsoninmake~caseId?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns comments for a designated case."]moduleListCasesResponse=structtypenonrect={nextToken:String_.toption[@ocaml.doc"An optional string that, if supplied on subsequent calls to ListCases, allows the API to fetch the next page of results."];items:ListCasesItems.toption[@ocaml.doc"Response element for ListCases that includes caseARN, caseID, caseStatus, closedDate, createdDate, engagementType, lastUpdatedDate, pendingAction, resolverType, and title for each response."];total:Long.toption[@ocaml.doc"Response element for ListCases providing the total number of responses."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?items->fun?total->fun()->{nextToken;items;total}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("nextToken",(Option.mapx.nextToken~f:String_.to_value));("items",(Option.mapx.items~f:ListCasesItems.to_value));("total",(Option.mapx.total~f:Long.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotal=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"total")inletitems=(Option.map~f:ListCasesItems.of_xml)(Xml.childxml_arg0"items")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inmake?total?items?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotal=field_mapjson__"total"Long.of_jsoninletitems=field_mapjson__"items"ListCasesItems.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninmake?total?items?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all cases the requester has access to."]moduleListCasesRequest=structtypenonrect={nextToken:ListCasesRequestNextTokenString.toption[@ocaml.doc"An optional string that, if supplied, must be copied from the output of a previous call to ListCases. When provided in this manner, the API fetches the next page of results."];maxResults:ListCasesRequestMaxResultsInteger.toption[@ocaml.doc"Optional element for ListCases to limit the number of responses."]}letmake?nextToken=fun?maxResults->fun()->{nextToken;maxResults}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:ListCasesRequestNextTokenString.to_value));("maxResults",(Option.mapx.maxResults~f:ListCasesRequestMaxResultsInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:ListCasesRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:ListCasesRequestNextTokenString.of_xml)(Xml.childxml_arg0"nextToken")inmake?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"ListCasesRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"ListCasesRequestNextTokenString.of_jsoninmake?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all cases the requester has access to."]moduleListCaseEditsResponse=structtypenonrect={nextToken:String_.toption[@ocaml.doc"An optional string that, if supplied on subsequent calls to ListCaseEdits, allows the API to fetch the next page of results."];items:CaseEditItems.toption[@ocaml.doc"Response element for ListCaseEdits that includes the action, event timestamp, message, and principal for the response."];total:Integer.toption[@ocaml.doc"Response element for ListCaseEdits that identifies the total number of edits."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?items->fun?total->fun()->{nextToken;items;total}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("nextToken",(Option.mapx.nextToken~f:String_.to_value));("items",(Option.mapx.items~f:CaseEditItems.to_value));("total",(Option.mapx.total~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettotal=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"total")inletitems=(Option.map~f:CaseEditItems.of_xml)(Xml.childxml_arg0"items")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inmake?total?items?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettotal=field_mapjson__"total"Integer.of_jsoninletitems=field_mapjson__"items"CaseEditItems.of_jsoninletnextToken=field_mapjson__"nextToken"String_.of_jsoninmake?total?items?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Views the case history for edits made to a designated case."]moduleListCaseEditsRequest=structtypenonrect={nextToken:ListCaseEditsRequestNextTokenString.toption[@ocaml.doc"An optional string that, if supplied, must be copied from the output of a previous call to ListCaseEdits. When provided in this manner, the API fetches the next page of results."];maxResults:ListCaseEditsRequestMaxResultsInteger.toption[@ocaml.doc"Optional element to identify how many results to obtain. There is a maximum value of 25."];caseId:CaseId.t[@ocaml.doc"Required element used with ListCaseEdits to identify the case to query."]}letcontext_="ListCaseEditsRequest"letmake?nextToken=fun?maxResults->fun~caseId->fun()->{nextToken;maxResults;caseId}letto_valuex=structure_to_value[("nextToken",(Option.mapx.nextToken~f:ListCaseEditsRequestNextTokenString.to_value));("maxResults",(Option.mapx.maxResults~f:ListCaseEditsRequestMaxResultsInteger.to_value));("caseId",(Some(CaseId.to_valuex.caseId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inletmaxResults=(Option.map~f:ListCaseEditsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:ListCaseEditsRequestNextTokenString.of_xml)(Xml.childxml_arg0"nextToken")inmake~caseId?maxResults?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninletmaxResults=field_mapjson__"maxResults"ListCaseEditsRequestMaxResultsInteger.of_jsoninletnextToken=field_mapjson__"nextToken"ListCaseEditsRequestNextTokenString.of_jsoninmake~caseId?maxResults?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Views the case history for edits made to a designated case."]moduleGetMembershipResponse=structtypenonrect={membershipId:MembershipId.toption[@ocaml.doc"Response element for GetMembership that provides the queried membership ID."];accountId:AWSAccountId.toption[@ocaml.doc"Response element for GetMembership that provides the account configured to manage the membership."];region:AwsRegion.toption[@ocaml.doc"Response element for GetMembership that provides the region configured to manage the membership."];membershipName:MembershipName.toption[@ocaml.doc"Response element for GetMembership that provides the configured membership name."];membershipArn:MembershipArn.toption[@ocaml.doc"Response element for GetMembership that provides the membership ARN."];membershipStatus:MembershipStatus.toption[@ocaml.doc"Response element for GetMembership that provides the current membership status."];membershipActivationTimestamp:Timestamp.toption[@ocaml.doc"Response element for GetMembership that provides the configured membership activation timestamp."];membershipDeactivationTimestamp:Timestamp.toption[@ocaml.doc"Response element for GetMembership that provides the configured membership name deactivation timestamp."];customerType:CustomerType.toption[@ocaml.doc"Response element for GetMembership that provides the configured membership type. Options include Standalone | Organizations."];numberOfAccountsCovered:Long.toption[@ocaml.doc"Response element for GetMembership that provides the number of accounts in the membership."];incidentResponseTeam:IncidentResponseTeam.toption[@ocaml.doc"Response element for GetMembership that provides the configured membership incident response team members."];optInFeatures:OptInFeatures.toption[@ocaml.doc"Response element for GetMembership that provides the if opt-in features have been enabled."];membershipAccountsConfigurations:MembershipAccountsConfigurations.toption[@ocaml.doc"The membershipAccountsConfigurations field contains the configuration details for member accounts within the Amazon Web Services Organizations membership structure. This field returns a structure containing information about: Account configurations for member accounts Membership settings and preferences Account-level permissions and roles"]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?membershipId=fun?accountId->fun?region->fun?membershipName->fun?membershipArn->fun?membershipStatus->fun?membershipActivationTimestamp->fun?membershipDeactivationTimestamp->fun?customerType->fun?numberOfAccountsCovered->fun?incidentResponseTeam->fun?optInFeatures->fun?membershipAccountsConfigurations->fun()->{membershipId;accountId;region;membershipName;membershipArn;membershipStatus;membershipActivationTimestamp;membershipDeactivationTimestamp;customerType;numberOfAccountsCovered;incidentResponseTeam;optInFeatures;membershipAccountsConfigurations}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("membershipId",(Option.mapx.membershipId~f:MembershipId.to_value));("accountId",(Option.mapx.accountId~f:AWSAccountId.to_value));("region",(Option.mapx.region~f:AwsRegion.to_value));("membershipName",(Option.mapx.membershipName~f:MembershipName.to_value));("membershipArn",(Option.mapx.membershipArn~f:MembershipArn.to_value));("membershipStatus",(Option.mapx.membershipStatus~f:MembershipStatus.to_value));("membershipActivationTimestamp",(Option.mapx.membershipActivationTimestamp~f:Timestamp.to_value));("membershipDeactivationTimestamp",(Option.mapx.membershipDeactivationTimestamp~f:Timestamp.to_value));("customerType",(Option.mapx.customerType~f:CustomerType.to_value));("numberOfAccountsCovered",(Option.mapx.numberOfAccountsCovered~f:Long.to_value));("incidentResponseTeam",(Option.mapx.incidentResponseTeam~f:IncidentResponseTeam.to_value));("optInFeatures",(Option.mapx.optInFeatures~f:OptInFeatures.to_value));("membershipAccountsConfigurations",(Option.mapx.membershipAccountsConfigurations~f:MembershipAccountsConfigurations.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmembershipAccountsConfigurations=(Option.map~f:MembershipAccountsConfigurations.of_xml)(Xml.childxml_arg0"membershipAccountsConfigurations")inletoptInFeatures=(Option.map~f:OptInFeatures.of_xml)(Xml.childxml_arg0"optInFeatures")inletincidentResponseTeam=(Option.map~f:IncidentResponseTeam.of_xml)(Xml.childxml_arg0"incidentResponseTeam")inletnumberOfAccountsCovered=(Option.map~f:Long.of_xml)(Xml.childxml_arg0"numberOfAccountsCovered")inletcustomerType=(Option.map~f:CustomerType.of_xml)(Xml.childxml_arg0"customerType")inletmembershipDeactivationTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"membershipDeactivationTimestamp")inletmembershipActivationTimestamp=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"membershipActivationTimestamp")inletmembershipStatus=(Option.map~f:MembershipStatus.of_xml)(Xml.childxml_arg0"membershipStatus")inletmembershipArn=(Option.map~f:MembershipArn.of_xml)(Xml.childxml_arg0"membershipArn")inletmembershipName=(Option.map~f:MembershipName.of_xml)(Xml.childxml_arg0"membershipName")inletregion=(Option.map~f:AwsRegion.of_xml)(Xml.childxml_arg0"region")inletaccountId=(Option.map~f:AWSAccountId.of_xml)(Xml.childxml_arg0"accountId")inletmembershipId=(Option.map~f:MembershipId.of_xml)(Xml.childxml_arg0"membershipId")inmake?membershipAccountsConfigurations?optInFeatures?incidentResponseTeam?numberOfAccountsCovered?customerType?membershipDeactivationTimestamp?membershipActivationTimestamp?membershipStatus?membershipArn?membershipName?region?accountId?membershipId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmembershipAccountsConfigurations=field_mapjson__"membershipAccountsConfigurations"MembershipAccountsConfigurations.of_jsoninletoptInFeatures=field_mapjson__"optInFeatures"OptInFeatures.of_jsoninletincidentResponseTeam=field_mapjson__"incidentResponseTeam"IncidentResponseTeam.of_jsoninletnumberOfAccountsCovered=field_mapjson__"numberOfAccountsCovered"Long.of_jsoninletcustomerType=field_mapjson__"customerType"CustomerType.of_jsoninletmembershipDeactivationTimestamp=field_mapjson__"membershipDeactivationTimestamp"Timestamp.of_jsoninletmembershipActivationTimestamp=field_mapjson__"membershipActivationTimestamp"Timestamp.of_jsoninletmembershipStatus=field_mapjson__"membershipStatus"MembershipStatus.of_jsoninletmembershipArn=field_mapjson__"membershipArn"MembershipArn.of_jsoninletmembershipName=field_mapjson__"membershipName"MembershipName.of_jsoninletregion=field_mapjson__"region"AwsRegion.of_jsoninletaccountId=field_mapjson__"accountId"AWSAccountId.of_jsoninletmembershipId=field_mapjson__"membershipId"MembershipId.of_jsoninmake?membershipAccountsConfigurations?optInFeatures?incidentResponseTeam?numberOfAccountsCovered?customerType?membershipDeactivationTimestamp?membershipActivationTimestamp?membershipStatus?membershipArn?membershipName?region?accountId?membershipId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the attributes of a membership."]moduleGetMembershipRequest=structtypenonrect={membershipId:MembershipId.t[@ocaml.doc"Required element for GetMembership to identify the membership ID to query."]}letcontext_="GetMembershipRequest"letmake~membershipId=fun()->{membershipId}letto_valuex=structure_to_value[("membershipId",(Some(MembershipId.to_valuex.membershipId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmembershipId=MembershipId.of_xml(Xml.child_exn~context:context_xml_arg0"membershipId")inmake~membershipId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmembershipId=field_map_exnjson__"membershipId"MembershipId.of_jsoninmake~membershipId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the attributes of a membership."]moduleGetCaseResponse=structtypenonrect={title:CaseTitle.toption[@ocaml.doc"Response element for GetCase that provides the case title."];caseArn:CaseArn.toption[@ocaml.doc"Response element for GetCase that provides the case ARN"];description:CaseDescription.toption[@ocaml.doc"Response element for GetCase that provides contents of the case description."];caseStatus:CaseStatus.toption[@ocaml.doc"Response element for GetCase that provides the case status. Options for statuses include Submitted | Detection and Analysis | Eradication, Containment and Recovery | Post-Incident Activities | Closed"];engagementType:EngagementType.toption[@ocaml.doc"Response element for GetCase that provides the engagement type. Options for engagement type include Active Security Event | Investigations"];reportedIncidentStartDate:Timestamp.toption[@ocaml.doc"Response element for GetCase that provides the customer provided incident start date."];actualIncidentStartDate:Timestamp.toption[@ocaml.doc"Response element for GetCase that provides the actual incident start date as identified by data analysis during the investigation."];impactedAwsRegions:ImpactedAwsRegionList.toption[@ocaml.doc"Response element for GetCase that provides the impacted regions."];threatActorIpAddresses:ThreatActorIpList.toption[@ocaml.doc"Response element for GetCase that provides a list of suspicious IP addresses associated with unauthorized activity."];pendingAction:PendingAction.toption[@ocaml.doc"Response element for GetCase that identifies the case is waiting on customer input."];impactedAccounts:ImpactedAccounts.toption[@ocaml.doc"Response element for GetCase that provides a list of impacted accounts."];watchers:Watchers.toption[@ocaml.doc"Response element for GetCase that provides a list of Watchers added to the case."];createdDate:Timestamp.toption[@ocaml.doc"Response element for GetCase that provides the date the case was created."];lastUpdatedDate:Timestamp.toption[@ocaml.doc"Response element for GetCase that provides the date a case was last modified."];closureCode:ClosureCode.toption[@ocaml.doc"Response element for GetCase that provides the summary code for why a case was closed."];resolverType:ResolverType.toption[@ocaml.doc"Response element for GetCase that provides the current resolver types."];impactedServices:ImpactedServicesList.toption[@ocaml.doc"Response element for GetCase that provides a list of impacted services."];caseAttachments:CaseAttachmentsList.toption[@ocaml.doc"Response element for GetCase that provides a list of current case attachments."];closedDate:Timestamp.toption[@ocaml.doc"Response element for GetCase that provides the date a specified case was closed."];caseMetadata:CaseMetadata.toption[@ocaml.doc"Case response metadata"]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?title=fun?caseArn->fun?description->fun?caseStatus->fun?engagementType->fun?reportedIncidentStartDate->fun?actualIncidentStartDate->fun?impactedAwsRegions->fun?threatActorIpAddresses->fun?pendingAction->fun?impactedAccounts->fun?watchers->fun?createdDate->fun?lastUpdatedDate->fun?closureCode->fun?resolverType->fun?impactedServices->fun?caseAttachments->fun?closedDate->fun?caseMetadata->fun()->{title;caseArn;description;caseStatus;engagementType;reportedIncidentStartDate;actualIncidentStartDate;impactedAwsRegions;threatActorIpAddresses;pendingAction;impactedAccounts;watchers;createdDate;lastUpdatedDate;closureCode;resolverType;impactedServices;caseAttachments;closedDate;caseMetadata}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("title",(Option.mapx.title~f:CaseTitle.to_value));("caseArn",(Option.mapx.caseArn~f:CaseArn.to_value));("description",(Option.mapx.description~f:CaseDescription.to_value));("caseStatus",(Option.mapx.caseStatus~f:CaseStatus.to_value));("engagementType",(Option.mapx.engagementType~f:EngagementType.to_value));("reportedIncidentStartDate",(Option.mapx.reportedIncidentStartDate~f:Timestamp.to_value));("actualIncidentStartDate",(Option.mapx.actualIncidentStartDate~f:Timestamp.to_value));("impactedAwsRegions",(Option.mapx.impactedAwsRegions~f:ImpactedAwsRegionList.to_value));("threatActorIpAddresses",(Option.mapx.threatActorIpAddresses~f:ThreatActorIpList.to_value));("pendingAction",(Option.mapx.pendingAction~f:PendingAction.to_value));("impactedAccounts",(Option.mapx.impactedAccounts~f:ImpactedAccounts.to_value));("watchers",(Option.mapx.watchers~f:Watchers.to_value));("createdDate",(Option.mapx.createdDate~f:Timestamp.to_value));("lastUpdatedDate",(Option.mapx.lastUpdatedDate~f:Timestamp.to_value));("closureCode",(Option.mapx.closureCode~f:ClosureCode.to_value));("resolverType",(Option.mapx.resolverType~f:ResolverType.to_value));("impactedServices",(Option.mapx.impactedServices~f:ImpactedServicesList.to_value));("caseAttachments",(Option.mapx.caseAttachments~f:CaseAttachmentsList.to_value));("closedDate",(Option.mapx.closedDate~f:Timestamp.to_value));("caseMetadata",(Option.mapx.caseMetadata~f:CaseMetadata.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseMetadata=(Option.map~f:CaseMetadata.of_xml)(Xml.childxml_arg0"caseMetadata")inletclosedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"closedDate")inletcaseAttachments=(Option.map~f:CaseAttachmentsList.of_xml)(Xml.childxml_arg0"caseAttachments")inletimpactedServices=(Option.map~f:ImpactedServicesList.of_xml)(Xml.childxml_arg0"impactedServices")inletresolverType=(Option.map~f:ResolverType.of_xml)(Xml.childxml_arg0"resolverType")inletclosureCode=(Option.map~f:ClosureCode.of_xml)(Xml.childxml_arg0"closureCode")inletlastUpdatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedDate")inletcreatedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdDate")inletwatchers=(Option.map~f:Watchers.of_xml)(Xml.childxml_arg0"watchers")inletimpactedAccounts=(Option.map~f:ImpactedAccounts.of_xml)(Xml.childxml_arg0"impactedAccounts")inletpendingAction=(Option.map~f:PendingAction.of_xml)(Xml.childxml_arg0"pendingAction")inletthreatActorIpAddresses=(Option.map~f:ThreatActorIpList.of_xml)(Xml.childxml_arg0"threatActorIpAddresses")inletimpactedAwsRegions=(Option.map~f:ImpactedAwsRegionList.of_xml)(Xml.childxml_arg0"impactedAwsRegions")inletactualIncidentStartDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"actualIncidentStartDate")inletreportedIncidentStartDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"reportedIncidentStartDate")inletengagementType=(Option.map~f:EngagementType.of_xml)(Xml.childxml_arg0"engagementType")inletcaseStatus=(Option.map~f:CaseStatus.of_xml)(Xml.childxml_arg0"caseStatus")inletdescription=(Option.map~f:CaseDescription.of_xml)(Xml.childxml_arg0"description")inletcaseArn=(Option.map~f:CaseArn.of_xml)(Xml.childxml_arg0"caseArn")inlettitle=(Option.map~f:CaseTitle.of_xml)(Xml.childxml_arg0"title")inmake?caseMetadata?closedDate?caseAttachments?impactedServices?resolverType?closureCode?lastUpdatedDate?createdDate?watchers?impactedAccounts?pendingAction?threatActorIpAddresses?impactedAwsRegions?actualIncidentStartDate?reportedIncidentStartDate?engagementType?caseStatus?description?caseArn?title()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseMetadata=field_mapjson__"caseMetadata"CaseMetadata.of_jsoninletclosedDate=field_mapjson__"closedDate"Timestamp.of_jsoninletcaseAttachments=field_mapjson__"caseAttachments"CaseAttachmentsList.of_jsoninletimpactedServices=field_mapjson__"impactedServices"ImpactedServicesList.of_jsoninletresolverType=field_mapjson__"resolverType"ResolverType.of_jsoninletclosureCode=field_mapjson__"closureCode"ClosureCode.of_jsoninletlastUpdatedDate=field_mapjson__"lastUpdatedDate"Timestamp.of_jsoninletcreatedDate=field_mapjson__"createdDate"Timestamp.of_jsoninletwatchers=field_mapjson__"watchers"Watchers.of_jsoninletimpactedAccounts=field_mapjson__"impactedAccounts"ImpactedAccounts.of_jsoninletpendingAction=field_mapjson__"pendingAction"PendingAction.of_jsoninletthreatActorIpAddresses=field_mapjson__"threatActorIpAddresses"ThreatActorIpList.of_jsoninletimpactedAwsRegions=field_mapjson__"impactedAwsRegions"ImpactedAwsRegionList.of_jsoninletactualIncidentStartDate=field_mapjson__"actualIncidentStartDate"Timestamp.of_jsoninletreportedIncidentStartDate=field_mapjson__"reportedIncidentStartDate"Timestamp.of_jsoninletengagementType=field_mapjson__"engagementType"EngagementType.of_jsoninletcaseStatus=field_mapjson__"caseStatus"CaseStatus.of_jsoninletdescription=field_mapjson__"description"CaseDescription.of_jsoninletcaseArn=field_mapjson__"caseArn"CaseArn.of_jsoninlettitle=field_mapjson__"title"CaseTitle.of_jsoninmake?caseMetadata?closedDate?caseAttachments?impactedServices?resolverType?closureCode?lastUpdatedDate?createdDate?watchers?impactedAccounts?pendingAction?threatActorIpAddresses?impactedAwsRegions?actualIncidentStartDate?reportedIncidentStartDate?engagementType?caseStatus?description?caseArn?title()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the attributes of a case."]moduleGetCaseRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element for GetCase to identify the requested case ID."]}letcontext_="GetCaseRequest"letmake~caseId=fun()->{caseId}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the attributes of a case."]moduleGetCaseAttachmentUploadUrlResponse=structtypenonrect={attachmentPresignedUrl:Url.toption[@ocaml.doc"Response element providing the Amazon S3 presigned URL to upload the attachment."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?attachmentPresignedUrl=fun()->{attachmentPresignedUrl}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("attachmentPresignedUrl",(Option.mapx.attachmentPresignedUrl~f:Url.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letattachmentPresignedUrl=(Option.map~f:Url.of_xml)(Xml.childxml_arg0"attachmentPresignedUrl")inmake?attachmentPresignedUrl()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letattachmentPresignedUrl=field_mapjson__"attachmentPresignedUrl"Url.of_jsoninmake?attachmentPresignedUrl()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Uploads an attachment to a case."]moduleGetCaseAttachmentUploadUrlRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element for GetCaseAttachmentUploadUrl to identify the case ID for uploading an attachment."];fileName:FileName.t[@ocaml.doc"Required element for GetCaseAttachmentUploadUrl to identify the file name of the attachment to upload."];contentLength:ContentLength.t[@ocaml.doc"Required element for GetCaseAttachmentUploadUrl to identify the size of the file attachment."];clientToken:GetCaseAttachmentUploadUrlRequestClientTokenString.toption[@ocaml.doc"The clientToken field is an idempotency key used to ensure that repeated attempts for a single action will be ignored by the server during retries. A caller supplied unique ID (typically a UUID) should be provided."]}letcontext_="GetCaseAttachmentUploadUrlRequest"letmake?clientToken=fun~caseId->fun~fileName->fun~contentLength->fun()->{clientToken;caseId;fileName;contentLength}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)));("fileName",(Some(FileName.to_valuex.fileName)));("contentLength",(Some(ContentLength.to_valuex.contentLength)));("clientToken",(Option.mapx.clientToken~f:GetCaseAttachmentUploadUrlRequestClientTokenString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:GetCaseAttachmentUploadUrlRequestClientTokenString.of_xml)(Xml.childxml_arg0"clientToken")inletcontentLength=ContentLength.of_xml(Xml.child_exn~context:context_xml_arg0"contentLength")inletfileName=FileName.of_xml(Xml.child_exn~context:context_xml_arg0"fileName")inletcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake?clientToken~contentLength~fileName~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"GetCaseAttachmentUploadUrlRequestClientTokenString.of_jsoninletcontentLength=field_map_exnjson__"contentLength"ContentLength.of_jsoninletfileName=field_map_exnjson__"fileName"FileName.of_jsoninletcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake?clientToken~contentLength~fileName~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Uploads an attachment to a case."]moduleGetCaseAttachmentDownloadUrlResponse=structtypenonrect={attachmentPresignedUrl:Url.toption[@ocaml.doc"Response element providing the Amazon S3 presigned URL to download an attachment."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?attachmentPresignedUrl=fun()->{attachmentPresignedUrl}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("attachmentPresignedUrl",(Option.mapx.attachmentPresignedUrl~f:Url.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letattachmentPresignedUrl=(Option.map~f:Url.of_xml)(Xml.childxml_arg0"attachmentPresignedUrl")inmake?attachmentPresignedUrl()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letattachmentPresignedUrl=field_mapjson__"attachmentPresignedUrl"Url.of_jsoninmake?attachmentPresignedUrl()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a Pre-Signed URL for uploading attachments into a case."]moduleGetCaseAttachmentDownloadUrlRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element for GetCaseAttachmentDownloadUrl to identify the case ID for downloading an attachment from."];attachmentId:AttachmentId.t[@ocaml.doc"Required element for GetCaseAttachmentDownloadUrl to identify the attachment ID for downloading an attachment."]}letcontext_="GetCaseAttachmentDownloadUrlRequest"letmake~caseId=fun~attachmentId->fun()->{caseId;attachmentId}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)));("attachmentId",(Some(AttachmentId.to_valuex.attachmentId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letattachmentId=AttachmentId.of_xml(Xml.child_exn~context:context_xml_arg0"attachmentId")inletcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake~attachmentId~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letattachmentId=field_map_exnjson__"attachmentId"AttachmentId.of_jsoninletcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake~attachmentId~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a Pre-Signed URL for uploading attachments into a case."]moduleCreateMembershipResponse=structtypenonrect={membershipId:MembershipId.toption[@ocaml.doc"Response element for CreateMembership providing the newly created membership ID."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?membershipId=fun()->{membershipId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("membershipId",(Option.mapx.membershipId~f:MembershipId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmembershipId=(Option.map~f:MembershipId.of_xml)(Xml.childxml_arg0"membershipId")inmake?membershipId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmembershipId=field_mapjson__"membershipId"MembershipId.of_jsoninmake?membershipId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new membership."]moduleCreateMembershipRequest=structtypenonrect={clientToken:CreateMembershipRequestClientTokenString.toption[@ocaml.doc"The clientToken field is an idempotency key used to ensure that repeated attempts for a single action will be ignored by the server during retries. A caller supplied unique ID (typically a UUID) should be provided."];membershipName:MembershipName.t[@ocaml.doc"Required element used in combination with CreateMembership to create a name for the membership."];incidentResponseTeam:IncidentResponseTeam.t[@ocaml.doc"Required element used in combination with CreateMembership to add customer incident response team members and trusted partners to the membership."];optInFeatures:OptInFeatures.toption[@ocaml.doc"Optional element to enable the monitoring and investigation opt-in features for the service."];tags:TagMap.toption[@ocaml.doc"Optional element for customer configured tags."];coverEntireOrganization:Boolean.toption[@ocaml.doc"The coverEntireOrganization parameter is a boolean flag that determines whether the membership should be applied to the entire Amazon Web Services Organization. When set to true, the membership will be created for all accounts within the organization. When set to false, the membership will only be created for specified accounts. This parameter is optional. If not specified, the default value is false. If set to true: The membership will automatically include all existing and future accounts in the Amazon Web Services Organization. If set to false: The membership will only apply to explicitly specified accounts."]}letcontext_="CreateMembershipRequest"letmake?clientToken=fun?optInFeatures->fun?tags->fun?coverEntireOrganization->fun~membershipName->fun~incidentResponseTeam->fun()->{clientToken;optInFeatures;tags;coverEntireOrganization;membershipName;incidentResponseTeam}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:CreateMembershipRequestClientTokenString.to_value));("membershipName",(Some(MembershipName.to_valuex.membershipName)));("incidentResponseTeam",(Some(IncidentResponseTeam.to_valuex.incidentResponseTeam)));("optInFeatures",(Option.mapx.optInFeatures~f:OptInFeatures.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value));("coverEntireOrganization",(Option.mapx.coverEntireOrganization~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcoverEntireOrganization=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"coverEntireOrganization")inlettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletoptInFeatures=(Option.map~f:OptInFeatures.of_xml)(Xml.childxml_arg0"optInFeatures")inletincidentResponseTeam=IncidentResponseTeam.of_xml(Xml.child_exn~context:context_xml_arg0"incidentResponseTeam")inletmembershipName=MembershipName.of_xml(Xml.child_exn~context:context_xml_arg0"membershipName")inletclientToken=(Option.map~f:CreateMembershipRequestClientTokenString.of_xml)(Xml.childxml_arg0"clientToken")inmake?coverEntireOrganization?tags?optInFeatures~incidentResponseTeam~membershipName?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcoverEntireOrganization=field_mapjson__"coverEntireOrganization"Boolean.of_jsoninlettags=field_mapjson__"tags"TagMap.of_jsoninletoptInFeatures=field_mapjson__"optInFeatures"OptInFeatures.of_jsoninletincidentResponseTeam=field_map_exnjson__"incidentResponseTeam"IncidentResponseTeam.of_jsoninletmembershipName=field_map_exnjson__"membershipName"MembershipName.of_jsoninletclientToken=field_mapjson__"clientToken"CreateMembershipRequestClientTokenString.of_jsoninmake?coverEntireOrganization?tags?optInFeatures~incidentResponseTeam~membershipName?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new membership."]moduleCreateCaseResponse=structtypenonrect={caseId:CaseId.toption[@ocaml.doc"A response element providing responses for requests to CreateCase. This element responds with the case ID."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?caseId=fun()->{caseId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("caseId",(Option.mapx.caseId~f:CaseId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseId=(Option.map~f:CaseId.of_xml)(Xml.childxml_arg0"caseId")inmake?caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseId=field_mapjson__"caseId"CaseId.of_jsoninmake?caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new case."]moduleCreateCaseRequest=structtypenonrect={clientToken:CreateCaseRequestClientTokenString.toption[@ocaml.doc"The clientToken field is an idempotency key used to ensure that repeated attempts for a single action will be ignored by the server during retries. A caller supplied unique ID (typically a UUID) should be provided."];resolverType:ResolverType.t[@ocaml.doc"Required element used in combination with CreateCase to identify the resolver type."];title:CaseTitle.t[@ocaml.doc"Required element used in combination with CreateCase to provide a title for the new case."];description:CaseDescription.t[@ocaml.doc"Required element used in combination with CreateCase to provide a description for the new case."];engagementType:EngagementType.t[@ocaml.doc"Required element used in combination with CreateCase to provide an engagement type for the new cases. Available engagement types include Security Incident | Investigation"];reportedIncidentStartDate:Timestamp.t[@ocaml.doc"Required element used in combination with CreateCase to provide an initial start date for the unauthorized activity."];impactedAccounts:ImpactedAccounts.t[@ocaml.doc"Required element used in combination with CreateCase to provide a list of impacted accounts. AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be 123123123 which is nine digits, and with zero-prepend would be 000123123123. Not zero-prepending to 12 digits could result in errors."];watchers:Watchers.t[@ocaml.doc"Required element used in combination with CreateCase to provide a list of entities to receive notifications for case updates."];threatActorIpAddresses:ThreatActorIpList.toption[@ocaml.doc"An optional element used in combination with CreateCase to provide a list of suspicious internet protocol addresses associated with unauthorized activity."];impactedServices:ImpactedServicesList.toption[@ocaml.doc"An optional element used in combination with CreateCase to provide a list of services impacted."];impactedAwsRegions:ImpactedAwsRegionList.toption[@ocaml.doc"An optional element used in combination with CreateCase to provide a list of impacted regions."];tags:TagMap.toption[@ocaml.doc"An optional element used in combination with CreateCase to add customer specified tags to a case."]}letcontext_="CreateCaseRequest"letmake?clientToken=fun?threatActorIpAddresses->fun?impactedServices->fun?impactedAwsRegions->fun?tags->fun~resolverType->fun~title->fun~description->fun~engagementType->fun~reportedIncidentStartDate->fun~impactedAccounts->fun~watchers->fun()->{clientToken;threatActorIpAddresses;impactedServices;impactedAwsRegions;tags;resolverType;title;description;engagementType;reportedIncidentStartDate;impactedAccounts;watchers}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:CreateCaseRequestClientTokenString.to_value));("resolverType",(Some(ResolverType.to_valuex.resolverType)));("title",(Some(CaseTitle.to_valuex.title)));("description",(Some(CaseDescription.to_valuex.description)));("engagementType",(Some(EngagementType.to_valuex.engagementType)));("reportedIncidentStartDate",(Some(Timestamp.to_valuex.reportedIncidentStartDate)));("impactedAccounts",(Some(ImpactedAccounts.to_valuex.impactedAccounts)));("watchers",(Some(Watchers.to_valuex.watchers)));("threatActorIpAddresses",(Option.mapx.threatActorIpAddresses~f:ThreatActorIpList.to_value));("impactedServices",(Option.mapx.impactedServices~f:ImpactedServicesList.to_value));("impactedAwsRegions",(Option.mapx.impactedAwsRegions~f:ImpactedAwsRegionList.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")inletimpactedAwsRegions=(Option.map~f:ImpactedAwsRegionList.of_xml)(Xml.childxml_arg0"impactedAwsRegions")inletimpactedServices=(Option.map~f:ImpactedServicesList.of_xml)(Xml.childxml_arg0"impactedServices")inletthreatActorIpAddresses=(Option.map~f:ThreatActorIpList.of_xml)(Xml.childxml_arg0"threatActorIpAddresses")inletwatchers=Watchers.of_xml(Xml.child_exn~context:context_xml_arg0"watchers")inletimpactedAccounts=ImpactedAccounts.of_xml(Xml.child_exn~context:context_xml_arg0"impactedAccounts")inletreportedIncidentStartDate=Timestamp.of_xml(Xml.child_exn~context:context_xml_arg0"reportedIncidentStartDate")inletengagementType=EngagementType.of_xml(Xml.child_exn~context:context_xml_arg0"engagementType")inletdescription=CaseDescription.of_xml(Xml.child_exn~context:context_xml_arg0"description")inlettitle=CaseTitle.of_xml(Xml.child_exn~context:context_xml_arg0"title")inletresolverType=ResolverType.of_xml(Xml.child_exn~context:context_xml_arg0"resolverType")inletclientToken=(Option.map~f:CreateCaseRequestClientTokenString.of_xml)(Xml.childxml_arg0"clientToken")inmake?tags?impactedAwsRegions?impactedServices?threatActorIpAddresses~watchers~impactedAccounts~reportedIncidentStartDate~engagementType~description~title~resolverType?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletimpactedAwsRegions=field_mapjson__"impactedAwsRegions"ImpactedAwsRegionList.of_jsoninletimpactedServices=field_mapjson__"impactedServices"ImpactedServicesList.of_jsoninletthreatActorIpAddresses=field_mapjson__"threatActorIpAddresses"ThreatActorIpList.of_jsoninletwatchers=field_map_exnjson__"watchers"Watchers.of_jsoninletimpactedAccounts=field_map_exnjson__"impactedAccounts"ImpactedAccounts.of_jsoninletreportedIncidentStartDate=field_map_exnjson__"reportedIncidentStartDate"Timestamp.of_jsoninletengagementType=field_map_exnjson__"engagementType"EngagementType.of_jsoninletdescription=field_map_exnjson__"description"CaseDescription.of_jsoninlettitle=field_map_exnjson__"title"CaseTitle.of_jsoninletresolverType=field_map_exnjson__"resolverType"ResolverType.of_jsoninletclientToken=field_mapjson__"clientToken"CreateCaseRequestClientTokenString.of_jsoninmake?tags?impactedAwsRegions?impactedServices?threatActorIpAddresses~watchers~impactedAccounts~reportedIncidentStartDate~engagementType~description~title~resolverType?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new case."]moduleCreateCaseCommentResponse=structtypenonrect={commentId:CommentId.toption[@ocaml.doc"Response element indicating the new comment ID."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?commentId=fun()->{commentId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("commentId",(Option.mapx.commentId~f:CommentId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcommentId=(Option.map~f:CommentId.of_xml)(Xml.childxml_arg0"commentId")inmake?commentId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcommentId=field_mapjson__"commentId"CommentId.of_jsoninmake?commentId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds a comment to an existing case."]moduleCreateCaseCommentRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element used in combination with CreateCaseComment to specify a case ID."];clientToken:CreateCaseCommentRequestClientTokenString.toption[@ocaml.doc"The clientToken field is an idempotency key used to ensure that repeated attempts for a single action will be ignored by the server during retries. A caller supplied unique ID (typically a UUID) should be provided."];body:CommentBody.t[@ocaml.doc"Required element used in combination with CreateCaseComment to add content for the new comment."]}letcontext_="CreateCaseCommentRequest"letmake?clientToken=fun~caseId->fun~body->fun()->{clientToken;caseId;body}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)));("clientToken",(Option.mapx.clientToken~f:CreateCaseCommentRequestClientTokenString.to_value));("body",(Some(CommentBody.to_valuex.body)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbody=CommentBody.of_xml(Xml.child_exn~context:context_xml_arg0"body")inletclientToken=(Option.map~f:CreateCaseCommentRequestClientTokenString.of_xml)(Xml.childxml_arg0"clientToken")inletcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake~body?clientToken~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbody=field_map_exnjson__"body"CommentBody.of_jsoninletclientToken=field_mapjson__"clientToken"CreateCaseCommentRequestClientTokenString.of_jsoninletcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake~body?clientToken~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds a comment to an existing case."]moduleCloseCaseResponse=structtypenonrect={caseStatus:CaseStatus.toption[@ocaml.doc"A response element providing responses for requests to CloseCase. This element responds Closed if successful."];closedDate:Timestamp.toption[@ocaml.doc"A response element providing responses for requests to CloseCase. This element responds with the ISO-8601 formatted timestamp of the moment when the case was closed."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?caseStatus=fun?closedDate->fun()->{caseStatus;closedDate}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("caseStatus",(Option.mapx.caseStatus~f:CaseStatus.to_value));("closedDate",(Option.mapx.closedDate~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclosedDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"closedDate")inletcaseStatus=(Option.map~f:CaseStatus.of_xml)(Xml.childxml_arg0"caseStatus")inmake?closedDate?caseStatus()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclosedDate=field_mapjson__"closedDate"Timestamp.of_jsoninletcaseStatus=field_mapjson__"caseStatus"CaseStatus.of_jsoninmake?closedDate?caseStatus()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Closes an existing case."]moduleCloseCaseRequest=structtypenonrect={caseId:CaseId.t[@ocaml.doc"Required element used in combination with CloseCase to identify the case ID to close."]}letcontext_="CloseCaseRequest"letmake~caseId=fun()->{caseId}letto_valuex=structure_to_value[("caseId",(Some(CaseId.to_valuex.caseId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcaseId=CaseId.of_xml(Xml.child_exn~context:context_xml_arg0"caseId")inmake~caseId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcaseId=field_map_exnjson__"caseId"CaseId.of_jsoninmake~caseId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Closes an existing case."]moduleCancelMembershipResponse=structtypenonrect={membershipId:MembershipId.toption[@ocaml.doc"The response element providing responses for requests to CancelMembershipRequest."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?membershipId=fun()->{membershipId}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("membershipId",(Option.mapx.membershipId~f:MembershipId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmembershipId=(Option.map~f:MembershipId.of_xml)(Xml.childxml_arg0"membershipId")inmake?membershipId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmembershipId=field_mapjson__"membershipId"MembershipId.of_jsoninmake?membershipId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Cancels an existing membership."]moduleCancelMembershipRequest=structtypenonrect={membershipId:MembershipId.t[@ocaml.doc"Required element used in combination with CancelMembershipRequest to identify the membership ID to cancel."]}letcontext_="CancelMembershipRequest"letmake~membershipId=fun()->{membershipId}letto_valuex=structure_to_value[("membershipId",(Some(MembershipId.to_valuex.membershipId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmembershipId=MembershipId.of_xml(Xml.child_exn~context:context_xml_arg0"membershipId")inmake~membershipId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmembershipId=field_map_exnjson__"membershipId"MembershipId.of_jsoninmake~membershipId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Cancels an existing membership."]moduleBatchGetMemberAccountDetailsResponse=structtypenonrect={items:GetMembershipAccountDetailItems.toption[@ocaml.doc"The response element providing responses for requests to GetMembershipAccountDetails."];errors:GetMembershipAccountDetailErrors.toption[@ocaml.doc"The response element providing error messages for requests to GetMembershipAccountDetails."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`InvalidTokenExceptionofInvalidTokenException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`SecurityIncidentResponseNotActiveExceptionofSecurityIncidentResponseNotActiveException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?items=fun?errors->fun()->{items;errors}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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)|"InvalidTokenException"->`InvalidTokenException(InvalidTokenException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"SecurityIncidentResponseNotActiveException"->`SecurityIncidentResponseNotActiveException(SecurityIncidentResponseNotActiveException.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))]|`InvalidTokenExceptione->`Assoc[("error",(`String"InvalidTokenException"));("details",(InvalidTokenException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`SecurityIncidentResponseNotActiveExceptione->`Assoc[("error",(`String"SecurityIncidentResponseNotActiveException"));("details",(SecurityIncidentResponseNotActiveException.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[("items",(Option.mapx.items~f:GetMembershipAccountDetailItems.to_value));("errors",(Option.mapx.errors~f:GetMembershipAccountDetailErrors.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrors=(Option.map~f:GetMembershipAccountDetailErrors.of_xml)(Xml.childxml_arg0"errors")inletitems=(Option.map~f:GetMembershipAccountDetailItems.of_xml)(Xml.childxml_arg0"items")inmake?errors?items()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrors=field_mapjson__"errors"GetMembershipAccountDetailErrors.of_jsoninletitems=field_mapjson__"items"GetMembershipAccountDetailItems.of_jsoninmake?errors?items()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information on whether the supplied account IDs are associated with a membership. AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be 123123123 which is nine digits, and with zero-prepend would be 000123123123. Not zero-prepending to 12 digits could result in errors."]moduleBatchGetMemberAccountDetailsRequest=structtypenonrect={membershipId:MembershipId.t[@ocaml.doc"Required element used in combination with BatchGetMemberAccountDetails to identify the membership ID to query."];accountIds:AWSAccountIds.t[@ocaml.doc"Optional element to query the membership relationship status to a provided list of account IDs. AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be 123123123 which is nine digits, and with zero-prepend would be 000123123123. Not zero-prepending to 12 digits could result in errors."]}letcontext_="BatchGetMemberAccountDetailsRequest"letmake~membershipId=fun~accountIds->fun()->{membershipId;accountIds}letto_valuex=structure_to_value[("membershipId",(Some(MembershipId.to_valuex.membershipId)));("accountIds",(Some(AWSAccountIds.to_valuex.accountIds)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountIds=AWSAccountIds.of_xml(Xml.child_exn~context:context_xml_arg0"accountIds")inletmembershipId=MembershipId.of_xml(Xml.child_exn~context:context_xml_arg0"membershipId")inmake~accountIds~membershipId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountIds=field_map_exnjson__"accountIds"AWSAccountIds.of_jsoninletmembershipId=field_map_exnjson__"membershipId"MembershipId.of_jsoninmake~accountIds~membershipId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Provides information on whether the supplied account IDs are associated with a membership. AWS account ID's may appear less than 12 characters and need to be zero-prepended. An example would be 123123123 which is nine digits, and with zero-prepend would be 000123123123. Not zero-prepending to 12 digits could result in errors."]