12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594(* 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.accountletapiVersion="2021-02-01"letendpointPrefix="account"letserviceFullName="AWS Account"letsignatureVersion="v4"letprotocol="rest_json"letglobalEndpoint=endpointPrefix^".amazonaws.com"letsimple_to_jsonto_valuex=Botodata.Json.value_to_json_scalar(to_valuex)letcomposed_to_jsonto_valuex=Botodata.Json.value_to_json(to_valuex)letto_queryto_valuex=Client.Query.of_value(to_valuex)letstructure_to_value_auxst~f=letfilter=function|(k,Somev)->Some(k,v)|_->Noneinletpairkv=(k,v)inletdefer_value(k,dv)=pairkdvin((List.filter_mapst~f:filter)|>(List.map~f:defer_value))|>(funx->`Structure(fx))letstructure_to_value=structure_to_value_aux~f:Fn.idletstructure_to_wrapped_value~wrapper~response=structure_to_value_aux~f:(funx->[(wrapper,(`Structurex));(response,(`Structure[]))])moduleSensitiveString=structtypenonrect=stringletcontext_="SensitiveString"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:"SensitiveString"jletto_json=simple_to_jsonto_valueendmoduleString_=structtypenonrect=stringletcontext_="String"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_valueendmoduleValidationExceptionField=structtypenonrect={name:String_.toption[@ocaml.doc"The field name where the invalid entry was detected."];message:SensitiveString.toption[@ocaml.doc"A message about the validation exception."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.to_value));("message",(Option.mapx.message~f:SensitiveString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"message")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?message?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"SensitiveString.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input failed to meet the constraints specified by the Amazon Web Services service in a specified field."]moduleRegionName=structtypenonrect=stringletcontext_="RegionName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"RegionName"jletto_json=simple_to_jsonto_valueendmoduleRegionOptStatus=structtypenonrect=|ENABLED|ENABLING|DISABLING|DISABLED|ENABLED_BY_DEFAULT|Non_static_idofstringletmakei=iletto_string=function|ENABLED->"ENABLED"|ENABLING->"ENABLING"|DISABLING->"DISABLING"|DISABLED->"DISABLED"|ENABLED_BY_DEFAULT->"ENABLED_BY_DEFAULT"|Non_static_ids->sletof_string=function|"ENABLED"->ENABLED|"ENABLING"->ENABLING|"DISABLING"->DISABLING|"DISABLED"->DISABLED|"ENABLED_BY_DEFAULT"->ENABLED_BY_DEFAULT|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 RegionOptStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"RegionOptStatus"j)letto_json=simple_to_jsonto_valueendmoduleValidationExceptionFieldList=structtypenonrect=ValidationExceptionField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ValidationExceptionField.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:ValidationExceptionField.of_xml)letof_jsonj=list_of_json~kind:"ValidationExceptionFieldList"~of_json:ValidationExceptionField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleValidationExceptionReason=structtypenonrect=|InvalidRegionOptTarget|FieldValidationFailed|Non_static_idofstringletmakei=iletto_string=function|InvalidRegionOptTarget->"invalidRegionOptTarget"|FieldValidationFailed->"fieldValidationFailed"|Non_static_ids->sletof_string=function|"invalidRegionOptTarget"->InvalidRegionOptTarget|"fieldValidationFailed"->FieldValidationFailed|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ValidationExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ValidationExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleAddressLine=structtypenonrect=stringletcontext_="AddressLine"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:60)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AddressLine"jletto_json=simple_to_jsonto_valueendmoduleCity=structtypenonrect=stringletcontext_="City"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"City"jletto_json=simple_to_jsonto_valueendmoduleCompanyName=structtypenonrect=stringletcontext_="CompanyName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CompanyName"jletto_json=simple_to_jsonto_valueendmoduleContactInformationPhoneNumber=structtypenonrect=stringletcontext_="ContactInformationPhoneNumber"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:20)>>=(fun()->check_patterni~pattern:"[+][\\s0-9()-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ContactInformationPhoneNumber"jletto_json=simple_to_jsonto_valueendmoduleCountryCode=structtypenonrect=stringletcontext_="CountryCode"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2)>>=(fun()->check_string_mini~min:2));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CountryCode"jletto_json=simple_to_jsonto_valueendmoduleDistrictOrCounty=structtypenonrect=stringletcontext_="DistrictOrCounty"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DistrictOrCounty"jletto_json=simple_to_jsonto_valueendmoduleFullName=structtypenonrect=stringletcontext_="FullName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FullName"jletto_json=simple_to_jsonto_valueendmodulePostalCode=structtypenonrect=stringletcontext_="PostalCode"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:20)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PostalCode"jletto_json=simple_to_jsonto_valueendmoduleStateOrRegion=structtypenonrect=stringletcontext_="StateOrRegion"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StateOrRegion"jletto_json=simple_to_jsonto_valueendmoduleWebsiteUrl=structtypenonrect=stringletcontext_="WebsiteUrl"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"WebsiteUrl"jletto_json=simple_to_jsonto_valueendmoduleRegion=structtypenonrect={regionName:RegionName.toption[@ocaml.doc"The Region code of a given Region (for example, us-east-1)."];regionOptStatus:RegionOptStatus.toption[@ocaml.doc"One of potential statuses a Region can undergo (Enabled, Enabling, Disabled, Disabling, Enabled_By_Default)."]}letmake?regionName=fun?regionOptStatus->fun()->{regionName;regionOptStatus}letto_valuex=structure_to_value[("RegionName",(Option.mapx.regionName~f:RegionName.to_value));("RegionOptStatus",(Option.mapx.regionOptStatus~f:RegionOptStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregionOptStatus=(Option.map~f:RegionOptStatus.of_xml)(Xml.childxml_arg0"RegionOptStatus")inletregionName=(Option.map~f:RegionName.of_xml)(Xml.childxml_arg0"RegionName")inmake?regionOptStatus?regionName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregionOptStatus=field_mapjson__"RegionOptStatus"RegionOptStatus.of_jsoninletregionName=field_mapjson__"RegionName"RegionName.of_jsoninmake?regionOptStatus?regionName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This is a structure that expresses the Region for a given account, consisting of a name and opt-in status."]moduleAlternateContactType=structtypenonrect=|BILLING|OPERATIONS|SECURITY|Non_static_idofstringletmakei=iletto_string=function|BILLING->"BILLING"|OPERATIONS->"OPERATIONS"|SECURITY->"SECURITY"|Non_static_ids->sletof_string=function|"BILLING"->BILLING|"OPERATIONS"->OPERATIONS|"SECURITY"->SECURITY|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 AlternateContactType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AlternateContactType"j)letto_json=simple_to_jsonto_valueendmoduleEmailAddress=structtypenonrect=stringletcontext_="EmailAddress"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:254)>>=(fun()->check_patterni~pattern:"[\\s]*[\\w+=.#|!&-]+@[\\w.-]+\\.[\\w]+[\\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:"EmailAddress"jletto_json=simple_to_jsonto_valueendmoduleName=structtypenonrect=stringletcontext_="Name"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:64)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Name"jletto_json=simple_to_jsonto_valueendmodulePhoneNumber=structtypenonrect=stringletcontext_="PhoneNumber"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:25)>>=(fun()->check_patterni~pattern:"[\\s0-9()+-]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PhoneNumber"jletto_json=simple_to_jsonto_valueendmoduleTitle=structtypenonrect=stringletcontext_="Title"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Title"jletto_json=simple_to_jsonto_valueendmoduleAccessDeniedException=structtypenonrect={message:String_.toption;errorType:String_.toption[@ocaml.doc"The value populated to the x-amzn-ErrorType response header by API Gateway."]}letmake?message=fun?errorType->fun()->{message;errorType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.errorType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?errorType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorType=field_mapjson__"errorType"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?errorType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation failed because the calling identity doesn't have the minimum required permissions."]moduleConflictException=structtypenonrect={message:String_.toption;errorType:String_.toption[@ocaml.doc"The value populated to the x-amzn-ErrorType response header by API Gateway."]}letmake?message=fun?errorType->fun()->{message;errorType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.errorType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?errorType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorType=field_mapjson__"errorType"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?errorType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request could not be processed because of a conflict in the current status of the resource. For example, this happens if you try to enable a Region that is currently being disabled (in a status of DISABLING) or if you try to change an account\226\128\153s root user email to an email address which is already in use."]moduleInternalServerException=structtypenonrect={message:String_.toption;errorType:String_.toption[@ocaml.doc"The value populated to the x-amzn-ErrorType response header by API Gateway."]}letmake?message=fun?errorType->fun()->{message;errorType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.errorType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?errorType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorType=field_mapjson__"errorType"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?errorType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation failed because of an error internal to Amazon Web Services. Try your operation again later."]modulePrimaryEmailUpdateStatus=structtypenonrect=|PENDING|ACCEPTED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|ACCEPTED->"ACCEPTED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"ACCEPTED"->ACCEPTED|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 PrimaryEmailUpdateStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"PrimaryEmailUpdateStatus"j)letto_json=simple_to_jsonto_valueendmoduleResourceNotFoundException=structtypenonrect={message:String_.toption;errorType:String_.toption[@ocaml.doc"The value populated to the x-amzn-ErrorType response header by API Gateway."]}letmake?message=fun?errorType->fun()->{message;errorType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.errorType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?errorType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorType=field_mapjson__"errorType"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?errorType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation failed because it specified a resource that can't be found."]moduleTooManyRequestsException=structtypenonrect={message:String_.toption;errorType:String_.toption[@ocaml.doc"The value populated to the x-amzn-ErrorType response header by API Gateway."]}letmake?message=fun?errorType->fun()->{message;errorType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.errorType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?errorType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorType=field_mapjson__"errorType"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?errorType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation failed because it was called too frequently and exceeded a throttle limit."]moduleValidationException=structtypenonrect={message:SensitiveString.toption[@ocaml.doc"The message that informs you about what was invalid about the request."];reason:ValidationExceptionReason.toption[@ocaml.doc"The reason that validation failed."];fieldList:ValidationExceptionFieldList.toption[@ocaml.doc"The field where the invalid entry was detected."]}letmake?message=fun?reason->fun?fieldList->fun()->{message;reason;fieldList}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:SensitiveString.to_value));("reason",(Option.mapx.reason~f:ValidationExceptionReason.to_value));("fieldList",(Option.mapx.fieldList~f:ValidationExceptionFieldList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfieldList=(Option.map~f:ValidationExceptionFieldList.of_xml)(Xml.childxml_arg0"fieldList")inletreason=(Option.map~f:ValidationExceptionReason.of_xml)(Xml.childxml_arg0"reason")inletmessage=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"message")inmake?fieldList?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfieldList=field_mapjson__"fieldList"ValidationExceptionFieldList.of_jsoninletreason=field_mapjson__"reason"ValidationExceptionReason.of_jsoninletmessage=field_mapjson__"message"SensitiveString.of_jsoninmake?fieldList?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation failed because one of the input parameters was invalid."]moduleAccountId=structtypenonrect=stringletcontext_="AccountId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"\\d{12}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountId"jletto_json=simple_to_jsonto_valueendmodulePrimaryEmailAddress=structtypenonrect=stringletcontext_="PrimaryEmailAddress"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:64)>>=(fun()->check_string_mini~min:5));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PrimaryEmailAddress"jletto_json=simple_to_jsonto_valueendmoduleContactInformation=structtypenonrect={fullName:FullName.t[@ocaml.doc"The full name of the primary contact address."];addressLine1:AddressLine.t[@ocaml.doc"The first line of the primary contact address."];addressLine2:AddressLine.toption[@ocaml.doc"The second line of the primary contact address, if any."];addressLine3:AddressLine.toption[@ocaml.doc"The third line of the primary contact address, if any."];city:City.t[@ocaml.doc"The city of the primary contact address."];stateOrRegion:StateOrRegion.toption[@ocaml.doc"The state or region of the primary contact address. If the mailing address is within the United States (US), the value in this field can be either a two character state code (for example, NJ) or the full state name (for example, New Jersey). This field is required in the following countries: US, CA, GB, DE, JP, IN, and BR."];districtOrCounty:DistrictOrCounty.toption[@ocaml.doc"The district or county of the primary contact address, if any."];postalCode:PostalCode.t[@ocaml.doc"The postal code of the primary contact address."];countryCode:CountryCode.t[@ocaml.doc"The ISO-3166 two-letter country code for the primary contact address."];phoneNumber:ContactInformationPhoneNumber.t[@ocaml.doc"The phone number of the primary contact information. The number will be validated and, in some countries, checked for activation."];companyName:CompanyName.toption[@ocaml.doc"The name of the company associated with the primary contact information, if any."];websiteUrl:WebsiteUrl.toption[@ocaml.doc"The URL of the website associated with the primary contact information, if any."]}letcontext_="ContactInformation"letmake?addressLine2=fun?addressLine3->fun?stateOrRegion->fun?districtOrCounty->fun?companyName->fun?websiteUrl->fun~fullName->fun~addressLine1->fun~city->fun~postalCode->fun~countryCode->fun~phoneNumber->fun()->{addressLine2;addressLine3;stateOrRegion;districtOrCounty;companyName;websiteUrl;fullName;addressLine1;city;postalCode;countryCode;phoneNumber}letto_valuex=structure_to_value[("FullName",(Some(FullName.to_valuex.fullName)));("AddressLine1",(Some(AddressLine.to_valuex.addressLine1)));("AddressLine2",(Option.mapx.addressLine2~f:AddressLine.to_value));("AddressLine3",(Option.mapx.addressLine3~f:AddressLine.to_value));("City",(Some(City.to_valuex.city)));("StateOrRegion",(Option.mapx.stateOrRegion~f:StateOrRegion.to_value));("DistrictOrCounty",(Option.mapx.districtOrCounty~f:DistrictOrCounty.to_value));("PostalCode",(Some(PostalCode.to_valuex.postalCode)));("CountryCode",(Some(CountryCode.to_valuex.countryCode)));("PhoneNumber",(Some(ContactInformationPhoneNumber.to_valuex.phoneNumber)));("CompanyName",(Option.mapx.companyName~f:CompanyName.to_value));("WebsiteUrl",(Option.mapx.websiteUrl~f:WebsiteUrl.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letwebsiteUrl=(Option.map~f:WebsiteUrl.of_xml)(Xml.childxml_arg0"WebsiteUrl")inletcompanyName=(Option.map~f:CompanyName.of_xml)(Xml.childxml_arg0"CompanyName")inletphoneNumber=ContactInformationPhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"PhoneNumber")inletcountryCode=CountryCode.of_xml(Xml.child_exn~context:context_xml_arg0"CountryCode")inletpostalCode=PostalCode.of_xml(Xml.child_exn~context:context_xml_arg0"PostalCode")inletdistrictOrCounty=(Option.map~f:DistrictOrCounty.of_xml)(Xml.childxml_arg0"DistrictOrCounty")inletstateOrRegion=(Option.map~f:StateOrRegion.of_xml)(Xml.childxml_arg0"StateOrRegion")inletcity=City.of_xml(Xml.child_exn~context:context_xml_arg0"City")inletaddressLine3=(Option.map~f:AddressLine.of_xml)(Xml.childxml_arg0"AddressLine3")inletaddressLine2=(Option.map~f:AddressLine.of_xml)(Xml.childxml_arg0"AddressLine2")inletaddressLine1=AddressLine.of_xml(Xml.child_exn~context:context_xml_arg0"AddressLine1")inletfullName=FullName.of_xml(Xml.child_exn~context:context_xml_arg0"FullName")inmake?websiteUrl?companyName~phoneNumber~countryCode~postalCode?districtOrCounty?stateOrRegion~city?addressLine3?addressLine2~addressLine1~fullName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letwebsiteUrl=field_mapjson__"WebsiteUrl"WebsiteUrl.of_jsoninletcompanyName=field_mapjson__"CompanyName"CompanyName.of_jsoninletphoneNumber=field_map_exnjson__"PhoneNumber"ContactInformationPhoneNumber.of_jsoninletcountryCode=field_map_exnjson__"CountryCode"CountryCode.of_jsoninletpostalCode=field_map_exnjson__"PostalCode"PostalCode.of_jsoninletdistrictOrCounty=field_mapjson__"DistrictOrCounty"DistrictOrCounty.of_jsoninletstateOrRegion=field_mapjson__"StateOrRegion"StateOrRegion.of_jsoninletcity=field_map_exnjson__"City"City.of_jsoninletaddressLine3=field_mapjson__"AddressLine3"AddressLine.of_jsoninletaddressLine2=field_mapjson__"AddressLine2"AddressLine.of_jsoninletaddressLine1=field_map_exnjson__"AddressLine1"AddressLine.of_jsoninletfullName=field_map_exnjson__"FullName"FullName.of_jsoninmake?websiteUrl?companyName~phoneNumber~countryCode~postalCode?districtOrCounty?stateOrRegion~city?addressLine3?addressLine2~addressLine1~fullName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the details of the primary contact information associated with an Amazon Web Services account."]moduleAccountName=structtypenonrect=stringletcontext_="AccountName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:50)>>=(fun()->check_patterni~pattern:"[ -;=?-~]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountName"jletto_json=simple_to_jsonto_valueendmoduleRegionOptList=structtypenonrect=Region.tlistletmakei=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:"RegionOptList"~of_json:Region.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListRegionsRequestMaxResultsInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:50)>>=(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 ListRegionsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleListRegionsRequestNextTokenString=structtypenonrect=stringletcontext_="ListRegionsRequestNextTokenString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1000)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ListRegionsRequestNextTokenString"jletto_json=simple_to_jsonto_valueendmoduleRegionOptStatusList=structtypenonrect=RegionOptStatus.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:RegionOptStatus.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:RegionOptStatus.of_xml)letof_jsonj=list_of_json~kind:"RegionOptStatusList"~of_json:RegionOptStatus.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleAwsAccountState=structtypenonrect=|PENDING_ACTIVATION|ACTIVE|SUSPENDED|CLOSED|Non_static_idofstringletmakei=iletto_string=function|PENDING_ACTIVATION->"PENDING_ACTIVATION"|ACTIVE->"ACTIVE"|SUSPENDED->"SUSPENDED"|CLOSED->"CLOSED"|Non_static_ids->sletof_string=function|"PENDING_ACTIVATION"->PENDING_ACTIVATION|"ACTIVE"->ACTIVE|"SUSPENDED"->SUSPENDED|"CLOSED"->CLOSED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration AwsAccountState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AwsAccountState"j)letto_json=simple_to_jsonto_valueendmoduleResourceUnavailableException=structtypenonrect={message:String_.toption;errorType:String_.toption[@ocaml.doc"The value populated to the x-amzn-ErrorType response header by API Gateway."]}letmake?message=fun?errorType->fun()->{message;errorType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("x-amzn-ErrorType",(Option.mapx.errorType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"x-amzn-ErrorType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?errorType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorType=field_mapjson__"errorType"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?errorType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation failed because it specified a resource that is not currently available."]moduleAlternateContact=structtypenonrect={name:Name.toption[@ocaml.doc"The name associated with this alternate contact."];title:Title.toption[@ocaml.doc"The title associated with this alternate contact."];emailAddress:EmailAddress.toption[@ocaml.doc"The email address associated with this alternate contact."];phoneNumber:PhoneNumber.toption[@ocaml.doc"The phone number associated with this alternate contact."];alternateContactType:AlternateContactType.toption[@ocaml.doc"The type of alternate contact."]}letmake?name=fun?title->fun?emailAddress->fun?phoneNumber->fun?alternateContactType->fun()->{name;title;emailAddress;phoneNumber;alternateContactType}letto_valuex=structure_to_value[("Name",(Option.mapx.name~f:Name.to_value));("Title",(Option.mapx.title~f:Title.to_value));("EmailAddress",(Option.mapx.emailAddress~f:EmailAddress.to_value));("PhoneNumber",(Option.mapx.phoneNumber~f:PhoneNumber.to_value));("AlternateContactType",(Option.mapx.alternateContactType~f:AlternateContactType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letalternateContactType=(Option.map~f:AlternateContactType.of_xml)(Xml.childxml_arg0"AlternateContactType")inletphoneNumber=(Option.map~f:PhoneNumber.of_xml)(Xml.childxml_arg0"PhoneNumber")inletemailAddress=(Option.map~f:EmailAddress.of_xml)(Xml.childxml_arg0"EmailAddress")inlettitle=(Option.map~f:Title.of_xml)(Xml.childxml_arg0"Title")inletname=(Option.map~f:Name.of_xml)(Xml.childxml_arg0"Name")inmake?alternateContactType?phoneNumber?emailAddress?title?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letalternateContactType=field_mapjson__"AlternateContactType"AlternateContactType.of_jsoninletphoneNumber=field_mapjson__"PhoneNumber"PhoneNumber.of_jsoninletemailAddress=field_mapjson__"EmailAddress"EmailAddress.of_jsoninlettitle=field_mapjson__"Title"Title.of_jsoninletname=field_mapjson__"Name"Name.of_jsoninmake?alternateContactType?phoneNumber?emailAddress?title?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A structure that contains the details of an alternate contact associated with an Amazon Web Services account"]moduleAccountCreatedDate=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_valueendmoduleAccountState=structtypenonrect=|PENDING_ACTIVATION|ACTIVE|SUSPENDED|CLOSED|Non_static_idofstringletmakei=iletto_string=function|PENDING_ACTIVATION->"PENDING_ACTIVATION"|ACTIVE->"ACTIVE"|SUSPENDED->"SUSPENDED"|CLOSED->"CLOSED"|Non_static_ids->sletof_string=function|"PENDING_ACTIVATION"->PENDING_ACTIVATION|"ACTIVE"->ACTIVE|"SUSPENDED"->SUSPENDED|"CLOSED"->CLOSED|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration AccountState"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccountState"j)letto_json=simple_to_jsonto_valueendmoduleOtp=structtypenonrect=stringletcontext_="Otp"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-zA-Z0-9]{6}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Otp"jletto_json=simple_to_jsonto_valueendmoduleStartPrimaryEmailUpdateResponse=structtypenonrect={status:PrimaryEmailUpdateStatus.toption[@ocaml.doc"The status of the primary email update request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?status=fun()->{status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Status",(Option.mapx.status~f:PrimaryEmailUpdateStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:PrimaryEmailUpdateStatus.of_xml)(Xml.childxml_arg0"Status")inmake?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"PrimaryEmailUpdateStatus.of_jsoninmake?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts the process to update the primary email address for the specified account."]moduleStartPrimaryEmailUpdateRequest=structtypenonrect={accountId:AccountId.t[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. This operation can only be called from the management account or the delegated administrator account of an organization for a member account. The management account can't specify its own AccountId."];primaryEmail:PrimaryEmailAddress.t[@ocaml.doc"The new primary email address (also known as the root user email address) to use in the specified account."]}letcontext_="StartPrimaryEmailUpdateRequest"letmake~accountId=fun~primaryEmail->fun()->{accountId;primaryEmail}letto_valuex=structure_to_value[("AccountId",(Some(AccountId.to_valuex.accountId)));("PrimaryEmail",(Some(PrimaryEmailAddress.to_valuex.primaryEmail)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprimaryEmail=PrimaryEmailAddress.of_xml(Xml.child_exn~context:context_xml_arg0"PrimaryEmail")inletaccountId=AccountId.of_xml(Xml.child_exn~context:context_xml_arg0"AccountId")inmake~primaryEmail~accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprimaryEmail=field_map_exnjson__"PrimaryEmail"PrimaryEmailAddress.of_jsoninletaccountId=field_map_exnjson__"AccountId"AccountId.of_jsoninmake~primaryEmail~accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts the process to update the primary email address for the specified account."]modulePutContactInformationRequest=structtypenonrect={contactInformation:ContactInformation.t[@ocaml.doc"Contains the details of the primary contact information associated with an Amazon Web Services account."];accountId:AccountId.toption[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated administrator account assigned. The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."]}letcontext_="PutContactInformationRequest"letmake?accountId=fun~contactInformation->fun()->{accountId;contactInformation}letto_valuex=structure_to_value[("ContactInformation",(Some(ContactInformation.to_valuex.contactInformation)));("AccountId",(Option.mapx.accountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inletcontactInformation=ContactInformation.of_xml(Xml.child_exn~context:context_xml_arg0"ContactInformation")inmake?accountId~contactInformation()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"AccountId"AccountId.of_jsoninletcontactInformation=field_map_exnjson__"ContactInformation"ContactInformation.of_jsoninmake?accountId~contactInformation()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the primary contact information of an Amazon Web Services account. For complete details about how to use the primary contact operations, see Update the primary contact for your Amazon Web Services account."]modulePutAlternateContactRequest=structtypenonrect={name:Name.t[@ocaml.doc"Specifies a name for the alternate contact."];title:Title.t[@ocaml.doc"Specifies a title for the alternate contact."];emailAddress:EmailAddress.t[@ocaml.doc"Specifies an email address for the alternate contact."];phoneNumber:PhoneNumber.t[@ocaml.doc"Specifies a phone number for the alternate contact."];alternateContactType:AlternateContactType.t[@ocaml.doc"Specifies which alternate contact you want to create or update."];accountId:AccountId.toption[@ocaml.doc"Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated administrator account assigned. The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."]}letcontext_="PutAlternateContactRequest"letmake?accountId=fun~name->fun~title->fun~emailAddress->fun~phoneNumber->fun~alternateContactType->fun()->{accountId;name;title;emailAddress;phoneNumber;alternateContactType}letto_valuex=structure_to_value[("Name",(Some(Name.to_valuex.name)));("Title",(Some(Title.to_valuex.title)));("EmailAddress",(Some(EmailAddress.to_valuex.emailAddress)));("PhoneNumber",(Some(PhoneNumber.to_valuex.phoneNumber)));("AlternateContactType",(Some(AlternateContactType.to_valuex.alternateContactType)));("AccountId",(Option.mapx.accountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inletalternateContactType=AlternateContactType.of_xml(Xml.child_exn~context:context_xml_arg0"AlternateContactType")inletphoneNumber=PhoneNumber.of_xml(Xml.child_exn~context:context_xml_arg0"PhoneNumber")inletemailAddress=EmailAddress.of_xml(Xml.child_exn~context:context_xml_arg0"EmailAddress")inlettitle=Title.of_xml(Xml.child_exn~context:context_xml_arg0"Title")inletname=Name.of_xml(Xml.child_exn~context:context_xml_arg0"Name")inmake?accountId~alternateContactType~phoneNumber~emailAddress~title~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"AccountId"AccountId.of_jsoninletalternateContactType=field_map_exnjson__"AlternateContactType"AlternateContactType.of_jsoninletphoneNumber=field_map_exnjson__"PhoneNumber"PhoneNumber.of_jsoninletemailAddress=field_map_exnjson__"EmailAddress"EmailAddress.of_jsoninlettitle=field_map_exnjson__"Title"Title.of_jsoninletname=field_map_exnjson__"Name"Name.of_jsoninmake?accountId~alternateContactType~phoneNumber~emailAddress~title~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Modifies the specified alternate contact attached to an Amazon Web Services account. For complete details about how to use the alternate contact operations, see Update the alternate contacts for your Amazon Web Services account. Before you can update the alternate contact information for an Amazon Web Services account that is managed by Organizations, you must first enable integration between Amazon Web Services Account Management and Organizations. For more information, see Enable trusted access for Amazon Web Services Account Management."]modulePutAccountNameRequest=structtypenonrect={accountName:AccountName.t[@ocaml.doc"The name of the account."];accountId:AccountId.toption[@ocaml.doc"Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated administrator account assigned. The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."]}letcontext_="PutAccountNameRequest"letmake?accountId=fun~accountName->fun()->{accountId;accountName}letto_valuex=structure_to_value[("AccountName",(Some(AccountName.to_valuex.accountName)));("AccountId",(Option.mapx.accountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inletaccountName=AccountName.of_xml(Xml.child_exn~context:context_xml_arg0"AccountName")inmake?accountId~accountName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"AccountId"AccountId.of_jsoninletaccountName=field_map_exnjson__"AccountName"AccountName.of_jsoninmake?accountId~accountName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the account name of the specified account. To use this API, IAM principals must have the account:PutAccountName IAM permission."]moduleListRegionsResponse=structtypenonrect={nextToken:String_.toption[@ocaml.doc"If there is more data to be returned, this will be populated. It should be passed into the next-token request parameter of list-regions."];regions:RegionOptList.toption[@ocaml.doc"This is a list of Regions for a given account, or if the filtered parameter was used, a list of Regions that match the filter criteria set in the filter parameter."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?regions->fun()->{nextToken;regions}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("NextToken",(Option.mapx.nextToken~f:String_.to_value));("Regions",(Option.mapx.regions~f:RegionOptList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregions=(Option.map~f:RegionOptList.of_xml)(Xml.childxml_arg0"Regions")inletnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"NextToken")inmake?regions?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregions=field_mapjson__"Regions"RegionOptList.of_jsoninletnextToken=field_mapjson__"NextToken"String_.of_jsoninmake?regions?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all the Regions for a given account and their respective opt-in statuses. Optionally, this list can be filtered by the region-opt-status-contains parameter."]moduleListRegionsRequest=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."];maxResults:ListRegionsRequestMaxResultsInteger.toption[@ocaml.doc"The total number of items to return in the command\226\128\153s output. If the total number of items available is more than the value specified, a NextToken is provided in the command\226\128\153s output. To resume pagination, provide the NextToken value in the starting-token argument of a subsequent command. Do not use the NextToken response element directly outside of the Amazon Web Services CLI. For usage examples, see Pagination in the Amazon Web Services Command Line Interface User Guide."];nextToken:ListRegionsRequestNextTokenString.toption[@ocaml.doc"A token used to specify where to start paginating. This is the NextToken from a previously truncated response. For usage examples, see Pagination in the Amazon Web Services Command Line Interface User Guide."];regionOptStatusContains:RegionOptStatusList.toption[@ocaml.doc"A list of Region statuses (Enabling, Enabled, Disabling, Disabled, Enabled_by_default) to use to filter the list of Regions for a given account. For example, passing in a value of ENABLING will only return a list of Regions with a Region status of ENABLING."]}letmake?accountId=fun?maxResults->fun?nextToken->fun?regionOptStatusContains->fun()->{accountId;maxResults;nextToken;regionOptStatusContains}letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountId.to_value));("MaxResults",(Option.mapx.maxResults~f:ListRegionsRequestMaxResultsInteger.to_value));("NextToken",(Option.mapx.nextToken~f:ListRegionsRequestNextTokenString.to_value));("RegionOptStatusContains",(Option.mapx.regionOptStatusContains~f:RegionOptStatusList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregionOptStatusContains=(Option.map~f:RegionOptStatusList.of_xml)(Xml.childxml_arg0"RegionOptStatusContains")inletnextToken=(Option.map~f:ListRegionsRequestNextTokenString.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:ListRegionsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"MaxResults")inletaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inmake?regionOptStatusContains?nextToken?maxResults?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregionOptStatusContains=field_mapjson__"RegionOptStatusContains"RegionOptStatusList.of_jsoninletnextToken=field_mapjson__"NextToken"ListRegionsRequestNextTokenString.of_jsoninletmaxResults=field_mapjson__"MaxResults"ListRegionsRequestMaxResultsInteger.of_jsoninletaccountId=field_mapjson__"AccountId"AccountId.of_jsoninmake?regionOptStatusContains?nextToken?maxResults?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all the Regions for a given account and their respective opt-in statuses. Optionally, this list can be filtered by the region-opt-status-contains parameter."]moduleGetRegionOptStatusResponse=structtypenonrect={regionName:RegionName.toption[@ocaml.doc"The Region code that was passed in."];regionOptStatus:RegionOptStatus.toption[@ocaml.doc"One of the potential statuses a Region can undergo (Enabled, Enabling, Disabled, Disabling, Enabled_By_Default)."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?regionName=fun?regionOptStatus->fun()->{regionName;regionOptStatus}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("RegionName",(Option.mapx.regionName~f:RegionName.to_value));("RegionOptStatus",(Option.mapx.regionOptStatus~f:RegionOptStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregionOptStatus=(Option.map~f:RegionOptStatus.of_xml)(Xml.childxml_arg0"RegionOptStatus")inletregionName=(Option.map~f:RegionName.of_xml)(Xml.childxml_arg0"RegionName")inmake?regionOptStatus?regionName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregionOptStatus=field_mapjson__"RegionOptStatus"RegionOptStatus.of_jsoninletregionName=field_mapjson__"RegionName"RegionName.of_jsoninmake?regionOptStatus?regionName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the opt-in status of a particular Region."]moduleGetRegionOptStatusRequest=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."];regionName:RegionName.t[@ocaml.doc"Specifies the Region-code for a given Region name (for example, af-south-1). This function will return the status of whatever Region you pass into this parameter."]}letcontext_="GetRegionOptStatusRequest"letmake?accountId=fun~regionName->fun()->{accountId;regionName}letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountId.to_value));("RegionName",(Some(RegionName.to_valuex.regionName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregionName=RegionName.of_xml(Xml.child_exn~context:context_xml_arg0"RegionName")inletaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inmake~regionName?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregionName=field_map_exnjson__"RegionName"RegionName.of_jsoninletaccountId=field_mapjson__"AccountId"AccountId.of_jsoninmake~regionName?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the opt-in status of a particular Region."]moduleGetPrimaryEmailResponse=structtypenonrect={primaryEmail:PrimaryEmailAddress.toption[@ocaml.doc"Retrieves the primary email address associated with the specified account."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?primaryEmail=fun()->{primaryEmail}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("PrimaryEmail",(Option.mapx.primaryEmail~f:PrimaryEmailAddress.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letprimaryEmail=(Option.map~f:PrimaryEmailAddress.of_xml)(Xml.childxml_arg0"PrimaryEmail")inmake?primaryEmail()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letprimaryEmail=field_mapjson__"PrimaryEmail"PrimaryEmailAddress.of_jsoninmake?primaryEmail()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the primary email address for the specified account."]moduleGetPrimaryEmailRequest=structtypenonrect={accountId:AccountId.t[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. This operation can only be called from the management account or the delegated administrator account of an organization for a member account. The management account can't specify its own AccountId."]}letcontext_="GetPrimaryEmailRequest"letmake~accountId=fun()->{accountId}letto_valuex=structure_to_value[("AccountId",(Some(AccountId.to_valuex.accountId)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=AccountId.of_xml(Xml.child_exn~context:context_xml_arg0"AccountId")inmake~accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_map_exnjson__"AccountId"AccountId.of_jsoninmake~accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the primary email address for the specified account."]moduleGetGovCloudAccountInformationResponse=structtypenonrect={govCloudAccountId:AccountId.toption[@ocaml.doc"The 12-digit account ID number of the linked GovCloud account."];accountState:AwsAccountState.toption[@ocaml.doc"The account state of the linked GovCloud account."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ResourceUnavailableExceptionofResourceUnavailableException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?govCloudAccountId=fun?accountState->fun()->{govCloudAccountId;accountState}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ResourceUnavailableException"->`ResourceUnavailableException(ResourceUnavailableException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ResourceUnavailableException"->`ResourceUnavailableException(ResourceUnavailableException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ResourceUnavailableExceptione->`Assoc[("error",(`String"ResourceUnavailableException"));("details",(ResourceUnavailableException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("GovCloudAccountId",(Option.mapx.govCloudAccountId~f:AccountId.to_value));("AccountState",(Option.mapx.accountState~f:AwsAccountState.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountState=(Option.map~f:AwsAccountState.of_xml)(Xml.childxml_arg0"AccountState")inletgovCloudAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"GovCloudAccountId")inmake?accountState?govCloudAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountState=field_mapjson__"AccountState"AwsAccountState.of_jsoninletgovCloudAccountId=field_mapjson__"GovCloudAccountId"AccountId.of_jsoninmake?accountState?govCloudAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the GovCloud account linked to the specified standard account (if it exists) including the GovCloud account ID and state. To use this API, an IAM user or role must have the account:GetGovCloudAccountInformation IAM permission."]moduleGetGovCloudAccountInformationRequest=structtypenonrect={standardAccountId:AccountId.toption[@ocaml.doc"Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated administrator account assigned. The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."]}letmake?standardAccountId=fun()->{standardAccountId}letto_valuex=structure_to_value[("StandardAccountId",(Option.mapx.standardAccountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstandardAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"StandardAccountId")inmake?standardAccountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstandardAccountId=field_mapjson__"StandardAccountId"AccountId.of_jsoninmake?standardAccountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the GovCloud account linked to the specified standard account (if it exists) including the GovCloud account ID and state. To use this API, an IAM user or role must have the account:GetGovCloudAccountInformation IAM permission."]moduleGetContactInformationResponse=structtypenonrect={contactInformation:ContactInformation.toption[@ocaml.doc"Contains the details of the primary contact information associated with an Amazon Web Services account."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?contactInformation=fun()->{contactInformation}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ContactInformation",(Option.mapx.contactInformation~f:ContactInformation.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcontactInformation=(Option.map~f:ContactInformation.of_xml)(Xml.childxml_arg0"ContactInformation")inmake?contactInformation()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcontactInformation=field_mapjson__"ContactInformation"ContactInformation.of_jsoninmake?contactInformation()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the primary contact information of an Amazon Web Services account. For complete details about how to use the primary contact operations, see Update the primary contact for your Amazon Web Services account."]moduleGetContactInformationRequest=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."]}letmake?accountId=fun()->{accountId}letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inmake?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"AccountId"AccountId.of_jsoninmake?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the primary contact information of an Amazon Web Services account. For complete details about how to use the primary contact operations, see Update the primary contact for your Amazon Web Services account."]moduleGetAlternateContactResponse=structtypenonrect={alternateContact:AlternateContact.toption[@ocaml.doc"A structure that contains the details for the specified alternate contact."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?alternateContact=fun()->{alternateContact}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("AlternateContact",(Option.mapx.alternateContact~f:AlternateContact.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letalternateContact=(Option.map~f:AlternateContact.of_xml)(Xml.childxml_arg0"AlternateContact")inmake?alternateContact()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letalternateContact=field_mapjson__"AlternateContact"AlternateContact.of_jsoninmake?alternateContact()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified alternate contact attached to an Amazon Web Services account. For complete details about how to use the alternate contact operations, see Update the alternate contacts for your Amazon Web Services account. Before you can update the alternate contact information for an Amazon Web Services account that is managed by Organizations, you must first enable integration between Amazon Web Services Account Management and Organizations. For more information, see Enable trusted access for Amazon Web Services Account Management."]moduleGetAlternateContactRequest=structtypenonrect={alternateContactType:AlternateContactType.t[@ocaml.doc"Specifies which alternate contact you want to retrieve."];accountId:AccountId.toption[@ocaml.doc"Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated administrator account assigned. The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."]}letcontext_="GetAlternateContactRequest"letmake?accountId=fun~alternateContactType->fun()->{accountId;alternateContactType}letto_valuex=structure_to_value[("AlternateContactType",(Some(AlternateContactType.to_valuex.alternateContactType)));("AccountId",(Option.mapx.accountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inletalternateContactType=AlternateContactType.of_xml(Xml.child_exn~context:context_xml_arg0"AlternateContactType")inmake?accountId~alternateContactType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"AccountId"AccountId.of_jsoninletalternateContactType=field_map_exnjson__"AlternateContactType"AlternateContactType.of_jsoninmake?accountId~alternateContactType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the specified alternate contact attached to an Amazon Web Services account. For complete details about how to use the alternate contact operations, see Update the alternate contacts for your Amazon Web Services account. Before you can update the alternate contact information for an Amazon Web Services account that is managed by Organizations, you must first enable integration between Amazon Web Services Account Management and Organizations. For more information, see Enable trusted access for Amazon Web Services Account Management."]moduleGetAccountInformationResponse=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. This operation can only be called from the management account or the delegated administrator account of an organization for a member account. The management account can't specify its own AccountId."];accountName:AccountName.toption[@ocaml.doc"The name of the account."];accountCreatedDate:AccountCreatedDate.toption[@ocaml.doc"The date and time the account was created."];accountState:AccountState.toption[@ocaml.doc"The state of the account. Each account state represents a specific phase in the account lifecycle. Use this information to manage account access, automate workflows, or trigger actions based on account state changes. Valid values: PENDING_ACTIVATION | ACTIVE | SUSPENDED | CLOSED"]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accountId=fun?accountName->fun?accountCreatedDate->fun?accountState->fun()->{accountId;accountName;accountCreatedDate;accountState}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountId.to_value));("AccountName",(Option.mapx.accountName~f:AccountName.to_value));("AccountCreatedDate",(Option.mapx.accountCreatedDate~f:AccountCreatedDate.to_value));("AccountState",(Option.mapx.accountState~f:AccountState.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountState=(Option.map~f:AccountState.of_xml)(Xml.childxml_arg0"AccountState")inletaccountCreatedDate=(Option.map~f:AccountCreatedDate.of_xml)(Xml.childxml_arg0"AccountCreatedDate")inletaccountName=(Option.map~f:AccountName.of_xml)(Xml.childxml_arg0"AccountName")inletaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inmake?accountState?accountCreatedDate?accountName?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountState=field_mapjson__"AccountState"AccountState.of_jsoninletaccountCreatedDate=field_mapjson__"AccountCreatedDate"AccountCreatedDate.of_jsoninletaccountName=field_mapjson__"AccountName"AccountName.of_jsoninletaccountId=field_mapjson__"AccountId"AccountId.of_jsoninmake?accountState?accountCreatedDate?accountName?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified account including its account name, account ID, account creation date and time, and account state. To use this API, an IAM user or role must have the account:GetAccountInformation IAM permission."]moduleGetAccountInformationRequest=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated administrator account assigned. The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."]}letmake?accountId=fun()->{accountId}letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inmake?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"AccountId"AccountId.of_jsoninmake?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified account including its account name, account ID, account creation date and time, and account state. To use this API, an IAM user or role must have the account:GetAccountInformation IAM permission."]moduleEnableRegionRequest=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."];regionName:RegionName.t[@ocaml.doc"Specifies the Region-code for a given Region name (for example, af-south-1). When you enable a Region, Amazon Web Services performs actions to prepare your account in that Region, such as distributing your IAM resources to the Region. This process takes a few minutes for most accounts, but it can take several hours. You cannot use the Region until this process is complete. Furthermore, you cannot disable the Region until the enabling process is fully completed."]}letcontext_="EnableRegionRequest"letmake?accountId=fun~regionName->fun()->{accountId;regionName}letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountId.to_value));("RegionName",(Some(RegionName.to_valuex.regionName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregionName=RegionName.of_xml(Xml.child_exn~context:context_xml_arg0"RegionName")inletaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inmake~regionName?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregionName=field_map_exnjson__"RegionName"RegionName.of_jsoninletaccountId=field_mapjson__"AccountId"AccountId.of_jsoninmake~regionName?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Enables (opts-in) a particular Region for an account."]moduleDisableRegionRequest=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you don't specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, don't specify this parameter. Instead, call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."];regionName:RegionName.t[@ocaml.doc"Specifies the Region-code for a given Region name (for example, af-south-1). When you disable a Region, Amazon Web Services performs actions to deactivate that Region in your account, such as destroying IAM resources in the Region. This process takes a few minutes for most accounts, but this can take several hours. You cannot enable the Region until the disabling process is fully completed."]}letcontext_="DisableRegionRequest"letmake?accountId=fun~regionName->fun()->{accountId;regionName}letto_valuex=structure_to_value[("AccountId",(Option.mapx.accountId~f:AccountId.to_value));("RegionName",(Some(RegionName.to_valuex.regionName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letregionName=RegionName.of_xml(Xml.child_exn~context:context_xml_arg0"RegionName")inletaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inmake~regionName?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letregionName=field_map_exnjson__"RegionName"RegionName.of_jsoninletaccountId=field_mapjson__"AccountId"AccountId.of_jsoninmake~regionName?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disables (opts-out) a particular Region for an account. The act of disabling a Region will remove all IAM access to any resources that reside in that Region."]moduleDeleteAlternateContactRequest=structtypenonrect={alternateContactType:AlternateContactType.t[@ocaml.doc"Specifies which of the alternate contacts to delete."];accountId:AccountId.toption[@ocaml.doc"Specifies the 12 digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. If you do not specify this parameter, it defaults to the Amazon Web Services account of the identity used to call the operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account, and the specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated administrator account assigned. The management account can't specify its own AccountId; it must call the operation in standalone context by not including the AccountId parameter. To call this operation on an account that is not a member of an organization, then don't specify this parameter, and call the operation using an identity belonging to the account whose contacts you wish to retrieve or modify."]}letcontext_="DeleteAlternateContactRequest"letmake?accountId=fun~alternateContactType->fun()->{accountId;alternateContactType}letto_valuex=structure_to_value[("AlternateContactType",(Some(AlternateContactType.to_valuex.alternateContactType)));("AccountId",(Option.mapx.accountId~f:AccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"AccountId")inletalternateContactType=AlternateContactType.of_xml(Xml.child_exn~context:context_xml_arg0"AlternateContactType")inmake?accountId~alternateContactType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountId=field_mapjson__"AccountId"AccountId.of_jsoninletalternateContactType=field_map_exnjson__"AlternateContactType"AlternateContactType.of_jsoninmake?accountId~alternateContactType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified alternate contact from an Amazon Web Services account. For complete details about how to use the alternate contact operations, see Update the alternate contacts for your Amazon Web Services account. Before you can update the alternate contact information for an Amazon Web Services account that is managed by Organizations, you must first enable integration between Amazon Web Services Account Management and Organizations. For more information, see Enable trusted access for Amazon Web Services Account Management."]moduleAcceptPrimaryEmailUpdateResponse=structtypenonrect={status:PrimaryEmailUpdateStatus.toption[@ocaml.doc"Retrieves the status of the accepted primary email update request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestsExceptionofTooManyRequestsException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?status=fun()->{status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestsException"->`TooManyRequestsException(TooManyRequestsException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestsExceptione->`Assoc[("error",(`String"TooManyRequestsException"));("details",(TooManyRequestsException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Status",(Option.mapx.status~f:PrimaryEmailUpdateStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:PrimaryEmailUpdateStatus.of_xml)(Xml.childxml_arg0"Status")inmake?status()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"Status"PrimaryEmailUpdateStatus.of_jsoninmake?status()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Accepts the request that originated from StartPrimaryEmailUpdate to update the primary email address (also known as the root user email address) for the specified account."]moduleAcceptPrimaryEmailUpdateRequest=structtypenonrect={accountId:AccountId.t[@ocaml.doc"Specifies the 12-digit account ID number of the Amazon Web Services account that you want to access or modify with this operation. To use this parameter, the caller must be an identity in the organization's management account or a delegated administrator account. The specified account ID must be a member account in the same organization. The organization must have all features enabled, and the organization must have trusted access enabled for the Account Management service, and optionally a delegated admin account assigned. This operation can only be called from the management account or the delegated administrator account of an organization for a member account. The management account can't specify its own AccountId."];primaryEmail:PrimaryEmailAddress.t[@ocaml.doc"The new primary email address for use with the specified account. This must match the PrimaryEmail from the StartPrimaryEmailUpdate API call."];otp:Otp.t[@ocaml.doc"The OTP code sent to the PrimaryEmail specified on the StartPrimaryEmailUpdate API call."]}letcontext_="AcceptPrimaryEmailUpdateRequest"letmake~accountId=fun~primaryEmail->fun~otp->fun()->{accountId;primaryEmail;otp}letto_valuex=structure_to_value[("AccountId",(Some(AccountId.to_valuex.accountId)));("PrimaryEmail",(Some(PrimaryEmailAddress.to_valuex.primaryEmail)));("Otp",(Some(Otp.to_valuex.otp)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letotp=Otp.of_xml(Xml.child_exn~context:context_xml_arg0"Otp")inletprimaryEmail=PrimaryEmailAddress.of_xml(Xml.child_exn~context:context_xml_arg0"PrimaryEmail")inletaccountId=AccountId.of_xml(Xml.child_exn~context:context_xml_arg0"AccountId")inmake~otp~primaryEmail~accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letotp=field_map_exnjson__"Otp"Otp.of_jsoninletprimaryEmail=field_map_exnjson__"PrimaryEmail"PrimaryEmailAddress.of_jsoninletaccountId=field_map_exnjson__"AccountId"AccountId.of_jsoninmake~otp~primaryEmail~accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Accepts the request that originated from StartPrimaryEmailUpdate to update the primary email address (also known as the root user email address) for the specified account."]