12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790(* 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.healthletapiVersion="2016-08-04"letendpointPrefix="health"letserviceFullName="AWS Health APIs and Notifications"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"letserviceAbbreviation="AWSHealth"lettargetPrefix="AWSHealth_20160804"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[]))])moduleCount=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 count"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleEntityStatusCode=structtypenonrect=|IMPAIRED|UNIMPAIRED|UNKNOWN|PENDING|RESOLVED|Non_static_idofstringletmakei=iletto_string=function|IMPAIRED->"IMPAIRED"|UNIMPAIRED->"UNIMPAIRED"|UNKNOWN->"UNKNOWN"|PENDING->"PENDING"|RESOLVED->"RESOLVED"|Non_static_ids->sletof_string=function|"IMPAIRED"->IMPAIRED|"UNIMPAIRED"->UNIMPAIRED|"UNKNOWN"->UNKNOWN|"PENDING"->PENDING|"RESOLVED"->RESOLVED|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 entityStatusCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"entityStatusCode"j)letto_json=simple_to_jsonto_valueendmoduleEventPersona=structtypenonrect=|OPERATIONS|SECURITY|BILLING|Non_static_idofstringletmakei=iletto_string=function|OPERATIONS->"OPERATIONS"|SECURITY->"SECURITY"|BILLING->"BILLING"|Non_static_ids->sletof_string=function|"OPERATIONS"->OPERATIONS|"SECURITY"->SECURITY|"BILLING"->BILLING|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 EventPersona"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EventPersona"j)letto_json=simple_to_jsonto_valueendmoduleEntityStatuses=structtypenonrect=(EntityStatusCode.t*Count.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((EntityStatusCode.of_stringchopped),(Count.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(EntityStatusCode.to_valuex)|>(funx->(Count.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:EntityStatusCode.of_string~of_json:Count.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventArn=structtypenonrect=stringletcontext_="eventArn"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1600)>>=(fun()->check_patterni~pattern:"arn:aws(-[a-z]+(-[a-z]+)?)?:health:[^:]*:[^:]*:event(?:/[\\w-]+){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:"eventArn"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_valueendmoduleTagKey=structtypenonrect=stringletcontext_="tagKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:127)>>=(fun()->check_patterni~pattern:".{0,127}"));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:255)>>=(fun()->check_patterni~pattern:".{0,255}"));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_valueendmoduleEventTypePersona=structtypenonrect=|OPERATIONS|SECURITY|BILLING|Non_static_idofstringletmakei=iletto_string=function|OPERATIONS->"OPERATIONS"|SECURITY->"SECURITY"|BILLING->"BILLING"|Non_static_ids->sletof_string=function|"OPERATIONS"->OPERATIONS|"SECURITY"->SECURITY|"BILLING"->BILLING|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 EventTypePersona"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EventTypePersona"j)letto_json=simple_to_jsonto_valueendmoduleEventActionability=structtypenonrect=|ACTION_REQUIRED|ACTION_MAY_BE_REQUIRED|INFORMATIONAL|Non_static_idofstringletmakei=iletto_string=function|ACTION_REQUIRED->"ACTION_REQUIRED"|ACTION_MAY_BE_REQUIRED->"ACTION_MAY_BE_REQUIRED"|INFORMATIONAL->"INFORMATIONAL"|Non_static_ids->sletof_string=function|"ACTION_REQUIRED"->ACTION_REQUIRED|"ACTION_MAY_BE_REQUIRED"->ACTION_MAY_BE_REQUIRED|"INFORMATIONAL"->INFORMATIONAL|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 EventActionability"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EventActionability"j)letto_json=simple_to_jsonto_valueendmoduleEventPersonaList=structtypenonrect=EventPersona.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:3)>>=(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:EventPersona.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:EventPersona.of_xml)letof_jsonj=list_of_json~kind:"EventPersonaList"~of_json:EventPersona.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAvailabilityZone=structtypenonrect=stringletcontext_="availabilityZone"letmakei=letopenResultinok_or_failwith((check_string_mini~min:6)>>=(fun()->(check_string_maxi~max:18)>>=(fun()->check_patterni~pattern:"[a-z]{2,4}\\-[0-9a-z\\-]{4,16}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"availabilityZone"jletto_json=simple_to_jsonto_valueendmoduleEventScopeCode=structtypenonrect=|PUBLIC|ACCOUNT_SPECIFIC|NONE|Non_static_idofstringletmakei=iletto_string=function|PUBLIC->"PUBLIC"|ACCOUNT_SPECIFIC->"ACCOUNT_SPECIFIC"|NONE->"NONE"|Non_static_ids->sletof_string=function|"PUBLIC"->PUBLIC|"ACCOUNT_SPECIFIC"->ACCOUNT_SPECIFIC|"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 eventScopeCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"eventScopeCode"j)letto_json=simple_to_jsonto_valueendmoduleEventStatusCode=structtypenonrect=|Open|Closed|Upcoming|Non_static_idofstringletmakei=iletto_string=function|Open->"open"|Closed->"closed"|Upcoming->"upcoming"|Non_static_ids->sletof_string=function|"open"->Open|"closed"->Closed|"upcoming"->Upcoming|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 eventStatusCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"eventStatusCode"j)letto_json=simple_to_jsonto_valueendmoduleEventTypeCategory=structtypenonrect=|Issue|AccountNotification|ScheduledChange|Investigation|Non_static_idofstringletmakei=iletto_string=function|Issue->"issue"|AccountNotification->"accountNotification"|ScheduledChange->"scheduledChange"|Investigation->"investigation"|Non_static_ids->sletof_string=function|"issue"->Issue|"accountNotification"->AccountNotification|"scheduledChange"->ScheduledChange|"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 eventTypeCategory"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"eventTypeCategory"j)letto_json=simple_to_jsonto_valueendmoduleEventTypeCode=structtypenonrect=stringletcontext_="eventTypeCode"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9\\_\\-]{3,100}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"eventTypeCode"jletto_json=simple_to_jsonto_valueendmoduleRegion=structtypenonrect=stringletcontext_="region"letmakei=letopenResultinok_or_failwith((check_string_mini~min:2)>>=(fun()->(check_string_maxi~max:25)>>=(fun()->check_patterni~pattern:"[^:/]{2,25}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"region"jletto_json=simple_to_jsonto_valueendmoduleService=structtypenonrect=stringletcontext_="service"letmakei=letopenResultinok_or_failwith((check_string_mini~min:2)>>=(fun()->(check_string_maxi~max:30)>>=(fun()->check_patterni~pattern:"[^:/]{2,30}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"service"jletto_json=simple_to_jsonto_valueendmoduleEventDescription__lc1=structtypenonrect=stringletcontext_="EventDescription__lc1"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:"EventDescription__lc1"jletto_json=simple_to_jsonto_valueendmoduleMetadataKey=structtypenonrect=stringletcontext_="metadataKey"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:32766);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"metadataKey"jletto_json=simple_to_jsonto_valueendmoduleMetadataValue=structtypenonrect=stringletcontext_="metadataValue"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:32766);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"metadataValue"jletto_json=simple_to_jsonto_valueendmoduleAccountEntityAggregate=structtypenonrect={accountId:EventArn.toption[@ocaml.doc"The 12-digit Amazon Web Services account numbers that contains the affected entities."];count:Count.toption[@ocaml.doc"The number of entities that match the filter criteria for the specified events."];statuses:EntityStatuses.toption[@ocaml.doc"The number of affected entities aggregated by the entity status codes."]}letmake?accountId=fun?count->fun?statuses->fun()->{accountId;count;statuses}letto_valuex=structure_to_value[("accountId",(Option.mapx.accountId~f:EventArn.to_value));("count",(Option.mapx.count~f:Count.to_value));("statuses",(Option.mapx.statuses~f:EntityStatuses.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatuses=(Option.map~f:EntityStatuses.of_xml)(Xml.childxml_arg0"statuses")inletcount=(Option.map~f:Count.of_xml)(Xml.childxml_arg0"count")inletaccountId=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"accountId")inmake?statuses?count?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatuses=field_mapjson__"statuses"EntityStatuses.of_jsoninletcount=field_mapjson__"count"Count.of_jsoninletaccountId=field_mapjson__"accountId"EventArn.of_jsoninmake?statuses?count?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The number of entities in an account that are impacted by a specific event aggregated by the entity status codes."]moduleEntityMetadataKey=structtypenonrect=stringletcontext_="entityMetadataKey"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:1024);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"entityMetadataKey"jletto_json=simple_to_jsonto_valueendmoduleEntityMetadataValue=structtypenonrect=stringletcontext_="entityMetadataValue"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:1024);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"entityMetadataValue"jletto_json=simple_to_jsonto_valueendmoduleEventType__lc1=structtypenonrect=stringletcontext_="EventType__lc1"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"[^:/]{3,100}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"EventType__lc1"jletto_json=simple_to_jsonto_valueendmoduleDateTimeRange=structtypenonrect={from:Timestamp.toption[@ocaml.doc"The starting date and time of a time range."];to_:Timestamp.toption[@ocaml.doc"The ending date and time of a time range."]}letmake?from=fun?to_->fun()->{from;to_}letto_valuex=structure_to_value[("from",(Option.mapx.from~f:Timestamp.to_value));("to",(Option.mapx.to_~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letto_=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"to")inletfrom=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"from")inmake?to_?from()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letto_=field_mapjson__"to"Timestamp.of_jsoninletfrom=field_mapjson__"from"Timestamp.of_jsoninmake?to_?from()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A range of dates and times that is used by the EventFilter and EntityFilter objects. If from is set and to is set: match items where the timestamp (startTime, endTime, or lastUpdatedTime) is between from and to inclusive. If from is set and to is not set: match items where the timestamp value is equal to or after from. If from is not set and to is set: match items where the timestamp value is equal to or before to."]moduleEntityArn=structtypenonrect=stringletcontext_="entityArn"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1600)>>=(fun()->check_patterni~pattern:".{0,1600}"));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"entityArn"jletto_json=simple_to_jsonto_valueendmoduleEntityValue=structtypenonrect=stringletcontext_="entityValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1224)>>=(fun()->check_patterni~pattern:".{0,1224}"));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"entityValue"jletto_json=simple_to_jsonto_valueendmoduleTagSet=structtypenonrect=(TagKey.t*TagValue.t)listletmakei=letopenResultinok_or_failwith(check_list_maxi~max:50);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_valuevendmoduleAccountId=structtypenonrect=stringletcontext_="accountId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:12)>>=(fun()->check_patterni~pattern:"^\\S+$"));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"accountId"jletto_json=simple_to_jsonto_valueendmoduleEventTypeActionability=structtypenonrect=|ACTION_REQUIRED|ACTION_MAY_BE_REQUIRED|INFORMATIONAL|Non_static_idofstringletmakei=iletto_string=function|ACTION_REQUIRED->"ACTION_REQUIRED"|ACTION_MAY_BE_REQUIRED->"ACTION_MAY_BE_REQUIRED"|INFORMATIONAL->"INFORMATIONAL"|Non_static_ids->sletof_string=function|"ACTION_REQUIRED"->ACTION_REQUIRED|"ACTION_MAY_BE_REQUIRED"->ACTION_MAY_BE_REQUIRED|"INFORMATIONAL"->INFORMATIONAL|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 EventTypeActionability"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EventTypeActionability"j)letto_json=simple_to_jsonto_valueendmoduleEventTypePersonaList=structtypenonrect=EventTypePersona.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:3)>>=(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:EventTypePersona.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:EventTypePersona.of_xml)letof_jsonj=list_of_json~kind:"EventTypePersonaList"~of_json:EventTypePersona.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleString_=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_valueendmoduleEvent=structtypenonrect={arn:EventArn.toption[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];service:Service.toption[@ocaml.doc"The Amazon Web Services service that is affected by the event. For example, EC2, RDS."];eventTypeCode:EventTypeCode.toption[@ocaml.doc"The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT."];eventTypeCategory:EventTypeCategory.toption[@ocaml.doc"A list of event type category codes. Possible values are issue, accountNotification, or scheduledChange. Currently, the investigation value isn't supported at this time."];region:Region.toption[@ocaml.doc"The Amazon Web Services Region name of the event."];availabilityZone:AvailabilityZone.toption[@ocaml.doc"The Amazon Web Services Availability Zone of the event. For example, us-east-1a."];startTime:Timestamp.toption[@ocaml.doc"The date and time that the event began."];endTime:Timestamp.toption[@ocaml.doc"The date and time that the event ended."];lastUpdatedTime:Timestamp.toption[@ocaml.doc"The most recent date and time that the event was updated."];statusCode:EventStatusCode.toption[@ocaml.doc"The most recent status of the event. Possible values are open, closed, and upcoming."];eventScopeCode:EventScopeCode.toption[@ocaml.doc"This parameter specifies if the Health event is a public Amazon Web Services service event or an account-specific event. If the eventScopeCode value is PUBLIC, then the affectedAccounts value is always empty. If the eventScopeCode value is ACCOUNT_SPECIFIC, then the affectedAccounts value lists the affected Amazon Web Services accounts in your organization. For example, if an event affects a service such as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that use that service, those account IDs appear in the response. If the eventScopeCode value is NONE, then the eventArn that you specified in the request is invalid or doesn't exist."];actionability:EventActionability.toption[@ocaml.doc"The actionability classification of the event. Possible values are ACTION_REQUIRED, ACTION_MAY_BE_REQUIRED and INFORMATIONAL. Events with ACTION_REQUIRED actionability require customer action to resolve or mitigate the event. Events with ACTION_MAY_BE_REQUIRED actionability indicates that the current status is unknown or conditional and inspection is needed to determine if action is required. Events with INFORMATIONAL actionability are provided for awareness and do not require immediate action."];personas:EventPersonaList.toption[@ocaml.doc"A list of persona classifications that indicate the target audience for the event. Possible values are OPERATIONS, SECURITY, and BILLING. Events can be associated with multiple personas to indicate relevance to different teams or roles within an organization."]}letmake?arn=fun?service->fun?eventTypeCode->fun?eventTypeCategory->fun?region->fun?availabilityZone->fun?startTime->fun?endTime->fun?lastUpdatedTime->fun?statusCode->fun?eventScopeCode->fun?actionability->fun?personas->fun()->{arn;service;eventTypeCode;eventTypeCategory;region;availabilityZone;startTime;endTime;lastUpdatedTime;statusCode;eventScopeCode;actionability;personas}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:EventArn.to_value));("service",(Option.mapx.service~f:Service.to_value));("eventTypeCode",(Option.mapx.eventTypeCode~f:EventTypeCode.to_value));("eventTypeCategory",(Option.mapx.eventTypeCategory~f:EventTypeCategory.to_value));("region",(Option.mapx.region~f:Region.to_value));("availabilityZone",(Option.mapx.availabilityZone~f:AvailabilityZone.to_value));("startTime",(Option.mapx.startTime~f:Timestamp.to_value));("endTime",(Option.mapx.endTime~f:Timestamp.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Timestamp.to_value));("statusCode",(Option.mapx.statusCode~f:EventStatusCode.to_value));("eventScopeCode",(Option.mapx.eventScopeCode~f:EventScopeCode.to_value));("actionability",(Option.mapx.actionability~f:EventActionability.to_value));("personas",(Option.mapx.personas~f:EventPersonaList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpersonas=(Option.map~f:EventPersonaList.of_xml)(Xml.childxml_arg0"personas")inletactionability=(Option.map~f:EventActionability.of_xml)(Xml.childxml_arg0"actionability")inleteventScopeCode=(Option.map~f:EventScopeCode.of_xml)(Xml.childxml_arg0"eventScopeCode")inletstatusCode=(Option.map~f:EventStatusCode.of_xml)(Xml.childxml_arg0"statusCode")inletlastUpdatedTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletendTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"startTime")inletavailabilityZone=(Option.map~f:AvailabilityZone.of_xml)(Xml.childxml_arg0"availabilityZone")inletregion=(Option.map~f:Region.of_xml)(Xml.childxml_arg0"region")inleteventTypeCategory=(Option.map~f:EventTypeCategory.of_xml)(Xml.childxml_arg0"eventTypeCategory")inleteventTypeCode=(Option.map~f:EventTypeCode.of_xml)(Xml.childxml_arg0"eventTypeCode")inletservice=(Option.map~f:Service.of_xml)(Xml.childxml_arg0"service")inletarn=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"arn")inmake?personas?actionability?eventScopeCode?statusCode?lastUpdatedTime?endTime?startTime?availabilityZone?region?eventTypeCategory?eventTypeCode?service?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpersonas=field_mapjson__"personas"EventPersonaList.of_jsoninletactionability=field_mapjson__"actionability"EventActionability.of_jsoninleteventScopeCode=field_mapjson__"eventScopeCode"EventScopeCode.of_jsoninletstatusCode=field_mapjson__"statusCode"EventStatusCode.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Timestamp.of_jsoninletendTime=field_mapjson__"endTime"Timestamp.of_jsoninletstartTime=field_mapjson__"startTime"Timestamp.of_jsoninletavailabilityZone=field_mapjson__"availabilityZone"AvailabilityZone.of_jsoninletregion=field_mapjson__"region"Region.of_jsoninleteventTypeCategory=field_mapjson__"eventTypeCategory"EventTypeCategory.of_jsoninleteventTypeCode=field_mapjson__"eventTypeCode"EventTypeCode.of_jsoninletservice=field_mapjson__"service"Service.of_jsoninletarn=field_mapjson__"arn"EventArn.of_jsoninmake?personas?actionability?eventScopeCode?statusCode?lastUpdatedTime?endTime?startTime?availabilityZone?region?eventTypeCategory?eventTypeCode?service?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an Health event. Health events can be public or account-specific: Public events might be service events that are not specific to an Amazon Web Services account. For example, if there is an issue with an Amazon Web Services Region, Health provides information about the event, even if you don't use services or resources in that Region. Account-specific events are specific to either your Amazon Web Services account or an account in your organization. For example, if there's an issue with Amazon Elastic Compute Cloud in a Region that you use, Health provides information about the event and the affected resources in the account. You can determine if an event is public or account-specific by using the eventScopeCode parameter. For more information, see eventScopeCode."]moduleEventDescription=structtypenonrect={latestDescription:EventDescription__lc1.toption[@ocaml.doc"The most recent description of the event."]}letmake?latestDescription=fun()->{latestDescription}letto_valuex=structure_to_value[("latestDescription",(Option.mapx.latestDescription~f:EventDescription__lc1.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlatestDescription=(Option.map~f:EventDescription__lc1.of_xml)(Xml.childxml_arg0"latestDescription")inmake?latestDescription()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlatestDescription=field_mapjson__"latestDescription"EventDescription__lc1.of_jsoninmake?latestDescription()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The detailed description of the event. Included in the information returned by the DescribeEventDetails operation."]moduleEventMetadata=structtypenonrect=(MetadataKey.t*MetadataValue.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((MetadataKey.of_stringchopped),(MetadataValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(MetadataKey.to_valuex)|>(funx->(MetadataValue.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:MetadataKey.of_string~of_json:MetadataValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAggregateValue=structtypenonrect=stringletcontext_="aggregateValue"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:"aggregateValue"jletto_json=simple_to_jsonto_valueendmoduleAccountEntityAggregatesList=structtypenonrect=AccountEntityAggregate.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AccountEntityAggregate.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:AccountEntityAggregate.of_xml)letof_jsonj=list_of_json~kind:"AccountEntityAggregatesList"~of_json:AccountEntityAggregate.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEntityMetadata=structtypenonrect=(EntityMetadataKey.t*EntityMetadataValue.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((EntityMetadataKey.of_stringchopped),(EntityMetadataValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(EntityMetadataKey.to_valuex)|>(funx->(EntityMetadataValue.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:EntityMetadataKey.of_string~of_json:EntityMetadataValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEntityUrl=structtypenonrect=stringletcontext_="entityUrl"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:"entityUrl"jletto_json=simple_to_jsonto_valueendmoduleEntityStatusCodeList=structtypenonrect=EntityStatusCode.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:EntityStatusCode.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:EntityStatusCode.of_xml)letof_jsonj=list_of_json~kind:"entityStatusCodeList"~of_json:EntityStatusCode.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventActionabilityList=structtypenonrect=EventActionability.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:3)>>=(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:EventActionability.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:EventActionability.of_xml)letof_jsonj=list_of_json~kind:"EventActionabilityList"~of_json:EventActionability.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventTypeCategoryList__lc1=structtypenonrect=EventTypeCategory.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventTypeCategory.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:EventTypeCategory.of_xml)letof_jsonj=list_of_json~kind:"EventTypeCategoryList__lc1"~of_json:EventTypeCategory.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventTypeList__lc1=structtypenonrect=EventType__lc1.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventType__lc1.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:EventType__lc1.of_xml)letof_jsonj=list_of_json~kind:"EventTypeList__lc1"~of_json:EventType__lc1.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAvailabilityZones=structtypenonrect=AvailabilityZone.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AvailabilityZone.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:AvailabilityZone.of_xml)letof_jsonj=list_of_json~kind:"availabilityZones"~of_json:AvailabilityZone.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDateTimeRangeList=structtypenonrect=DateTimeRange.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:DateTimeRange.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:DateTimeRange.of_xml)letof_jsonj=list_of_json~kind:"dateTimeRangeList"~of_json:DateTimeRange.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEntityArnList=structtypenonrect=EntityArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:99)>>=(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:EntityArn.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:EntityArn.of_xml)letof_jsonj=list_of_json~kind:"entityArnList"~of_json:EntityArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEntityValueList=structtypenonrect=EntityValue.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:99)>>=(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:EntityValue.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:EntityValue.of_xml)letof_jsonj=list_of_json~kind:"entityValueList"~of_json:EntityValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventArnList=structtypenonrect=EventArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventArn.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:EventArn.of_xml)letof_jsonj=list_of_json~kind:"eventArnList"~of_json:EventArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventStatusCodeList=structtypenonrect=EventStatusCode.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:6)>>=(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:EventStatusCode.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:EventStatusCode.of_xml)letof_jsonj=list_of_json~kind:"eventStatusCodeList"~of_json:EventStatusCode.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegionList=structtypenonrect=Region.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Region.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:Region.of_xml)letof_jsonj=list_of_json~kind:"regionList"~of_json:Region.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleServiceList=structtypenonrect=Service.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Service.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:Service.of_xml)letof_jsonj=list_of_json~kind:"serviceList"~of_json:Service.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagFilter=structtypenonrect=TagSet.tlistletmakei=letopenResultinok_or_failwith(check_list_maxi~max:50);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TagSet.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:TagSet.of_xml)letof_jsonj=list_of_json~kind:"tagFilter"~of_json:TagSet.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationEvent=structtypenonrect={arn:EventArn.toption[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];service:Service.toption[@ocaml.doc"The Amazon Web Services service that is affected by the event, such as EC2 and RDS."];eventTypeCode:EventTypeCode.toption[@ocaml.doc"The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION. For example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT."];eventTypeCategory:EventTypeCategory.toption[@ocaml.doc"A list of event type category codes. Possible values are issue, accountNotification, or scheduledChange. Currently, the investigation value isn't supported at this time."];eventScopeCode:EventScopeCode.toption[@ocaml.doc"This parameter specifies if the Health event is a public Amazon Web Services service event or an account-specific event. If the eventScopeCode value is PUBLIC, then the affectedAccounts value is always empty. If the eventScopeCode value is ACCOUNT_SPECIFIC, then the affectedAccounts value lists the affected Amazon Web Services accounts in your organization. For example, if an event affects a service such as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that use that service, those account IDs appear in the response. If the eventScopeCode value is NONE, then the eventArn that you specified in the request is invalid or doesn't exist."];region:Region.toption[@ocaml.doc"The Amazon Web Services Region name of the event."];startTime:Timestamp.toption[@ocaml.doc"The date and time that the event began."];endTime:Timestamp.toption[@ocaml.doc"The date and time that the event ended."];lastUpdatedTime:Timestamp.toption[@ocaml.doc"The most recent date and time that the event was updated."];statusCode:EventStatusCode.toption[@ocaml.doc"The most recent status of the event. Possible values are open, closed, and upcoming."];actionability:EventActionability.toption[@ocaml.doc"The actionability classification of the event. Possible values are ACTION_REQUIRED, ACTION_MAY_BE_REQUIRED and INFORMATIONAL. Events with ACTION_REQUIRED actionability require customer action to resolve or mitigate the event. Events with ACTION_MAY_BE_REQUIRED actionability indicates that the current status is unknown or conditional and inspection is needed to determine if action is required. Events with INFORMATIONAL actionability are provided for awareness and do not require immediate action."];personas:EventPersonaList.toption[@ocaml.doc"A list of persona classifications that indicate the target audience for the event. Possible values are OPERATIONS, SECURITY, and BILLING. Events can be associated with multiple personas to indicate relevance to different teams or roles within an organization."]}letmake?arn=fun?service->fun?eventTypeCode->fun?eventTypeCategory->fun?eventScopeCode->fun?region->fun?startTime->fun?endTime->fun?lastUpdatedTime->fun?statusCode->fun?actionability->fun?personas->fun()->{arn;service;eventTypeCode;eventTypeCategory;eventScopeCode;region;startTime;endTime;lastUpdatedTime;statusCode;actionability;personas}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:EventArn.to_value));("service",(Option.mapx.service~f:Service.to_value));("eventTypeCode",(Option.mapx.eventTypeCode~f:EventTypeCode.to_value));("eventTypeCategory",(Option.mapx.eventTypeCategory~f:EventTypeCategory.to_value));("eventScopeCode",(Option.mapx.eventScopeCode~f:EventScopeCode.to_value));("region",(Option.mapx.region~f:Region.to_value));("startTime",(Option.mapx.startTime~f:Timestamp.to_value));("endTime",(Option.mapx.endTime~f:Timestamp.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Timestamp.to_value));("statusCode",(Option.mapx.statusCode~f:EventStatusCode.to_value));("actionability",(Option.mapx.actionability~f:EventActionability.to_value));("personas",(Option.mapx.personas~f:EventPersonaList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpersonas=(Option.map~f:EventPersonaList.of_xml)(Xml.childxml_arg0"personas")inletactionability=(Option.map~f:EventActionability.of_xml)(Xml.childxml_arg0"actionability")inletstatusCode=(Option.map~f:EventStatusCode.of_xml)(Xml.childxml_arg0"statusCode")inletlastUpdatedTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletendTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"startTime")inletregion=(Option.map~f:Region.of_xml)(Xml.childxml_arg0"region")inleteventScopeCode=(Option.map~f:EventScopeCode.of_xml)(Xml.childxml_arg0"eventScopeCode")inleteventTypeCategory=(Option.map~f:EventTypeCategory.of_xml)(Xml.childxml_arg0"eventTypeCategory")inleteventTypeCode=(Option.map~f:EventTypeCode.of_xml)(Xml.childxml_arg0"eventTypeCode")inletservice=(Option.map~f:Service.of_xml)(Xml.childxml_arg0"service")inletarn=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"arn")inmake?personas?actionability?statusCode?lastUpdatedTime?endTime?startTime?region?eventScopeCode?eventTypeCategory?eventTypeCode?service?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpersonas=field_mapjson__"personas"EventPersonaList.of_jsoninletactionability=field_mapjson__"actionability"EventActionability.of_jsoninletstatusCode=field_mapjson__"statusCode"EventStatusCode.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Timestamp.of_jsoninletendTime=field_mapjson__"endTime"Timestamp.of_jsoninletstartTime=field_mapjson__"startTime"Timestamp.of_jsoninletregion=field_mapjson__"region"Region.of_jsoninleteventScopeCode=field_mapjson__"eventScopeCode"EventScopeCode.of_jsoninleteventTypeCategory=field_mapjson__"eventTypeCategory"EventTypeCategory.of_jsoninleteventTypeCode=field_mapjson__"eventTypeCode"EventTypeCode.of_jsoninletservice=field_mapjson__"service"Service.of_jsoninletarn=field_mapjson__"arn"EventArn.of_jsoninmake?personas?actionability?statusCode?lastUpdatedTime?endTime?startTime?region?eventScopeCode?eventTypeCategory?eventTypeCode?service?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an event, returned by the DescribeEventsForOrganization operation."]moduleAwsAccountIdsList=structtypenonrect=AccountId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(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:AccountId.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:AccountId.of_xml)letof_jsonj=list_of_json~kind:"awsAccountIdsList"~of_json:AccountId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventType=structtypenonrect={service:Service.toption[@ocaml.doc"The Amazon Web Services service that is affected by the event. For example, EC2, RDS."];code:EventTypeCode.toption[@ocaml.doc"The unique identifier for the event type. The format is AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT."];category:EventTypeCategory.toption[@ocaml.doc"A list of event type category codes. Possible values are issue, accountNotification, or scheduledChange. Currently, the investigation value isn't supported at this time."];actionability:EventTypeActionability.toption[@ocaml.doc"The actionability classification of the event. Possible values are ACTION_REQUIRED, ACTION_MAY_BE_REQUIRED and INFORMATIONAL. Events with ACTION_REQUIRED actionability require customer action to resolve or mitigate the event. Events with ACTION_MAY_BE_REQUIRED actionability indicates that the current status is unknown or conditional and inspection is needed to determine if action is required. Events with INFORMATIONAL actionability are provided for awareness and do not require immediate action."];personas:EventTypePersonaList.toption[@ocaml.doc"A list of persona classifications that indicate the target audience for the event. Possible values are OPERATIONS, SECURITY, and BILLING. Events can be associated with multiple personas to indicate relevance to different teams or roles within an organization."]}letmake?service=fun?code->fun?category->fun?actionability->fun?personas->fun()->{service;code;category;actionability;personas}letto_valuex=structure_to_value[("service",(Option.mapx.service~f:Service.to_value));("code",(Option.mapx.code~f:EventTypeCode.to_value));("category",(Option.mapx.category~f:EventTypeCategory.to_value));("actionability",(Option.mapx.actionability~f:EventTypeActionability.to_value));("personas",(Option.mapx.personas~f:EventTypePersonaList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpersonas=(Option.map~f:EventTypePersonaList.of_xml)(Xml.childxml_arg0"personas")inletactionability=(Option.map~f:EventTypeActionability.of_xml)(Xml.childxml_arg0"actionability")inletcategory=(Option.map~f:EventTypeCategory.of_xml)(Xml.childxml_arg0"category")inletcode=(Option.map~f:EventTypeCode.of_xml)(Xml.childxml_arg0"code")inletservice=(Option.map~f:Service.of_xml)(Xml.childxml_arg0"service")inmake?personas?actionability?category?code?service()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpersonas=field_mapjson__"personas"EventTypePersonaList.of_jsoninletactionability=field_mapjson__"actionability"EventTypeActionability.of_jsoninletcategory=field_mapjson__"category"EventTypeCategory.of_jsoninletcode=field_mapjson__"code"EventTypeCode.of_jsoninletservice=field_mapjson__"service"Service.of_jsoninmake?personas?actionability?category?code?service()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the metadata about a type of event that is reported by Health. The EventType shows the category, service, and the event type code of the event. For example, an issue might be the category, EC2 the service, and AWS_EC2_SYSTEM_MAINTENANCE_EVENT the event type code. You can use the DescribeEventTypes API operation to return this information about an event. You can also use the Amazon CloudWatch Events console to create a rule so that you can get notified or take action when Health delivers a specific event to your Amazon Web Services account. For more information, see Monitor for Health events with Amazon CloudWatch Events in the Health User Guide."]moduleEventTypeActionabilityList=structtypenonrect=EventTypeActionability.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:3)>>=(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:EventTypeActionability.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:EventTypeActionability.of_xml)letof_jsonj=list_of_json~kind:"EventTypeActionabilityList"~of_json:EventTypeActionability.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventTypeCategoryList=structtypenonrect=EventTypeCategory.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventTypeCategory.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:EventTypeCategory.of_xml)letof_jsonj=list_of_json~kind:"EventTypeCategoryList"~of_json:EventTypeCategory.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventTypeCodeList=structtypenonrect=EventTypeCode.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventTypeCode.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:EventTypeCode.of_xml)letof_jsonj=list_of_json~kind:"EventTypeCodeList"~of_json:EventTypeCode.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventDetailsErrorItem=structtypenonrect={eventArn:EventArn.toption[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];errorName:String_.toption[@ocaml.doc"The name of the error."];errorMessage:String_.toption[@ocaml.doc"A message that describes the error."]}letmake?eventArn=fun?errorName->fun?errorMessage->fun()->{eventArn;errorName;errorMessage}letto_valuex=structure_to_value[("eventArn",(Option.mapx.eventArn~f:EventArn.to_value));("errorName",(Option.mapx.errorName~f:String_.to_value));("errorMessage",(Option.mapx.errorMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorMessage")inleterrorName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorName")inleteventArn=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"eventArn")inmake?errorMessage?errorName?eventArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"errorMessage"String_.of_jsoninleterrorName=field_mapjson__"errorName"String_.of_jsoninleteventArn=field_mapjson__"eventArn"EventArn.of_jsoninmake?errorMessage?errorName?eventArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information returned when a DescribeEventDetails operation can't find a specified event."]moduleEventDetails=structtypenonrect={event:Event.toption[@ocaml.doc"Summary information about the event."];eventDescription__lc1:EventDescription.toption[@ocaml.doc"The most recent description of the event."];eventMetadata:EventMetadata.toption[@ocaml.doc"Additional metadata about the event."]}letmake?event=fun?eventDescription__lc1->fun?eventMetadata->fun()->{event;eventDescription__lc1;eventMetadata}letto_valuex=structure_to_value[("event",(Option.mapx.event~f:Event.to_value));("EventDescription__lc1",(Option.mapx.eventDescription__lc1~f:EventDescription.to_value));("eventMetadata",(Option.mapx.eventMetadata~f:EventMetadata.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventMetadata=(Option.map~f:EventMetadata.of_xml)(Xml.childxml_arg0"eventMetadata")inleteventDescription__lc1=(Option.map~f:EventDescription.of_xml)(Xml.childxml_arg0"EventDescription__lc1")inletevent=(Option.map~f:Event.of_xml)(Xml.childxml_arg0"event")inmake?eventMetadata?eventDescription__lc1?event()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventMetadata=field_mapjson__"eventMetadata"EventMetadata.of_jsoninleteventDescription__lc1=field_mapjson__"EventDescription__lc1"EventDescription.of_jsoninletevent=field_mapjson__"event"Event.of_jsoninmake?eventMetadata?eventDescription__lc1?event()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Detailed information about an event. A combination of an Event object, an EventDescription object, and additional metadata about the event. Returned by the DescribeEventDetails operation."]moduleOrganizationEventDetailsErrorItem=structtypenonrect={awsAccountId:AccountId.toption[@ocaml.doc"Error information returned when a DescribeEventDetailsForOrganization operation can't find a specified event."];eventArn:EventArn.toption[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];errorName:String_.toption[@ocaml.doc"The name of the error."];errorMessage:String_.toption[@ocaml.doc"A message that describes the error. If you call the DescribeEventDetailsForOrganization operation and receive one of the following errors, follow the recommendations in the message: We couldn't find a public event that matches your request. To find an event that is account specific, you must enter an Amazon Web Services account ID in the request. We couldn't find an account specific event for the specified Amazon Web Services account. To find an event that is public, you must enter a null value for the Amazon Web Services account ID in the request. Your Amazon Web Services account doesn't include the Amazon Web Services Support plan required to use the Health API. You must have either a Business, Enterprise On-Ramp, or Enterprise Support plan."]}letmake?awsAccountId=fun?eventArn->fun?errorName->fun?errorMessage->fun()->{awsAccountId;eventArn;errorName;errorMessage}letto_valuex=structure_to_value[("awsAccountId",(Option.mapx.awsAccountId~f:AccountId.to_value));("eventArn",(Option.mapx.eventArn~f:EventArn.to_value));("errorName",(Option.mapx.errorName~f:String_.to_value));("errorMessage",(Option.mapx.errorMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorMessage")inleterrorName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorName")inleteventArn=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"eventArn")inletawsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"awsAccountId")inmake?errorMessage?errorName?eventArn?awsAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"errorMessage"String_.of_jsoninleterrorName=field_mapjson__"errorName"String_.of_jsoninleteventArn=field_mapjson__"eventArn"EventArn.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"AccountId.of_jsoninmake?errorMessage?errorName?eventArn?awsAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information returned when a DescribeEventDetailsForOrganization operation can't find a specified event."]moduleOrganizationEventDetails=structtypenonrect={awsAccountId:AccountId.toption[@ocaml.doc"The 12-digit Amazon Web Services account numbers that contains the affected entities."];event:Event.toption;eventDescription__lc1:EventDescription.toption;eventMetadata:EventMetadata.toption[@ocaml.doc"Additional metadata about the event."]}letmake?awsAccountId=fun?event->fun?eventDescription__lc1->fun?eventMetadata->fun()->{awsAccountId;event;eventDescription__lc1;eventMetadata}letto_valuex=structure_to_value[("awsAccountId",(Option.mapx.awsAccountId~f:AccountId.to_value));("event",(Option.mapx.event~f:Event.to_value));("EventDescription__lc1",(Option.mapx.eventDescription__lc1~f:EventDescription.to_value));("eventMetadata",(Option.mapx.eventMetadata~f:EventMetadata.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventMetadata=(Option.map~f:EventMetadata.of_xml)(Xml.childxml_arg0"eventMetadata")inleteventDescription__lc1=(Option.map~f:EventDescription.of_xml)(Xml.childxml_arg0"EventDescription__lc1")inletevent=(Option.map~f:Event.of_xml)(Xml.childxml_arg0"event")inletawsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"awsAccountId")inmake?eventMetadata?eventDescription__lc1?event?awsAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventMetadata=field_mapjson__"eventMetadata"EventMetadata.of_jsoninleteventDescription__lc1=field_mapjson__"EventDescription__lc1"EventDescription.of_jsoninletevent=field_mapjson__"event"Event.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"AccountId.of_jsoninmake?eventMetadata?eventDescription__lc1?event?awsAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Detailed information about an event. A combination of an Event object, an EventDescription object, and additional metadata about the event. Returned by the DescribeEventDetailsForOrganization operation."]moduleEventAccountFilter=structtypenonrect={eventArn:EventArn.t[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];awsAccountId:AccountId.toption[@ocaml.doc"The 12-digit Amazon Web Services account numbers that contains the affected entities."]}letcontext_="EventAccountFilter"letmake?awsAccountId=fun~eventArn->fun()->{awsAccountId;eventArn}letto_valuex=structure_to_value[("eventArn",(Some(EventArn.to_valuex.eventArn)));("awsAccountId",(Option.mapx.awsAccountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letawsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"awsAccountId")inleteventArn=EventArn.of_xml(Xml.child_exn~context:context_xml_arg0"eventArn")inmake?awsAccountId~eventArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letawsAccountId=field_mapjson__"awsAccountId"AccountId.of_jsoninleteventArn=field_map_exnjson__"eventArn"EventArn.of_jsoninmake?awsAccountId~eventArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The values used to filter results from the DescribeEventDetailsForOrganization and DescribeAffectedEntitiesForOrganization operations."]moduleEventAggregate=structtypenonrect={aggregateValue:AggregateValue.toption[@ocaml.doc"The issue type for the associated count."];count:Count.toption[@ocaml.doc"The number of events of the associated issue type."]}letmake?aggregateValue=fun?count->fun()->{aggregateValue;count}letto_valuex=structure_to_value[("aggregateValue",(Option.mapx.aggregateValue~f:AggregateValue.to_value));("count",(Option.mapx.count~f:Count.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcount=(Option.map~f:Count.of_xml)(Xml.childxml_arg0"count")inletaggregateValue=(Option.map~f:AggregateValue.of_xml)(Xml.childxml_arg0"aggregateValue")inmake?count?aggregateValue()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcount=field_mapjson__"count"Count.of_jsoninletaggregateValue=field_mapjson__"aggregateValue"AggregateValue.of_jsoninmake?count?aggregateValue()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The number of events of each issue type. Returned by the DescribeEventAggregates operation."]moduleEntityAggregate=structtypenonrect={eventArn:EventArn.toption[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];count:Count.toption[@ocaml.doc"The number of entities that match the criteria for the specified events."];statuses:EntityStatuses.toption[@ocaml.doc"The number of affected entities aggregated by the entity status codes."]}letmake?eventArn=fun?count->fun?statuses->fun()->{eventArn;count;statuses}letto_valuex=structure_to_value[("eventArn",(Option.mapx.eventArn~f:EventArn.to_value));("count",(Option.mapx.count~f:Count.to_value));("statuses",(Option.mapx.statuses~f:EntityStatuses.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatuses=(Option.map~f:EntityStatuses.of_xml)(Xml.childxml_arg0"statuses")inletcount=(Option.map~f:Count.of_xml)(Xml.childxml_arg0"count")inleteventArn=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"eventArn")inmake?statuses?count?eventArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatuses=field_mapjson__"statuses"EntityStatuses.of_jsoninletcount=field_mapjson__"count"Count.of_jsoninleteventArn=field_mapjson__"eventArn"EventArn.of_jsoninmake?statuses?count?eventArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The number of entities that are affected by one or more events. Returned by the DescribeEntityAggregates operation."]moduleOrganizationEntityAggregate=structtypenonrect={eventArn:EventArn.toption[@ocaml.doc"A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\""];count:Count.toption[@ocaml.doc"The number of entities for the organization that match the filter criteria for the specified events."];statuses:EntityStatuses.toption[@ocaml.doc"The number of affected entities aggregated by the entitiy status codes."];accounts:AccountEntityAggregatesList.toption[@ocaml.doc"A list of entity aggregates for each of the specified accounts in your organization that are affected by a specific event. If there are no awsAccountIds provided in the request, this field will be empty in the response."]}letmake?eventArn=fun?count->fun?statuses->fun?accounts->fun()->{eventArn;count;statuses;accounts}letto_valuex=structure_to_value[("eventArn",(Option.mapx.eventArn~f:EventArn.to_value));("count",(Option.mapx.count~f:Count.to_value));("statuses",(Option.mapx.statuses~f:EntityStatuses.to_value));("accounts",(Option.mapx.accounts~f:AccountEntityAggregatesList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccounts=(Option.map~f:AccountEntityAggregatesList.of_xml)(Xml.childxml_arg0"accounts")inletstatuses=(Option.map~f:EntityStatuses.of_xml)(Xml.childxml_arg0"statuses")inletcount=(Option.map~f:Count.of_xml)(Xml.childxml_arg0"count")inleteventArn=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"eventArn")inmake?accounts?statuses?count?eventArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccounts=field_mapjson__"accounts"AccountEntityAggregatesList.of_jsoninletstatuses=field_mapjson__"statuses"EntityStatuses.of_jsoninletcount=field_mapjson__"count"Count.of_jsoninleteventArn=field_mapjson__"eventArn"EventArn.of_jsoninmake?accounts?statuses?count?eventArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The aggregate results of entities affected by the specified event in your organization. The results are aggregated by the entity status codes for the specified set of accountsIDs."]moduleAffectedEntity=structtypenonrect={entityArn:EntityArn.toption[@ocaml.doc"The unique identifier for the entity. Format: arn:aws:health:entity-region:aws-account:entity/entity-id . Example: arn:aws:health:us-east-1:111222333444:entity/AVh5GGT7ul1arKr1sE1K"];eventArn:EventArn.toption[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];entityValue:EntityValue.toption[@ocaml.doc"The ID of the affected entity."];entityUrl:EntityUrl.toption[@ocaml.doc"The URL of the affected entity."];awsAccountId:AccountId.toption[@ocaml.doc"The 12-digit Amazon Web Services account number that contains the affected entity."];lastUpdatedTime:Timestamp.toption[@ocaml.doc"The most recent time that the entity was updated."];statusCode:EntityStatusCode.toption[@ocaml.doc"The most recent status of the entity affected by the event. The possible values are IMPAIRED, UNIMPAIRED, UNKNOWN, PENDING, and RESOLVED."];tags:TagSet.toption[@ocaml.doc"A map of entity tags attached to the affected entity. Currently, the tags property isn't supported."];entityMetadata:EntityMetadata.toption[@ocaml.doc"Additional metadata about the affected entity."]}letmake?entityArn=fun?eventArn->fun?entityValue->fun?entityUrl->fun?awsAccountId->fun?lastUpdatedTime->fun?statusCode->fun?tags->fun?entityMetadata->fun()->{entityArn;eventArn;entityValue;entityUrl;awsAccountId;lastUpdatedTime;statusCode;tags;entityMetadata}letto_valuex=structure_to_value[("entityArn",(Option.mapx.entityArn~f:EntityArn.to_value));("eventArn",(Option.mapx.eventArn~f:EventArn.to_value));("entityValue",(Option.mapx.entityValue~f:EntityValue.to_value));("entityUrl",(Option.mapx.entityUrl~f:EntityUrl.to_value));("awsAccountId",(Option.mapx.awsAccountId~f:AccountId.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:Timestamp.to_value));("statusCode",(Option.mapx.statusCode~f:EntityStatusCode.to_value));("tags",(Option.mapx.tags~f:TagSet.to_value));("entityMetadata",(Option.mapx.entityMetadata~f:EntityMetadata.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letentityMetadata=(Option.map~f:EntityMetadata.of_xml)(Xml.childxml_arg0"entityMetadata")inlettags=(Option.map~f:TagSet.of_xml)(Xml.childxml_arg0"tags")inletstatusCode=(Option.map~f:EntityStatusCode.of_xml)(Xml.childxml_arg0"statusCode")inletlastUpdatedTime=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletawsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"awsAccountId")inletentityUrl=(Option.map~f:EntityUrl.of_xml)(Xml.childxml_arg0"entityUrl")inletentityValue=(Option.map~f:EntityValue.of_xml)(Xml.childxml_arg0"entityValue")inleteventArn=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"eventArn")inletentityArn=(Option.map~f:EntityArn.of_xml)(Xml.childxml_arg0"entityArn")inmake?entityMetadata?tags?statusCode?lastUpdatedTime?awsAccountId?entityUrl?entityValue?eventArn?entityArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letentityMetadata=field_mapjson__"entityMetadata"EntityMetadata.of_jsoninlettags=field_mapjson__"tags"TagSet.of_jsoninletstatusCode=field_mapjson__"statusCode"EntityStatusCode.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"Timestamp.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"AccountId.of_jsoninletentityUrl=field_mapjson__"entityUrl"EntityUrl.of_jsoninletentityValue=field_mapjson__"entityValue"EntityValue.of_jsoninleteventArn=field_mapjson__"eventArn"EventArn.of_jsoninletentityArn=field_mapjson__"entityArn"EntityArn.of_jsoninmake?entityMetadata?tags?statusCode?lastUpdatedTime?awsAccountId?entityUrl?entityValue?eventArn?entityArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about an entity that is affected by a Health event."]moduleOrganizationAffectedEntitiesErrorItem=structtypenonrect={awsAccountId:AccountId.toption[@ocaml.doc"The 12-digit Amazon Web Services account numbers that contains the affected entities."];eventArn:EventArn.toption[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];errorName:String_.toption[@ocaml.doc"The name of the error."];errorMessage:String_.toption[@ocaml.doc"A message that describes the error. Follow the error message and retry your request. For example, the InvalidAccountInputError error message appears if you call the DescribeAffectedEntitiesForOrganization operation and specify the AccountSpecific value for the EventScopeCode parameter, but don't specify an Amazon Web Services account."]}letmake?awsAccountId=fun?eventArn->fun?errorName->fun?errorMessage->fun()->{awsAccountId;eventArn;errorName;errorMessage}letto_valuex=structure_to_value[("awsAccountId",(Option.mapx.awsAccountId~f:AccountId.to_value));("eventArn",(Option.mapx.eventArn~f:EventArn.to_value));("errorName",(Option.mapx.errorName~f:String_.to_value));("errorMessage",(Option.mapx.errorMessage~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorMessage")inleterrorName=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"errorName")inleteventArn=(Option.map~f:EventArn.of_xml)(Xml.childxml_arg0"eventArn")inletawsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"awsAccountId")inmake?errorMessage?errorName?eventArn?awsAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"errorMessage"String_.of_jsoninleterrorName=field_mapjson__"errorName"String_.of_jsoninleteventArn=field_mapjson__"eventArn"EventArn.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"AccountId.of_jsoninmake?errorMessage?errorName?eventArn?awsAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Error information returned when a DescribeAffectedEntitiesForOrganization operation can't find or process a specific entity."]moduleEntityAccountFilter=structtypenonrect={eventArn:EventArn.t[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];awsAccountId:AccountId.toption[@ocaml.doc"The 12-digit Amazon Web Services account numbers that contains the affected entities."];statusCodes:EntityStatusCodeList.toption[@ocaml.doc"A list of entity status codes."]}letcontext_="EntityAccountFilter"letmake?awsAccountId=fun?statusCodes->fun~eventArn->fun()->{awsAccountId;statusCodes;eventArn}letto_valuex=structure_to_value[("eventArn",(Some(EventArn.to_valuex.eventArn)));("awsAccountId",(Option.mapx.awsAccountId~f:AccountId.to_value));("statusCodes",(Option.mapx.statusCodes~f:EntityStatusCodeList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatusCodes=(Option.map~f:EntityStatusCodeList.of_xml)(Xml.childxml_arg0"statusCodes")inletawsAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"awsAccountId")inleteventArn=EventArn.of_xml(Xml.child_exn~context:context_xml_arg0"eventArn")inmake?statusCodes?awsAccountId~eventArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatusCodes=field_mapjson__"statusCodes"EntityStatusCodeList.of_jsoninletawsAccountId=field_mapjson__"awsAccountId"AccountId.of_jsoninleteventArn=field_map_exnjson__"eventArn"EventArn.of_jsoninmake?statusCodes?awsAccountId~eventArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A JSON set of elements including the awsAccountId, eventArn and a set of statusCodes."]moduleHealthServiceAccessStatusForOrganization=structtypenonrect=stringletcontext_="healthServiceAccessStatusForOrganization"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:"healthServiceAccessStatusForOrganization"jletto_json=simple_to_jsonto_valueendmoduleEventList=structtypenonrect=Event.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Event.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:Event.of_xml)letof_jsonj=list_of_json~kind:"EventList"~of_json:Event.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvalidPaginationToken=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The specified pagination token (nextToken) is not valid."]moduleUnsupportedLocale=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The specified locale is not supported."]moduleNextToken=structtypenonrect=stringletcontext_="nextToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:4)>>=(fun()->(check_string_maxi~max:10000)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9=/+_.-]{4,10000}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"nextToken"jletto_json=simple_to_jsonto_valueendmoduleEventFilter=structtypenonrect={actionabilities:EventActionabilityList.toption[@ocaml.doc"A list of actionability values to filter events. Use this to filter events based on whether they require action (ACTION_REQUIRED), may require action (ACTION_MAY_BE_REQUIRED) or are informational (INFORMATIONAL)."];eventArns:EventArnList.toption[@ocaml.doc"A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\""];eventTypeCodes:EventTypeList__lc1.toption[@ocaml.doc"A list of unique identifiers for event types. For example, \"AWS_EC2_SYSTEM_MAINTENANCE_EVENT\",\"AWS_RDS_MAINTENANCE_SCHEDULED\"."];services:ServiceList.toption[@ocaml.doc"The Amazon Web Services services associated with the event. For example, EC2, RDS."];regions:RegionList.toption[@ocaml.doc"A list of Amazon Web Services Regions."];availabilityZones:AvailabilityZones.toption[@ocaml.doc"A list of Amazon Web Services Availability Zones."];startTimes:DateTimeRangeList.toption[@ocaml.doc"A list of dates and times that the event began."];endTimes:DateTimeRangeList.toption[@ocaml.doc"A list of dates and times that the event ended."];lastUpdatedTimes:DateTimeRangeList.toption[@ocaml.doc"A list of dates and times that the event was last updated."];entityArns:EntityArnList.toption[@ocaml.doc"A list of entity ARNs (unique identifiers)."];entityValues:EntityValueList.toption[@ocaml.doc"A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e)."];eventTypeCategories:EventTypeCategoryList__lc1.toption[@ocaml.doc"A list of event type category codes. Possible values are issue, accountNotification, or scheduledChange. Currently, the investigation value isn't supported at this time."];tags:TagFilter.toption[@ocaml.doc"A map of entity tags attached to the affected entity. Currently, the tags property isn't supported."];eventStatusCodes:EventStatusCodeList.toption[@ocaml.doc"A list of event status codes."];personas:EventPersonaList.toption[@ocaml.doc"A list of persona values to filter events. Use this to filter events based on their target audience: OPERATIONS, SECURITY, or BILLING."]}letmake?actionabilities=fun?eventArns->fun?eventTypeCodes->fun?services->fun?regions->fun?availabilityZones->fun?startTimes->fun?endTimes->fun?lastUpdatedTimes->fun?entityArns->fun?entityValues->fun?eventTypeCategories->fun?tags->fun?eventStatusCodes->fun?personas->fun()->{actionabilities;eventArns;eventTypeCodes;services;regions;availabilityZones;startTimes;endTimes;lastUpdatedTimes;entityArns;entityValues;eventTypeCategories;tags;eventStatusCodes;personas}letto_valuex=structure_to_value[("actionabilities",(Option.mapx.actionabilities~f:EventActionabilityList.to_value));("eventArns",(Option.mapx.eventArns~f:EventArnList.to_value));("eventTypeCodes",(Option.mapx.eventTypeCodes~f:EventTypeList__lc1.to_value));("services",(Option.mapx.services~f:ServiceList.to_value));("regions",(Option.mapx.regions~f:RegionList.to_value));("availabilityZones",(Option.mapx.availabilityZones~f:AvailabilityZones.to_value));("startTimes",(Option.mapx.startTimes~f:DateTimeRangeList.to_value));("endTimes",(Option.mapx.endTimes~f:DateTimeRangeList.to_value));("lastUpdatedTimes",(Option.mapx.lastUpdatedTimes~f:DateTimeRangeList.to_value));("entityArns",(Option.mapx.entityArns~f:EntityArnList.to_value));("entityValues",(Option.mapx.entityValues~f:EntityValueList.to_value));("eventTypeCategories",(Option.mapx.eventTypeCategories~f:EventTypeCategoryList__lc1.to_value));("tags",(Option.mapx.tags~f:TagFilter.to_value));("eventStatusCodes",(Option.mapx.eventStatusCodes~f:EventStatusCodeList.to_value));("personas",(Option.mapx.personas~f:EventPersonaList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpersonas=(Option.map~f:EventPersonaList.of_xml)(Xml.childxml_arg0"personas")inleteventStatusCodes=(Option.map~f:EventStatusCodeList.of_xml)(Xml.childxml_arg0"eventStatusCodes")inlettags=(Option.map~f:TagFilter.of_xml)(Xml.childxml_arg0"tags")inleteventTypeCategories=(Option.map~f:EventTypeCategoryList__lc1.of_xml)(Xml.childxml_arg0"eventTypeCategories")inletentityValues=(Option.map~f:EntityValueList.of_xml)(Xml.childxml_arg0"entityValues")inletentityArns=(Option.map~f:EntityArnList.of_xml)(Xml.childxml_arg0"entityArns")inletlastUpdatedTimes=(Option.map~f:DateTimeRangeList.of_xml)(Xml.childxml_arg0"lastUpdatedTimes")inletendTimes=(Option.map~f:DateTimeRangeList.of_xml)(Xml.childxml_arg0"endTimes")inletstartTimes=(Option.map~f:DateTimeRangeList.of_xml)(Xml.childxml_arg0"startTimes")inletavailabilityZones=(Option.map~f:AvailabilityZones.of_xml)(Xml.childxml_arg0"availabilityZones")inletregions=(Option.map~f:RegionList.of_xml)(Xml.childxml_arg0"regions")inletservices=(Option.map~f:ServiceList.of_xml)(Xml.childxml_arg0"services")inleteventTypeCodes=(Option.map~f:EventTypeList__lc1.of_xml)(Xml.childxml_arg0"eventTypeCodes")inleteventArns=(Option.map~f:EventArnList.of_xml)(Xml.childxml_arg0"eventArns")inletactionabilities=(Option.map~f:EventActionabilityList.of_xml)(Xml.childxml_arg0"actionabilities")inmake?personas?eventStatusCodes?tags?eventTypeCategories?entityValues?entityArns?lastUpdatedTimes?endTimes?startTimes?availabilityZones?regions?services?eventTypeCodes?eventArns?actionabilities()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpersonas=field_mapjson__"personas"EventPersonaList.of_jsoninleteventStatusCodes=field_mapjson__"eventStatusCodes"EventStatusCodeList.of_jsoninlettags=field_mapjson__"tags"TagFilter.of_jsoninleteventTypeCategories=field_mapjson__"eventTypeCategories"EventTypeCategoryList__lc1.of_jsoninletentityValues=field_mapjson__"entityValues"EntityValueList.of_jsoninletentityArns=field_mapjson__"entityArns"EntityArnList.of_jsoninletlastUpdatedTimes=field_mapjson__"lastUpdatedTimes"DateTimeRangeList.of_jsoninletendTimes=field_mapjson__"endTimes"DateTimeRangeList.of_jsoninletstartTimes=field_mapjson__"startTimes"DateTimeRangeList.of_jsoninletavailabilityZones=field_mapjson__"availabilityZones"AvailabilityZones.of_jsoninletregions=field_mapjson__"regions"RegionList.of_jsoninletservices=field_mapjson__"services"ServiceList.of_jsoninleteventTypeCodes=field_mapjson__"eventTypeCodes"EventTypeList__lc1.of_jsoninleteventArns=field_mapjson__"eventArns"EventArnList.of_jsoninletactionabilities=field_mapjson__"actionabilities"EventActionabilityList.of_jsoninmake?personas?eventStatusCodes?tags?eventTypeCategories?entityValues?entityArns?lastUpdatedTimes?endTimes?startTimes?availabilityZones?regions?services?eventTypeCodes?eventArns?actionabilities()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The values to use to filter results from the DescribeEvents and DescribeEventAggregates operations."]moduleLocale=structtypenonrect=stringletcontext_="locale"letmakei=letopenResultinok_or_failwith((check_string_mini~min:2)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:".{2,256}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"locale"jletto_json=simple_to_jsonto_valueendmoduleMaxResultsLowerRange=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for maxResultsLowerRange"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleOrganizationEventList=structtypenonrect=OrganizationEvent.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OrganizationEvent.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:OrganizationEvent.of_xml)letof_jsonj=list_of_json~kind:"OrganizationEventList"~of_json:OrganizationEvent.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationEventFilter=structtypenonrect={actionabilities:EventActionabilityList.toption[@ocaml.doc"A list of actionability values to filter events. Use this to filter events based on whether they require action (ACTION_REQUIRED), may require action (ACTION_MAY_BE_REQUIRED) or are informational (INFORMATIONAL)."];eventTypeCodes:EventTypeList__lc1.toption[@ocaml.doc"A list of unique identifiers for event types. For example, \"AWS_EC2_SYSTEM_MAINTENANCE_EVENT\",\"AWS_RDS_MAINTENANCE_SCHEDULED\"."];awsAccountIds:AwsAccountIdsList.toption[@ocaml.doc"A list of 12-digit Amazon Web Services account numbers that contains the affected entities."];services:ServiceList.toption[@ocaml.doc"The Amazon Web Services services associated with the event. For example, EC2, RDS."];regions:RegionList.toption[@ocaml.doc"A list of Amazon Web Services Regions."];startTime:DateTimeRange.toption;endTime:DateTimeRange.toption;lastUpdatedTime:DateTimeRange.toption;entityArns:EntityArnList.toption[@ocaml.doc"A list of entity ARNs (unique identifiers)."];entityValues:EntityValueList.toption[@ocaml.doc"A list of entity identifiers, such as EC2 instance IDs (i-34ab692e) or EBS volumes (vol-426ab23e)."];eventTypeCategories:EventTypeCategoryList__lc1.toption[@ocaml.doc"A list of event type category codes. Possible values are issue, accountNotification, or scheduledChange. Currently, the investigation value isn't supported at this time."];eventStatusCodes:EventStatusCodeList.toption[@ocaml.doc"A list of event status codes."];personas:EventPersonaList.toption[@ocaml.doc"A list of persona values to filter events. Use this to filter events based on their target audience: OPERATIONS, SECURITY, or BILLING."]}letmake?actionabilities=fun?eventTypeCodes->fun?awsAccountIds->fun?services->fun?regions->fun?startTime->fun?endTime->fun?lastUpdatedTime->fun?entityArns->fun?entityValues->fun?eventTypeCategories->fun?eventStatusCodes->fun?personas->fun()->{actionabilities;eventTypeCodes;awsAccountIds;services;regions;startTime;endTime;lastUpdatedTime;entityArns;entityValues;eventTypeCategories;eventStatusCodes;personas}letto_valuex=structure_to_value[("actionabilities",(Option.mapx.actionabilities~f:EventActionabilityList.to_value));("eventTypeCodes",(Option.mapx.eventTypeCodes~f:EventTypeList__lc1.to_value));("awsAccountIds",(Option.mapx.awsAccountIds~f:AwsAccountIdsList.to_value));("services",(Option.mapx.services~f:ServiceList.to_value));("regions",(Option.mapx.regions~f:RegionList.to_value));("startTime",(Option.mapx.startTime~f:DateTimeRange.to_value));("endTime",(Option.mapx.endTime~f:DateTimeRange.to_value));("lastUpdatedTime",(Option.mapx.lastUpdatedTime~f:DateTimeRange.to_value));("entityArns",(Option.mapx.entityArns~f:EntityArnList.to_value));("entityValues",(Option.mapx.entityValues~f:EntityValueList.to_value));("eventTypeCategories",(Option.mapx.eventTypeCategories~f:EventTypeCategoryList__lc1.to_value));("eventStatusCodes",(Option.mapx.eventStatusCodes~f:EventStatusCodeList.to_value));("personas",(Option.mapx.personas~f:EventPersonaList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpersonas=(Option.map~f:EventPersonaList.of_xml)(Xml.childxml_arg0"personas")inleteventStatusCodes=(Option.map~f:EventStatusCodeList.of_xml)(Xml.childxml_arg0"eventStatusCodes")inleteventTypeCategories=(Option.map~f:EventTypeCategoryList__lc1.of_xml)(Xml.childxml_arg0"eventTypeCategories")inletentityValues=(Option.map~f:EntityValueList.of_xml)(Xml.childxml_arg0"entityValues")inletentityArns=(Option.map~f:EntityArnList.of_xml)(Xml.childxml_arg0"entityArns")inletlastUpdatedTime=(Option.map~f:DateTimeRange.of_xml)(Xml.childxml_arg0"lastUpdatedTime")inletendTime=(Option.map~f:DateTimeRange.of_xml)(Xml.childxml_arg0"endTime")inletstartTime=(Option.map~f:DateTimeRange.of_xml)(Xml.childxml_arg0"startTime")inletregions=(Option.map~f:RegionList.of_xml)(Xml.childxml_arg0"regions")inletservices=(Option.map~f:ServiceList.of_xml)(Xml.childxml_arg0"services")inletawsAccountIds=(Option.map~f:AwsAccountIdsList.of_xml)(Xml.childxml_arg0"awsAccountIds")inleteventTypeCodes=(Option.map~f:EventTypeList__lc1.of_xml)(Xml.childxml_arg0"eventTypeCodes")inletactionabilities=(Option.map~f:EventActionabilityList.of_xml)(Xml.childxml_arg0"actionabilities")inmake?personas?eventStatusCodes?eventTypeCategories?entityValues?entityArns?lastUpdatedTime?endTime?startTime?regions?services?awsAccountIds?eventTypeCodes?actionabilities()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpersonas=field_mapjson__"personas"EventPersonaList.of_jsoninleteventStatusCodes=field_mapjson__"eventStatusCodes"EventStatusCodeList.of_jsoninleteventTypeCategories=field_mapjson__"eventTypeCategories"EventTypeCategoryList__lc1.of_jsoninletentityValues=field_mapjson__"entityValues"EntityValueList.of_jsoninletentityArns=field_mapjson__"entityArns"EntityArnList.of_jsoninletlastUpdatedTime=field_mapjson__"lastUpdatedTime"DateTimeRange.of_jsoninletendTime=field_mapjson__"endTime"DateTimeRange.of_jsoninletstartTime=field_mapjson__"startTime"DateTimeRange.of_jsoninletregions=field_mapjson__"regions"RegionList.of_jsoninletservices=field_mapjson__"services"ServiceList.of_jsoninletawsAccountIds=field_mapjson__"awsAccountIds"AwsAccountIdsList.of_jsoninleteventTypeCodes=field_mapjson__"eventTypeCodes"EventTypeList__lc1.of_jsoninletactionabilities=field_mapjson__"actionabilities"EventActionabilityList.of_jsoninmake?personas?eventStatusCodes?eventTypeCategories?entityValues?entityArns?lastUpdatedTime?endTime?startTime?regions?services?awsAccountIds?eventTypeCodes?actionabilities()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The values to filter results from the DescribeEventsForOrganization operation."]moduleEventTypeList=structtypenonrect=EventType.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventType.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:EventType.of_xml)letof_jsonj=list_of_json~kind:"EventTypeList"~of_json:EventType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventTypeFilter=structtypenonrect={eventTypeCodes:EventTypeCodeList.toption[@ocaml.doc"A list of event type codes."];services:ServiceList.toption[@ocaml.doc"The Amazon Web Services services associated with the event. For example, EC2, RDS."];eventTypeCategories:EventTypeCategoryList.toption[@ocaml.doc"A list of event type category codes. Possible values are issue, accountNotification, or scheduledChange. Currently, the investigation value isn't supported at this time."];actionabilities:EventTypeActionabilityList.toption[@ocaml.doc"A list of actionability values to filter event types. Possible values are ACTION_REQUIRED, ACTION_MAY_BE_REQUIRED and INFORMATIONAL."];personas:EventTypePersonaList.toption[@ocaml.doc"A list of persona classifications to filter event types. Possible values are OPERATIONS, SECURITY, and BILLING."]}letmake?eventTypeCodes=fun?services->fun?eventTypeCategories->fun?actionabilities->fun?personas->fun()->{eventTypeCodes;services;eventTypeCategories;actionabilities;personas}letto_valuex=structure_to_value[("eventTypeCodes",(Option.mapx.eventTypeCodes~f:EventTypeCodeList.to_value));("services",(Option.mapx.services~f:ServiceList.to_value));("eventTypeCategories",(Option.mapx.eventTypeCategories~f:EventTypeCategoryList.to_value));("actionabilities",(Option.mapx.actionabilities~f:EventTypeActionabilityList.to_value));("personas",(Option.mapx.personas~f:EventTypePersonaList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpersonas=(Option.map~f:EventTypePersonaList.of_xml)(Xml.childxml_arg0"personas")inletactionabilities=(Option.map~f:EventTypeActionabilityList.of_xml)(Xml.childxml_arg0"actionabilities")inleteventTypeCategories=(Option.map~f:EventTypeCategoryList.of_xml)(Xml.childxml_arg0"eventTypeCategories")inletservices=(Option.map~f:ServiceList.of_xml)(Xml.childxml_arg0"services")inleteventTypeCodes=(Option.map~f:EventTypeCodeList.of_xml)(Xml.childxml_arg0"eventTypeCodes")inmake?personas?actionabilities?eventTypeCategories?services?eventTypeCodes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpersonas=field_mapjson__"personas"EventTypePersonaList.of_jsoninletactionabilities=field_mapjson__"actionabilities"EventTypeActionabilityList.of_jsoninleteventTypeCategories=field_mapjson__"eventTypeCategories"EventTypeCategoryList.of_jsoninletservices=field_mapjson__"services"ServiceList.of_jsoninleteventTypeCodes=field_mapjson__"eventTypeCodes"EventTypeCodeList.of_jsoninmake?personas?actionabilities?eventTypeCategories?services?eventTypeCodes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The values to use to filter results from the DescribeEventTypes operation."]moduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:10));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for maxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleDescribeEventDetailsFailedSet=structtypenonrect=EventDetailsErrorItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventDetailsErrorItem.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:EventDetailsErrorItem.of_xml)letof_jsonj=list_of_json~kind:"DescribeEventDetailsFailedSet"~of_json:EventDetailsErrorItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDescribeEventDetailsSuccessfulSet=structtypenonrect=EventDetails.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventDetails.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:EventDetails.of_xml)letof_jsonj=list_of_json~kind:"DescribeEventDetailsSuccessfulSet"~of_json:EventDetails.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDescribeEventDetailsForOrganizationFailedSet=structtypenonrect=OrganizationEventDetailsErrorItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OrganizationEventDetailsErrorItem.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:OrganizationEventDetailsErrorItem.of_xml)letof_jsonj=list_of_json~kind:"DescribeEventDetailsForOrganizationFailedSet"~of_json:OrganizationEventDetailsErrorItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDescribeEventDetailsForOrganizationSuccessfulSet=structtypenonrect=OrganizationEventDetails.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OrganizationEventDetails.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:OrganizationEventDetails.of_xml)letof_jsonj=list_of_json~kind:"DescribeEventDetailsForOrganizationSuccessfulSet"~of_json:OrganizationEventDetails.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationEventDetailFiltersList=structtypenonrect=EventAccountFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventAccountFilter.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:EventAccountFilter.of_xml)letof_jsonj=list_of_json~kind:"OrganizationEventDetailFiltersList"~of_json:EventAccountFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventAggregateList=structtypenonrect=EventAggregate.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventAggregate.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:EventAggregate.of_xml)letof_jsonj=list_of_json~kind:"EventAggregateList"~of_json:EventAggregate.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventAggregateField=structtypenonrect=|EventTypeCategory|Non_static_idofstringletmakei=iletto_string=function|EventTypeCategory->"eventTypeCategory"|Non_static_ids->sletof_string=function|"eventTypeCategory"->EventTypeCategory|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 eventAggregateField"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"eventAggregateField"j)letto_json=simple_to_jsonto_valueendmoduleEntityAggregateList=structtypenonrect=EntityAggregate.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EntityAggregate.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:EntityAggregate.of_xml)letof_jsonj=list_of_json~kind:"EntityAggregateList"~of_json:EntityAggregate.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEventArnsList=structtypenonrect=EventArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:50)>>=(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:EventArn.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:EventArn.of_xml)letof_jsonj=list_of_json~kind:"EventArnsList"~of_json:EventArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationEntityAggregatesList=structtypenonrect=OrganizationEntityAggregate.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OrganizationEntityAggregate.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:OrganizationEntityAggregate.of_xml)letof_jsonj=list_of_json~kind:"OrganizationEntityAggregatesList"~of_json:OrganizationEntityAggregate.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationAccountIdsList=structtypenonrect=AccountId.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:25)>>=(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:AccountId.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:AccountId.of_xml)letof_jsonj=list_of_json~kind:"OrganizationAccountIdsList"~of_json:AccountId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationEventArnsList=structtypenonrect=EventArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:25)>>=(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:EventArn.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:EventArn.of_xml)letof_jsonj=list_of_json~kind:"OrganizationEventArnsList"~of_json:EventArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEntityList=structtypenonrect=AffectedEntity.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AffectedEntity.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:AffectedEntity.of_xml)letof_jsonj=list_of_json~kind:"EntityList"~of_json:AffectedEntity.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleEntityFilter=structtypenonrect={eventArns:EventArnList.t[@ocaml.doc"A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\""];entityArns:EntityArnList.toption[@ocaml.doc"A list of entity ARNs (unique identifiers)."];entityValues:EntityValueList.toption[@ocaml.doc"A list of IDs for affected entities."];lastUpdatedTimes:DateTimeRangeList.toption[@ocaml.doc"A list of the most recent dates and times that the entity was updated."];tags:TagFilter.toption[@ocaml.doc"A map of entity tags attached to the affected entity. Currently, the tags property isn't supported."];statusCodes:EntityStatusCodeList.toption[@ocaml.doc"A list of entity status codes (IMPAIRED, UNIMPAIRED, or UNKNOWN)."]}letcontext_="EntityFilter"letmake?entityArns=fun?entityValues->fun?lastUpdatedTimes->fun?tags->fun?statusCodes->fun~eventArns->fun()->{entityArns;entityValues;lastUpdatedTimes;tags;statusCodes;eventArns}letto_valuex=structure_to_value[("eventArns",(Some(EventArnList.to_valuex.eventArns)));("entityArns",(Option.mapx.entityArns~f:EntityArnList.to_value));("entityValues",(Option.mapx.entityValues~f:EntityValueList.to_value));("lastUpdatedTimes",(Option.mapx.lastUpdatedTimes~f:DateTimeRangeList.to_value));("tags",(Option.mapx.tags~f:TagFilter.to_value));("statusCodes",(Option.mapx.statusCodes~f:EntityStatusCodeList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatusCodes=(Option.map~f:EntityStatusCodeList.of_xml)(Xml.childxml_arg0"statusCodes")inlettags=(Option.map~f:TagFilter.of_xml)(Xml.childxml_arg0"tags")inletlastUpdatedTimes=(Option.map~f:DateTimeRangeList.of_xml)(Xml.childxml_arg0"lastUpdatedTimes")inletentityValues=(Option.map~f:EntityValueList.of_xml)(Xml.childxml_arg0"entityValues")inletentityArns=(Option.map~f:EntityArnList.of_xml)(Xml.childxml_arg0"entityArns")inleteventArns=EventArnList.of_xml(Xml.child_exn~context:context_xml_arg0"eventArns")inmake?statusCodes?tags?lastUpdatedTimes?entityValues?entityArns~eventArns()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatusCodes=field_mapjson__"statusCodes"EntityStatusCodeList.of_jsoninlettags=field_mapjson__"tags"TagFilter.of_jsoninletlastUpdatedTimes=field_mapjson__"lastUpdatedTimes"DateTimeRangeList.of_jsoninletentityValues=field_mapjson__"entityValues"EntityValueList.of_jsoninletentityArns=field_mapjson__"entityArns"EntityArnList.of_jsoninleteventArns=field_map_exnjson__"eventArns"EventArnList.of_jsoninmake?statusCodes?tags?lastUpdatedTimes?entityValues?entityArns~eventArns()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The values to use to filter results from the DescribeAffectedEntities operation."]moduleDescribeAffectedEntitiesForOrganizationFailedSet=structtypenonrect=OrganizationAffectedEntitiesErrorItem.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:OrganizationAffectedEntitiesErrorItem.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:OrganizationAffectedEntitiesErrorItem.of_xml)letof_jsonj=list_of_json~kind:"DescribeAffectedEntitiesForOrganizationFailedSet"~of_json:OrganizationAffectedEntitiesErrorItem.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationEntityAccountFiltersList=structtypenonrect=EntityAccountFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EntityAccountFilter.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:EntityAccountFilter.of_xml)letof_jsonj=list_of_json~kind:"OrganizationEntityAccountFiltersList"~of_json:EntityAccountFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleOrganizationEntityFiltersList=structtypenonrect=EventAccountFilter.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:EventAccountFilter.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:EventAccountFilter.of_xml)letof_jsonj=list_of_json~kind:"OrganizationEntityFiltersList"~of_json:EventAccountFilter.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAffectedAccountsList=structtypenonrect=AccountId.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AccountId.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:AccountId.of_xml)letof_jsonj=list_of_json~kind:"affectedAccountsList"~of_json:AccountId.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDescribeHealthServiceStatusForOrganizationResponse=structtypenonrect={healthServiceAccessStatusForOrganization:HealthServiceAccessStatusForOrganization.toption[@ocaml.doc"Information about the status of enabling or disabling the Health organizational view feature in your organization. Valid values are ENABLED | DISABLED | PENDING."]}typenonrecerror=[`Unknown_operation_errorof(string*stringoption)]letmake?healthServiceAccessStatusForOrganization=fun()->{healthServiceAccessStatusForOrganization}leterror_of_jsonnamejson=matchnamewith|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("healthServiceAccessStatusForOrganization",(Option.mapx.healthServiceAccessStatusForOrganization~f:HealthServiceAccessStatusForOrganization.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethealthServiceAccessStatusForOrganization=(Option.map~f:HealthServiceAccessStatusForOrganization.of_xml)(Xml.childxml_arg0"healthServiceAccessStatusForOrganization")inmake?healthServiceAccessStatusForOrganization()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethealthServiceAccessStatusForOrganization=field_mapjson__"healthServiceAccessStatusForOrganization"HealthServiceAccessStatusForOrganization.of_jsoninmake?healthServiceAccessStatusForOrganization()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This operation provides status information on enabling or disabling Health to work with your organization. To call this operation, you must use the organization's management account."]moduleDescribeEventsResponse=structtypenonrect={events:EventList.toption[@ocaml.doc"The events that match the specified filter criteria."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."]}typenonrecerror=[`InvalidPaginationTokenofInvalidPaginationToken.t|`UnsupportedLocaleofUnsupportedLocale.t|`Unknown_operation_errorof(string*stringoption)]letmake?events=fun?nextToken->fun()->{events;nextToken}leterror_of_jsonnamejson=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_jsonjson)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_xmlxml)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidPaginationTokene->`Assoc[("error",(`String"InvalidPaginationToken"));("details",(InvalidPaginationToken.to_jsone))]|`UnsupportedLocalee->`Assoc[("error",(`String"UnsupportedLocale"));("details",(UnsupportedLocale.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("events",(Option.mapx.events~f:EventList.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletevents=(Option.map~f:EventList.of_xml)(Xml.childxml_arg0"events")inmake?nextToken?events()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletevents=field_mapjson__"events"EventList.of_jsoninmake?nextToken?events()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about events that meet the specified filter criteria. Events are returned in a summary form and do not include the detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeEventDetails and DescribeAffectedEntities operations. If no filter criteria are specified, all events are returned. Results are sorted by lastModifiedTime, starting with the most recent event. When you call the DescribeEvents operation and specify an entity for the entityValues parameter, Health might return public events that aren't specific to that resource. For example, if you call DescribeEvents and specify an ID for an Amazon Elastic Compute Cloud (Amazon EC2) instance, Health might return events that aren't specific to that resource or service. To get events that are specific to a service, use the services parameter in the filter object. For more information, see Event. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeEventsRequest=structtypenonrect={filter:EventFilter.toption[@ocaml.doc"Values to narrow the results returned."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."];maxResults:MaxResultsLowerRange.toption[@ocaml.doc"The maximum number of items to return in one batch, between 1 and 100, inclusive."];locale:Locale.toption[@ocaml.doc"The locale (language) to return information in. English (en) is the default and the only supported value at this time."]}letmake?filter=fun?nextToken->fun?maxResults->fun?locale->fun()->{filter;nextToken;maxResults;locale}letto_valuex=structure_to_value[("filter",(Option.mapx.filter~f:EventFilter.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResultsLowerRange.to_value));("locale",(Option.mapx.locale~f:Locale.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlocale=(Option.map~f:Locale.of_xml)(Xml.childxml_arg0"locale")inletmaxResults=(Option.map~f:MaxResultsLowerRange.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletfilter=(Option.map~f:EventFilter.of_xml)(Xml.childxml_arg0"filter")inmake?locale?maxResults?nextToken?filter()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlocale=field_mapjson__"locale"Locale.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResultsLowerRange.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletfilter=field_mapjson__"filter"EventFilter.of_jsoninmake?locale?maxResults?nextToken?filter()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about events that meet the specified filter criteria. Events are returned in a summary form and do not include the detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the DescribeEventDetails and DescribeAffectedEntities operations. If no filter criteria are specified, all events are returned. Results are sorted by lastModifiedTime, starting with the most recent event. When you call the DescribeEvents operation and specify an entity for the entityValues parameter, Health might return public events that aren't specific to that resource. For example, if you call DescribeEvents and specify an ID for an Amazon Elastic Compute Cloud (Amazon EC2) instance, Health might return events that aren't specific to that resource or service. To get events that are specific to a service, use the services parameter in the filter object. For more information, see Event. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeEventsForOrganizationResponse=structtypenonrect={events:OrganizationEventList.toption[@ocaml.doc"The events that match the specified filter criteria."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."]}typenonrecerror=[`InvalidPaginationTokenofInvalidPaginationToken.t|`UnsupportedLocaleofUnsupportedLocale.t|`Unknown_operation_errorof(string*stringoption)]letmake?events=fun?nextToken->fun()->{events;nextToken}leterror_of_jsonnamejson=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_jsonjson)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_xmlxml)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidPaginationTokene->`Assoc[("error",(`String"InvalidPaginationToken"));("details",(InvalidPaginationToken.to_jsone))]|`UnsupportedLocalee->`Assoc[("error",(`String"UnsupportedLocale"));("details",(UnsupportedLocale.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("events",(Option.mapx.events~f:OrganizationEventList.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletevents=(Option.map~f:OrganizationEventList.of_xml)(Xml.childxml_arg0"events")inmake?nextToken?events()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletevents=field_mapjson__"events"OrganizationEventList.of_jsoninmake?nextToken?events()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about events across your organization in Organizations. You can use thefilters parameter to specify the events that you want to return. Events are returned in a summary form and don't include the affected accounts, detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the following operations: DescribeAffectedAccountsForOrganization DescribeEventDetailsForOrganization DescribeAffectedEntitiesForOrganization If you don't specify a filter, the DescribeEventsForOrganizations returns all events across your organization. Results are sorted by lastModifiedTime, starting with the most recent event. For more information about the different types of Health events, see Event. Before you can call this operation, you must first enable Health to work with Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's management account. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeEventsForOrganizationRequest=structtypenonrect={filter:OrganizationEventFilter.toption[@ocaml.doc"Values to narrow the results returned."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."];maxResults:MaxResultsLowerRange.toption[@ocaml.doc"The maximum number of items to return in one batch, between 1 and 100, inclusive."];locale:Locale.toption[@ocaml.doc"The locale (language) to return information in. English (en) is the default and the only supported value at this time."]}letmake?filter=fun?nextToken->fun?maxResults->fun?locale->fun()->{filter;nextToken;maxResults;locale}letto_valuex=structure_to_value[("filter",(Option.mapx.filter~f:OrganizationEventFilter.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResultsLowerRange.to_value));("locale",(Option.mapx.locale~f:Locale.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlocale=(Option.map~f:Locale.of_xml)(Xml.childxml_arg0"locale")inletmaxResults=(Option.map~f:MaxResultsLowerRange.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletfilter=(Option.map~f:OrganizationEventFilter.of_xml)(Xml.childxml_arg0"filter")inmake?locale?maxResults?nextToken?filter()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlocale=field_mapjson__"locale"Locale.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResultsLowerRange.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletfilter=field_mapjson__"filter"OrganizationEventFilter.of_jsoninmake?locale?maxResults?nextToken?filter()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information about events across your organization in Organizations. You can use thefilters parameter to specify the events that you want to return. Events are returned in a summary form and don't include the affected accounts, detailed description, any additional metadata that depends on the event type, or any affected resources. To retrieve that information, use the following operations: DescribeAffectedAccountsForOrganization DescribeEventDetailsForOrganization DescribeAffectedEntitiesForOrganization If you don't specify a filter, the DescribeEventsForOrganizations returns all events across your organization. Results are sorted by lastModifiedTime, starting with the most recent event. For more information about the different types of Health events, see Event. Before you can call this operation, you must first enable Health to work with Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's management account. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeEventTypesResponse=structtypenonrect={eventTypes:EventTypeList.toption[@ocaml.doc"A list of event types that match the filter criteria. Event types have a category (issue, accountNotification, or scheduledChange), a service (for example, EC2, RDS, DATAPIPELINE, BILLING), and a code (in the format AWS_SERVICE_DESCRIPTION ; for example, AWS_EC2_SYSTEM_MAINTENANCE_EVENT)."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."]}typenonrecerror=[`InvalidPaginationTokenofInvalidPaginationToken.t|`UnsupportedLocaleofUnsupportedLocale.t|`Unknown_operation_errorof(string*stringoption)]letmake?eventTypes=fun?nextToken->fun()->{eventTypes;nextToken}leterror_of_jsonnamejson=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_jsonjson)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_xmlxml)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidPaginationTokene->`Assoc[("error",(`String"InvalidPaginationToken"));("details",(InvalidPaginationToken.to_jsone))]|`UnsupportedLocalee->`Assoc[("error",(`String"UnsupportedLocale"));("details",(UnsupportedLocale.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("eventTypes",(Option.mapx.eventTypes~f:EventTypeList.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inleteventTypes=(Option.map~f:EventTypeList.of_xml)(Xml.childxml_arg0"eventTypes")inmake?nextToken?eventTypes()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninleteventTypes=field_mapjson__"eventTypes"EventTypeList.of_jsoninmake?nextToken?eventTypes()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the event types that meet the specified filter criteria. You can use this API operation to find information about the Health event, such as the category, Amazon Web Services service, and event code. The metadata for each event appears in the EventType object. If you don't specify a filter criteria, the API operation returns all event types, in no particular order. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeEventTypesRequest=structtypenonrect={filter:EventTypeFilter.toption[@ocaml.doc"Values to narrow the results returned."];locale:Locale.toption[@ocaml.doc"The locale (language) to return information in. English (en) is the default and the only supported value at this time."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of items to return in one batch, between 10 and 100, inclusive. If you don't specify the maxResults parameter, this operation returns a maximum of 30 items by default."]}letmake?filter=fun?locale->fun?nextToken->fun?maxResults->fun()->{filter;locale;nextToken;maxResults}letto_valuex=structure_to_value[("filter",(Option.mapx.filter~f:EventTypeFilter.to_value));("locale",(Option.mapx.locale~f:Locale.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletlocale=(Option.map~f:Locale.of_xml)(Xml.childxml_arg0"locale")inletfilter=(Option.map~f:EventTypeFilter.of_xml)(Xml.childxml_arg0"filter")inmake?maxResults?nextToken?locale?filter()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletlocale=field_mapjson__"locale"Locale.of_jsoninletfilter=field_mapjson__"filter"EventTypeFilter.of_jsoninmake?maxResults?nextToken?locale?filter()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the event types that meet the specified filter criteria. You can use this API operation to find information about the Health event, such as the category, Amazon Web Services service, and event code. The metadata for each event appears in the EventType object. If you don't specify a filter criteria, the API operation returns all event types, in no particular order. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeEventDetailsResponse=structtypenonrect={successfulSet:DescribeEventDetailsSuccessfulSet.toption[@ocaml.doc"Information about the events that could be retrieved."];failedSet:DescribeEventDetailsFailedSet.toption[@ocaml.doc"Error messages for any events that could not be retrieved."]}typenonrecerror=[`UnsupportedLocaleofUnsupportedLocale.t|`Unknown_operation_errorof(string*stringoption)]letmake?successfulSet=fun?failedSet->fun()->{successfulSet;failedSet}leterror_of_jsonnamejson=matchnamewith|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`UnsupportedLocalee->`Assoc[("error",(`String"UnsupportedLocale"));("details",(UnsupportedLocale.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("successfulSet",(Option.mapx.successfulSet~f:DescribeEventDetailsSuccessfulSet.to_value));("failedSet",(Option.mapx.failedSet~f:DescribeEventDetailsFailedSet.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailedSet=(Option.map~f:DescribeEventDetailsFailedSet.of_xml)(Xml.childxml_arg0"failedSet")inletsuccessfulSet=(Option.map~f:DescribeEventDetailsSuccessfulSet.of_xml)(Xml.childxml_arg0"successfulSet")inmake?failedSet?successfulSet()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailedSet=field_mapjson__"failedSet"DescribeEventDetailsFailedSet.of_jsoninletsuccessfulSet=field_mapjson__"successfulSet"DescribeEventDetailsSuccessfulSet.of_jsoninmake?failedSet?successfulSet()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns detailed information about one or more specified events. Information includes standard event data (Amazon Web Services Region, service, and so on, as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included. To retrieve the entities, use the DescribeAffectedEntities operation. If a specified event can't be retrieved, an error message is returned for that event. This operation supports resource-level permissions. You can use this operation to allow or deny access to specific Health events. For more information, see Resource- and action-based conditions in the Health User Guide."]moduleDescribeEventDetailsRequest=structtypenonrect={eventArns:EventArnList.t[@ocaml.doc"A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\""];locale:Locale.toption[@ocaml.doc"The locale (language) to return information in. English (en) is the default and the only supported value at this time."]}letcontext_="DescribeEventDetailsRequest"letmake?locale=fun~eventArns->fun()->{locale;eventArns}letto_valuex=structure_to_value[("eventArns",(Some(EventArnList.to_valuex.eventArns)));("locale",(Option.mapx.locale~f:Locale.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlocale=(Option.map~f:Locale.of_xml)(Xml.childxml_arg0"locale")inleteventArns=EventArnList.of_xml(Xml.child_exn~context:context_xml_arg0"eventArns")inmake?locale~eventArns()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlocale=field_mapjson__"locale"Locale.of_jsoninleteventArns=field_map_exnjson__"eventArns"EventArnList.of_jsoninmake?locale~eventArns()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns detailed information about one or more specified events. Information includes standard event data (Amazon Web Services Region, service, and so on, as returned by DescribeEvents), a detailed event description, and possible additional metadata that depends upon the nature of the event. Affected entities are not included. To retrieve the entities, use the DescribeAffectedEntities operation. If a specified event can't be retrieved, an error message is returned for that event. This operation supports resource-level permissions. You can use this operation to allow or deny access to specific Health events. For more information, see Resource- and action-based conditions in the Health User Guide."]moduleDescribeEventDetailsForOrganizationResponse=structtypenonrect={successfulSet:DescribeEventDetailsForOrganizationSuccessfulSet.toption[@ocaml.doc"Information about the events that could be retrieved."];failedSet:DescribeEventDetailsForOrganizationFailedSet.toption[@ocaml.doc"Error messages for any events that could not be retrieved."]}typenonrecerror=[`UnsupportedLocaleofUnsupportedLocale.t|`Unknown_operation_errorof(string*stringoption)]letmake?successfulSet=fun?failedSet->fun()->{successfulSet;failedSet}leterror_of_jsonnamejson=matchnamewith|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`UnsupportedLocalee->`Assoc[("error",(`String"UnsupportedLocale"));("details",(UnsupportedLocale.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("successfulSet",(Option.mapx.successfulSet~f:DescribeEventDetailsForOrganizationSuccessfulSet.to_value));("failedSet",(Option.mapx.failedSet~f:DescribeEventDetailsForOrganizationFailedSet.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfailedSet=(Option.map~f:DescribeEventDetailsForOrganizationFailedSet.of_xml)(Xml.childxml_arg0"failedSet")inletsuccessfulSet=(Option.map~f:DescribeEventDetailsForOrganizationSuccessfulSet.of_xml)(Xml.childxml_arg0"successfulSet")inmake?failedSet?successfulSet()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfailedSet=field_mapjson__"failedSet"DescribeEventDetailsForOrganizationFailedSet.of_jsoninletsuccessfulSet=field_mapjson__"successfulSet"DescribeEventDetailsForOrganizationSuccessfulSet.of_jsoninmake?failedSet?successfulSet()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns detailed information about one or more specified events for one or more Amazon Web Services accounts in your organization. This information includes standard event data (such as the Amazon Web Services Region and service), an event description, and (depending on the event) possible metadata. This operation doesn't return affected entities, such as the resources related to the event. To return affected entities, use the DescribeAffectedEntitiesForOrganization operation. Before you can call this operation, you must first enable Health to work with Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's management account. When you call the DescribeEventDetailsForOrganization operation, specify the organizationEventDetailFilters object in the request. Depending on the Health event type, note the following differences: To return event details for a public event, you must specify a null value for the awsAccountId parameter. If you specify an account ID for a public event, Health returns an error message because public events aren't specific to an account. To return event details for an event that is specific to an account in your organization, you must specify the awsAccountId parameter in the request. If you don't specify an account ID, Health returns an error message because the event is specific to an account in your organization. For more information, see Event. This operation doesn't support resource-level permissions. You can't use this operation to allow or deny access to specific Health events. For more information, see Resource- and action-based conditions in the Health User Guide."]moduleDescribeEventDetailsForOrganizationRequest=structtypenonrect={organizationEventDetailFilters:OrganizationEventDetailFiltersList.t[@ocaml.doc"A set of JSON elements that includes the awsAccountId and the eventArn."];locale:Locale.toption[@ocaml.doc"The locale (language) to return information in. English (en) is the default and the only supported value at this time."]}letcontext_="DescribeEventDetailsForOrganizationRequest"letmake?locale=fun~organizationEventDetailFilters->fun()->{locale;organizationEventDetailFilters}letto_valuex=structure_to_value[("organizationEventDetailFilters",(Some(OrganizationEventDetailFiltersList.to_valuex.organizationEventDetailFilters)));("locale",(Option.mapx.locale~f:Locale.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlocale=(Option.map~f:Locale.of_xml)(Xml.childxml_arg0"locale")inletorganizationEventDetailFilters=OrganizationEventDetailFiltersList.of_xml(Xml.child_exn~context:context_xml_arg0"organizationEventDetailFilters")inmake?locale~organizationEventDetailFilters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlocale=field_mapjson__"locale"Locale.of_jsoninletorganizationEventDetailFilters=field_map_exnjson__"organizationEventDetailFilters"OrganizationEventDetailFiltersList.of_jsoninmake?locale~organizationEventDetailFilters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns detailed information about one or more specified events for one or more Amazon Web Services accounts in your organization. This information includes standard event data (such as the Amazon Web Services Region and service), an event description, and (depending on the event) possible metadata. This operation doesn't return affected entities, such as the resources related to the event. To return affected entities, use the DescribeAffectedEntitiesForOrganization operation. Before you can call this operation, you must first enable Health to work with Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's management account. When you call the DescribeEventDetailsForOrganization operation, specify the organizationEventDetailFilters object in the request. Depending on the Health event type, note the following differences: To return event details for a public event, you must specify a null value for the awsAccountId parameter. If you specify an account ID for a public event, Health returns an error message because public events aren't specific to an account. To return event details for an event that is specific to an account in your organization, you must specify the awsAccountId parameter in the request. If you don't specify an account ID, Health returns an error message because the event is specific to an account in your organization. For more information, see Event. This operation doesn't support resource-level permissions. You can't use this operation to allow or deny access to specific Health events. For more information, see Resource- and action-based conditions in the Health User Guide."]moduleDescribeEventAggregatesResponse=structtypenonrect={eventAggregates:EventAggregateList.toption[@ocaml.doc"The number of events in each category that meet the optional filter criteria."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."]}typenonrecerror=[`InvalidPaginationTokenofInvalidPaginationToken.t|`Unknown_operation_errorof(string*stringoption)]letmake?eventAggregates=fun?nextToken->fun()->{eventAggregates;nextToken}leterror_of_jsonnamejson=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidPaginationTokene->`Assoc[("error",(`String"InvalidPaginationToken"));("details",(InvalidPaginationToken.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("eventAggregates",(Option.mapx.eventAggregates~f:EventAggregateList.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inleteventAggregates=(Option.map~f:EventAggregateList.of_xml)(Xml.childxml_arg0"eventAggregates")inmake?nextToken?eventAggregates()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninleteventAggregates=field_mapjson__"eventAggregates"EventAggregateList.of_jsoninmake?nextToken?eventAggregates()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the number of events of each event type (issue, scheduled change, and account notification). If no filter is specified, the counts of all events in each category are returned. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeEventAggregatesRequest=structtypenonrect={filter:EventFilter.toption[@ocaml.doc"Values to narrow the results returned."];aggregateField:EventAggregateField.t[@ocaml.doc"The only currently supported value is eventTypeCategory."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of items to return in one batch, between 10 and 100, inclusive."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."]}letcontext_="DescribeEventAggregatesRequest"letmake?filter=fun?maxResults->fun?nextToken->fun~aggregateField->fun()->{filter;maxResults;nextToken;aggregateField}letto_valuex=structure_to_value[("filter",(Option.mapx.filter~f:EventFilter.to_value));("aggregateField",(Some(EventAggregateField.to_valuex.aggregateField)));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletaggregateField=EventAggregateField.of_xml(Xml.child_exn~context:context_xml_arg0"aggregateField")inletfilter=(Option.map~f:EventFilter.of_xml)(Xml.childxml_arg0"filter")inmake?nextToken?maxResults~aggregateField?filter()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletaggregateField=field_map_exnjson__"aggregateField"EventAggregateField.of_jsoninletfilter=field_mapjson__"filter"EventFilter.of_jsoninmake?nextToken?maxResults~aggregateField?filter()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the number of events of each event type (issue, scheduled change, and account notification). If no filter is specified, the counts of all events in each category are returned. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeEntityAggregatesResponse=structtypenonrect={entityAggregates:EntityAggregateList.toption[@ocaml.doc"The number of entities that are affected by each of the specified events."]}typenonrecerror=[`Unknown_operation_errorof(string*stringoption)]letmake?entityAggregates=fun()->{entityAggregates}leterror_of_jsonnamejson=matchnamewith|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("entityAggregates",(Option.mapx.entityAggregates~f:EntityAggregateList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letentityAggregates=(Option.map~f:EntityAggregateList.of_xml)(Xml.childxml_arg0"entityAggregates")inmake?entityAggregates()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letentityAggregates=field_mapjson__"entityAggregates"EntityAggregateList.of_jsoninmake?entityAggregates()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the number of entities that are affected by each of the specified events."]moduleDescribeEntityAggregatesRequest=structtypenonrect={eventArns:EventArnsList.toption[@ocaml.doc"A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\""]}letmake?eventArns=fun()->{eventArns}letto_valuex=structure_to_value[("eventArns",(Option.mapx.eventArns~f:EventArnsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leteventArns=(Option.map~f:EventArnsList.of_xml)(Xml.childxml_arg0"eventArns")inmake?eventArns()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leteventArns=field_mapjson__"eventArns"EventArnsList.of_jsoninmake?eventArns()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the number of entities that are affected by each of the specified events."]moduleDescribeEntityAggregatesForOrganizationResponse=structtypenonrect={organizationEntityAggregates:OrganizationEntityAggregatesList.toption[@ocaml.doc"The list of entity aggregates for each of the specified accounts that are affected by each of the specified events."]}typenonrecerror=[`Unknown_operation_errorof(string*stringoption)]letmake?organizationEntityAggregates=fun()->{organizationEntityAggregates}leterror_of_jsonnamejson=matchnamewith|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("organizationEntityAggregates",(Option.mapx.organizationEntityAggregates~f:OrganizationEntityAggregatesList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letorganizationEntityAggregates=(Option.map~f:OrganizationEntityAggregatesList.of_xml)(Xml.childxml_arg0"organizationEntityAggregates")inmake?organizationEntityAggregates()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letorganizationEntityAggregates=field_mapjson__"organizationEntityAggregates"OrganizationEntityAggregatesList.of_jsoninmake?organizationEntityAggregates()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of entity aggregates for your Organizations that are affected by each of the specified events."]moduleDescribeEntityAggregatesForOrganizationRequest=structtypenonrect={eventArns:OrganizationEventArnsList.t[@ocaml.doc"A list of event ARNs (unique identifiers). For example: \"arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-CDE456\", \"arn:aws:health:us-west-1::event/EBS/AWS_EBS_LOST_VOLUME/AWS_EBS_LOST_VOLUME_CHI789_JKL101\""];awsAccountIds:OrganizationAccountIdsList.toption[@ocaml.doc"A list of 12-digit Amazon Web Services account numbers that contains the affected entities."]}letcontext_="DescribeEntityAggregatesForOrganizationRequest"letmake?awsAccountIds=fun~eventArns->fun()->{awsAccountIds;eventArns}letto_valuex=structure_to_value[("eventArns",(Some(OrganizationEventArnsList.to_valuex.eventArns)));("awsAccountIds",(Option.mapx.awsAccountIds~f:OrganizationAccountIdsList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letawsAccountIds=(Option.map~f:OrganizationAccountIdsList.of_xml)(Xml.childxml_arg0"awsAccountIds")inleteventArns=OrganizationEventArnsList.of_xml(Xml.child_exn~context:context_xml_arg0"eventArns")inmake?awsAccountIds~eventArns()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letawsAccountIds=field_mapjson__"awsAccountIds"OrganizationAccountIdsList.of_jsoninleteventArns=field_map_exnjson__"eventArns"OrganizationEventArnsList.of_jsoninmake?awsAccountIds~eventArns()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of entity aggregates for your Organizations that are affected by each of the specified events."]moduleDescribeAffectedEntitiesResponse=structtypenonrect={entities:EntityList.toption[@ocaml.doc"The entities that match the filter criteria."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."]}typenonrecerror=[`InvalidPaginationTokenofInvalidPaginationToken.t|`UnsupportedLocaleofUnsupportedLocale.t|`Unknown_operation_errorof(string*stringoption)]letmake?entities=fun?nextToken->fun()->{entities;nextToken}leterror_of_jsonnamejson=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_jsonjson)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_xmlxml)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidPaginationTokene->`Assoc[("error",(`String"InvalidPaginationToken"));("details",(InvalidPaginationToken.to_jsone))]|`UnsupportedLocalee->`Assoc[("error",(`String"UnsupportedLocale"));("details",(UnsupportedLocale.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("entities",(Option.mapx.entities~f:EntityList.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletentities=(Option.map~f:EntityList.of_xml)(Xml.childxml_arg0"entities")inmake?nextToken?entities()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletentities=field_mapjson__"entities"EntityList.of_jsoninmake?nextToken?entities()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of entities that have been affected by the specified events, based on the specified filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the Amazon Web Services service. Events that have impact beyond that of the affected entities, or where the extent of impact is unknown, include at least one entity indicating this. At least one event ARN is required. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results. This operation supports resource-level permissions. You can use this operation to allow or deny access to specific Health events. For more information, see Resource- and action-based conditions in the Health User Guide."]moduleDescribeAffectedEntitiesRequest=structtypenonrect={filter:EntityFilter.t[@ocaml.doc"Values to narrow the results returned. At least one event ARN is required."];locale:Locale.toption[@ocaml.doc"The locale (language) to return information in. English (en) is the default and the only supported value at this time."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."];maxResults:MaxResultsLowerRange.toption[@ocaml.doc"The maximum number of items to return in one batch, between 1 and 100, inclusive."]}letcontext_="DescribeAffectedEntitiesRequest"letmake?locale=fun?nextToken->fun?maxResults->fun~filter->fun()->{locale;nextToken;maxResults;filter}letto_valuex=structure_to_value[("filter",(Some(EntityFilter.to_valuex.filter)));("locale",(Option.mapx.locale~f:Locale.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResultsLowerRange.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResultsLowerRange.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletlocale=(Option.map~f:Locale.of_xml)(Xml.childxml_arg0"locale")inletfilter=EntityFilter.of_xml(Xml.child_exn~context:context_xml_arg0"filter")inmake?maxResults?nextToken?locale~filter()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResultsLowerRange.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletlocale=field_mapjson__"locale"Locale.of_jsoninletfilter=field_map_exnjson__"filter"EntityFilter.of_jsoninmake?maxResults?nextToken?locale~filter()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of entities that have been affected by the specified events, based on the specified filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the Amazon Web Services service. Events that have impact beyond that of the affected entities, or where the extent of impact is unknown, include at least one entity indicating this. At least one event ARN is required. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results. This operation supports resource-level permissions. You can use this operation to allow or deny access to specific Health events. For more information, see Resource- and action-based conditions in the Health User Guide."]moduleDescribeAffectedEntitiesForOrganizationResponse=structtypenonrect={entities:EntityList.toption[@ocaml.doc"A JSON set of elements including the awsAccountId and its entityArn, entityValue and its entityArn, lastUpdatedTime, and statusCode."];failedSet:DescribeAffectedEntitiesForOrganizationFailedSet.toption[@ocaml.doc"A JSON set of elements of the failed response, including the awsAccountId, errorMessage, errorName, and eventArn."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."]}typenonrecerror=[`InvalidPaginationTokenofInvalidPaginationToken.t|`UnsupportedLocaleofUnsupportedLocale.t|`Unknown_operation_errorof(string*stringoption)]letmake?entities=fun?failedSet->fun?nextToken->fun()->{entities;failedSet;nextToken}leterror_of_jsonnamejson=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_jsonjson)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_xmlxml)|"UnsupportedLocale"->`UnsupportedLocale(UnsupportedLocale.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidPaginationTokene->`Assoc[("error",(`String"InvalidPaginationToken"));("details",(InvalidPaginationToken.to_jsone))]|`UnsupportedLocalee->`Assoc[("error",(`String"UnsupportedLocale"));("details",(UnsupportedLocale.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("entities",(Option.mapx.entities~f:EntityList.to_value));("failedSet",(Option.mapx.failedSet~f:DescribeAffectedEntitiesForOrganizationFailedSet.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletfailedSet=(Option.map~f:DescribeAffectedEntitiesForOrganizationFailedSet.of_xml)(Xml.childxml_arg0"failedSet")inletentities=(Option.map~f:EntityList.of_xml)(Xml.childxml_arg0"entities")inmake?nextToken?failedSet?entities()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletfailedSet=field_mapjson__"failedSet"DescribeAffectedEntitiesForOrganizationFailedSet.of_jsoninletentities=field_mapjson__"entities"EntityList.of_jsoninmake?nextToken?failedSet?entities()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of entities that have been affected by one or more events for one or more accounts in your organization in Organizations, based on the filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the Amazon Web Services service. At least one event Amazon Resource Name (ARN) and account ID are required. Before you can call this operation, you must first enable Health to work with Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's management account. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results. This operation doesn't support resource-level permissions. You can't use this operation to allow or deny access to specific Health events. For more information, see Resource- and action-based conditions in the Health User Guide."]moduleDescribeAffectedEntitiesForOrganizationRequest=structtypenonrect={organizationEntityFilters:OrganizationEntityFiltersList.toption[@ocaml.doc"A JSON set of elements including the awsAccountId and the eventArn."];locale:Locale.toption[@ocaml.doc"The locale (language) to return information in. English (en) is the default and the only supported value at this time."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."];maxResults:MaxResultsLowerRange.toption[@ocaml.doc"The maximum number of items to return in one batch, between 1 and 100, inclusive."];organizationEntityAccountFilters:OrganizationEntityAccountFiltersList.toption[@ocaml.doc"A JSON set of elements including the awsAccountId, eventArn and a set of statusCodes."]}letmake?organizationEntityFilters=fun?locale->fun?nextToken->fun?maxResults->fun?organizationEntityAccountFilters->fun()->{organizationEntityFilters;locale;nextToken;maxResults;organizationEntityAccountFilters}letto_valuex=structure_to_value[("organizationEntityFilters",(Option.mapx.organizationEntityFilters~f:OrganizationEntityFiltersList.to_value));("locale",(Option.mapx.locale~f:Locale.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResultsLowerRange.to_value));("organizationEntityAccountFilters",(Option.mapx.organizationEntityAccountFilters~f:OrganizationEntityAccountFiltersList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letorganizationEntityAccountFilters=(Option.map~f:OrganizationEntityAccountFiltersList.of_xml)(Xml.childxml_arg0"organizationEntityAccountFilters")inletmaxResults=(Option.map~f:MaxResultsLowerRange.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletlocale=(Option.map~f:Locale.of_xml)(Xml.childxml_arg0"locale")inletorganizationEntityFilters=(Option.map~f:OrganizationEntityFiltersList.of_xml)(Xml.childxml_arg0"organizationEntityFilters")inmake?organizationEntityAccountFilters?maxResults?nextToken?locale?organizationEntityFilters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letorganizationEntityAccountFilters=field_mapjson__"organizationEntityAccountFilters"OrganizationEntityAccountFiltersList.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResultsLowerRange.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletlocale=field_mapjson__"locale"Locale.of_jsoninletorganizationEntityFilters=field_mapjson__"organizationEntityFilters"OrganizationEntityFiltersList.of_jsoninmake?organizationEntityAccountFilters?maxResults?nextToken?locale?organizationEntityFilters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of entities that have been affected by one or more events for one or more accounts in your organization in Organizations, based on the filter criteria. Entities can refer to individual customer resources, groups of customer resources, or any other construct, depending on the Amazon Web Services service. At least one event Amazon Resource Name (ARN) and account ID are required. Before you can call this operation, you must first enable Health to work with Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's management account. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results. This operation doesn't support resource-level permissions. You can't use this operation to allow or deny access to specific Health events. For more information, see Resource- and action-based conditions in the Health User Guide."]moduleDescribeAffectedAccountsForOrganizationResponse=structtypenonrect={affectedAccounts:AffectedAccountsList.toption[@ocaml.doc"A JSON set of elements of the affected accounts."];eventScopeCode:EventScopeCode.toption[@ocaml.doc"This parameter specifies if the Health event is a public Amazon Web Services service event or an account-specific event. If the eventScopeCode value is PUBLIC, then the affectedAccounts value is always empty. If the eventScopeCode value is ACCOUNT_SPECIFIC, then the affectedAccounts value lists the affected Amazon Web Services accounts in your organization. For example, if an event affects a service such as Amazon Elastic Compute Cloud and you have Amazon Web Services accounts that use that service, those account IDs appear in the response. If the eventScopeCode value is NONE, then the eventArn that you specified in the request is invalid or doesn't exist."];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."]}typenonrecerror=[`InvalidPaginationTokenofInvalidPaginationToken.t|`Unknown_operation_errorof(string*stringoption)]letmake?affectedAccounts=fun?eventScopeCode->fun?nextToken->fun()->{affectedAccounts;eventScopeCode;nextToken}leterror_of_jsonnamejson=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidPaginationToken"->`InvalidPaginationToken(InvalidPaginationToken.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidPaginationTokene->`Assoc[("error",(`String"InvalidPaginationToken"));("details",(InvalidPaginationToken.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("affectedAccounts",(Option.mapx.affectedAccounts~f:AffectedAccountsList.to_value));("eventScopeCode",(Option.mapx.eventScopeCode~f:EventScopeCode.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inleteventScopeCode=(Option.map~f:EventScopeCode.of_xml)(Xml.childxml_arg0"eventScopeCode")inletaffectedAccounts=(Option.map~f:AffectedAccountsList.of_xml)(Xml.childxml_arg0"affectedAccounts")inmake?nextToken?eventScopeCode?affectedAccounts()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninleteventScopeCode=field_mapjson__"eventScopeCode"EventScopeCode.of_jsoninletaffectedAccounts=field_mapjson__"affectedAccounts"AffectedAccountsList.of_jsoninmake?nextToken?eventScopeCode?affectedAccounts()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of accounts in the organization from Organizations that are affected by the provided event. For more information about the different types of Health events, see Event. Before you can call this operation, you must first enable Health to work with Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's management account. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleDescribeAffectedAccountsForOrganizationRequest=structtypenonrect={eventArn:EventArn.t[@ocaml.doc"The unique identifier for the event. The event ARN has the arn:aws:health:event-region::event/SERVICE/EVENT_TYPE_CODE/EVENT_TYPE_PLUS_ID format. For example, an event ARN might look like the following: arn:aws:health:us-east-1::event/EC2/EC2_INSTANCE_RETIREMENT_SCHEDULED/EC2_INSTANCE_RETIREMENT_SCHEDULED_ABC123-DEF456"];nextToken:NextToken.toption[@ocaml.doc"If the results of a search are large, only a portion of the results are returned, and a nextToken pagination token is returned in the response. To retrieve the next batch of results, reissue the search request and include the returned token. When all results have been returned, the response does not contain a pagination token value."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of items to return in one batch, between 10 and 100, inclusive."]}letcontext_="DescribeAffectedAccountsForOrganizationRequest"letmake?nextToken=fun?maxResults->fun~eventArn->fun()->{nextToken;maxResults;eventArn}letto_valuex=structure_to_value[("eventArn",(Some(EventArn.to_valuex.eventArn)));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inleteventArn=EventArn.of_xml(Xml.child_exn~context:context_xml_arg0"eventArn")inmake?maxResults?nextToken~eventArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninleteventArn=field_map_exnjson__"eventArn"EventArn.of_jsoninmake?maxResults?nextToken~eventArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of accounts in the organization from Organizations that are affected by the provided event. For more information about the different types of Health events, see Event. Before you can call this operation, you must first enable Health to work with Organizations. To do this, call the EnableHealthServiceAccessForOrganization operation from your organization's management account. This API operation uses pagination. Specify the nextToken parameter in the next request to return more results."]moduleConcurrentModificationException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"EnableHealthServiceAccessForOrganization is already in progress. Wait for the action to complete before trying again. To get the current status, use the DescribeHealthServiceStatusForOrganization operation."]