12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458(* 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.billingletapiVersion="2023-09-07"letendpointPrefix="billing"letserviceFullName="AWS Billing"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="AWSBilling"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[]))])moduleBillingViewStatusReason=structtypenonrect=|SOURCE_VIEW_UNHEALTHY|SOURCE_VIEW_UPDATING|SOURCE_VIEW_ACCESS_DENIED|SOURCE_VIEW_NOT_FOUND|CYCLIC_DEPENDENCY|SOURCE_VIEW_DEPTH_EXCEEDED|AGGREGATE_SOURCE|VIEW_OWNER_NOT_MANAGEMENT_ACCOUNT|Non_static_idofstringletmakei=iletto_string=function|SOURCE_VIEW_UNHEALTHY->"SOURCE_VIEW_UNHEALTHY"|SOURCE_VIEW_UPDATING->"SOURCE_VIEW_UPDATING"|SOURCE_VIEW_ACCESS_DENIED->"SOURCE_VIEW_ACCESS_DENIED"|SOURCE_VIEW_NOT_FOUND->"SOURCE_VIEW_NOT_FOUND"|CYCLIC_DEPENDENCY->"CYCLIC_DEPENDENCY"|SOURCE_VIEW_DEPTH_EXCEEDED->"SOURCE_VIEW_DEPTH_EXCEEDED"|AGGREGATE_SOURCE->"AGGREGATE_SOURCE"|VIEW_OWNER_NOT_MANAGEMENT_ACCOUNT->"VIEW_OWNER_NOT_MANAGEMENT_ACCOUNT"|Non_static_ids->sletof_string=function|"SOURCE_VIEW_UNHEALTHY"->SOURCE_VIEW_UNHEALTHY|"SOURCE_VIEW_UPDATING"->SOURCE_VIEW_UPDATING|"SOURCE_VIEW_ACCESS_DENIED"->SOURCE_VIEW_ACCESS_DENIED|"SOURCE_VIEW_NOT_FOUND"->SOURCE_VIEW_NOT_FOUND|"CYCLIC_DEPENDENCY"->CYCLIC_DEPENDENCY|"SOURCE_VIEW_DEPTH_EXCEEDED"->SOURCE_VIEW_DEPTH_EXCEEDED|"AGGREGATE_SOURCE"->AGGREGATE_SOURCE|"VIEW_OWNER_NOT_MANAGEMENT_ACCOUNT"->VIEW_OWNER_NOT_MANAGEMENT_ACCOUNT|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 BillingViewStatusReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BillingViewStatusReason"j)letto_json=simple_to_jsonto_valueendmoduleValue=structtypenonrect=stringletcontext_="Value"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"[\\S\\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:"Value"jletto_json=simple_to_jsonto_valueendmoduleErrorMessage=structtypenonrect=stringletcontext_="ErrorMessage"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ErrorMessage"jletto_json=simple_to_jsonto_valueendmoduleFieldName=structtypenonrect=stringletcontext_="FieldName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:100)>>=(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:"FieldName"jletto_json=simple_to_jsonto_valueendmoduleBillingViewStatus=structtypenonrect=|HEALTHY|UNHEALTHY|CREATING|UPDATING|Non_static_idofstringletmakei=iletto_string=function|HEALTHY->"HEALTHY"|UNHEALTHY->"UNHEALTHY"|CREATING->"CREATING"|UPDATING->"UPDATING"|Non_static_ids->sletof_string=function|"HEALTHY"->HEALTHY|"UNHEALTHY"->UNHEALTHY|"CREATING"->CREATING|"UPDATING"->UPDATING|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 BillingViewStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BillingViewStatus"j)letto_json=simple_to_jsonto_valueendmoduleBillingViewStatusReasons=structtypenonrect=BillingViewStatusReason.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BillingViewStatusReason.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:BillingViewStatusReason.of_xml)letof_jsonj=list_of_json~kind:"BillingViewStatusReasons"~of_json:BillingViewStatusReason.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleCostCategoryName=structtypenonrect=stringletcontext_="CostCategoryName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:50)>>=(fun()->check_patterni~pattern:"(?! )[\\p{L}\\p{N}\\p{Z}-_]*(?<! )")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"CostCategoryName"jletto_json=simple_to_jsonto_valueendmoduleValues=structtypenonrect=Value.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Value.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:Value.of_xml)letof_jsonj=list_of_json~kind:"Values"~of_json:Value.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDimension=structtypenonrect=|LINKED_ACCOUNT|Non_static_idofstringletmakei=iletto_string=function|LINKED_ACCOUNT->"LINKED_ACCOUNT"|Non_static_ids->sletof_string=function|"LINKED_ACCOUNT"->LINKED_ACCOUNT|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 Dimension"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"Dimension"j)letto_json=simple_to_jsonto_valueendmoduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"[\\S\\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:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTimestamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleValidationExceptionField=structtypenonrect={name:FieldName.toption[@ocaml.doc"The name of the field."];message:ErrorMessage.toption[@ocaml.doc"The message describing why the field failed validation."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:FieldName.to_value));("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inletname=(Option.map~f:FieldName.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"ErrorMessage.of_jsoninletname=field_mapjson__"name"FieldName.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The field's information of a request that resulted in an exception."]moduleResourceTagKey=structtypenonrect=stringletcontext_="ResourceTagKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceTagKey"jletto_json=simple_to_jsonto_valueendmoduleResourceTagValue=structtypenonrect=stringletcontext_="ResourceTagValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceTagValue"jletto_json=simple_to_jsonto_valueendmoduleAccountId=structtypenonrect=stringletcontext_="AccountId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[0-9]{12}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AccountId"jletto_json=simple_to_jsonto_valueendmoduleBillingViewArn=structtypenonrect=stringletcontext_="BillingViewArn"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"arn:aws[a-z-]*:(billing)::[0-9]{12}:billingview/[a-zA-Z0-9/:_\\+=\\.\\-@]{0,75}[a-zA-Z0-9]");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"BillingViewArn"jletto_json=simple_to_jsonto_valueendmoduleBillingViewDescription=structtypenonrect=stringletcontext_="BillingViewDescription"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"([ a-zA-Z0-9_\\+=\\.\\-@]+)?")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"BillingViewDescription"jletto_json=simple_to_jsonto_valueendmoduleBillingViewHealthStatus=structtypenonrect={statusCode:BillingViewStatus.toption[@ocaml.doc"The current health status code of the billing view."];statusReasons:BillingViewStatusReasons.toption[@ocaml.doc"A list of reasons explaining the current health status, if applicable."]}letmake?statusCode=fun?statusReasons->fun()->{statusCode;statusReasons}letto_valuex=structure_to_value[("statusCode",(Option.mapx.statusCode~f:BillingViewStatus.to_value));("statusReasons",(Option.mapx.statusReasons~f:BillingViewStatusReasons.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatusReasons=(Option.map~f:BillingViewStatusReasons.of_xml)(Xml.childxml_arg0"statusReasons")inletstatusCode=(Option.map~f:BillingViewStatus.of_xml)(Xml.childxml_arg0"statusCode")inmake?statusReasons?statusCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatusReasons=field_mapjson__"statusReasons"BillingViewStatusReasons.of_jsoninletstatusCode=field_mapjson__"statusCode"BillingViewStatus.of_jsoninmake?statusReasons?statusCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Represents the health status of a billing view, including a status code and optional reasons for the status."]moduleBillingViewName=structtypenonrect=stringletcontext_="BillingViewName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[ a-zA-Z0-9_\\+=\\.\\-@]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"BillingViewName"jletto_json=simple_to_jsonto_valueendmoduleBillingViewType=structtypenonrect=|PRIMARY|BILLING_GROUP|CUSTOM|BILLING_TRANSFER|BILLING_TRANSFER_SHOWBACK|Non_static_idofstringletmakei=iletto_string=function|PRIMARY->"PRIMARY"|BILLING_GROUP->"BILLING_GROUP"|CUSTOM->"CUSTOM"|BILLING_TRANSFER->"BILLING_TRANSFER"|BILLING_TRANSFER_SHOWBACK->"BILLING_TRANSFER_SHOWBACK"|Non_static_ids->sletof_string=function|"PRIMARY"->PRIMARY|"BILLING_GROUP"->BILLING_GROUP|"CUSTOM"->CUSTOM|"BILLING_TRANSFER"->BILLING_TRANSFER|"BILLING_TRANSFER_SHOWBACK"->BILLING_TRANSFER_SHOWBACK|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 BillingViewType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BillingViewType"j)letto_json=simple_to_jsonto_valueendmoduleSearchOption=structtypenonrect=|STARTS_WITH|Non_static_idofstringletmakei=iletto_string=function|STARTS_WITH->"STARTS_WITH"|Non_static_ids->sletof_string=function|"STARTS_WITH"->STARTS_WITH|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 SearchOption"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SearchOption"j)letto_json=simple_to_jsonto_valueendmoduleSearchValue=structtypenonrect=stringletcontext_="SearchValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9_\\+=\\.\\-@ ]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"SearchValue"jletto_json=simple_to_jsonto_valueendmoduleCostCategoryValues=structtypenonrect={key:CostCategoryName.t[@ocaml.doc"The unique name of the Cost Category."];values:Values.t[@ocaml.doc"The specific value of the Cost Category."]}letcontext_="CostCategoryValues"letmake~key=fun~values->fun()->{key;values}letto_valuex=structure_to_value[("key",(Some(CostCategoryName.to_valuex.key)));("values",(Some(Values.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=Values.of_xml(Xml.child_exn~context:context_xml_arg0"values")inletkey=CostCategoryName.of_xml(Xml.child_exn~context:context_xml_arg0"key")inmake~values~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"values"Values.of_jsoninletkey=field_map_exnjson__"key"CostCategoryName.of_jsoninmake~values~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The Cost Categories values used for filtering the costs."]moduleDimensionValues=structtypenonrect={key:Dimension.t[@ocaml.doc"The names of the metadata types that you can use to filter and group your results."];values:Values.t[@ocaml.doc"The metadata values that you can use to filter and group your results."]}letcontext_="DimensionValues"letmake~key=fun~values->fun()->{key;values}letto_valuex=structure_to_value[("key",(Some(Dimension.to_valuex.key)));("values",(Some(Values.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=Values.of_xml(Xml.child_exn~context:context_xml_arg0"values")inletkey=Dimension.of_xml(Xml.child_exn~context:context_xml_arg0"key")inmake~values~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"values"Values.of_jsoninletkey=field_map_exnjson__"key"Dimension.of_jsoninmake~values~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata that you can use to filter and group your results."]moduleTagValues=structtypenonrect={key:TagKey.t[@ocaml.doc"The key for the tag."];values:Values.t[@ocaml.doc"The specific value of the tag."]}letcontext_="TagValues"letmake~key=fun~values->fun()->{key;values}letto_valuex=structure_to_value[("key",(Some(TagKey.to_valuex.key)));("values",(Some(Values.to_valuex.values)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalues=Values.of_xml(Xml.child_exn~context:context_xml_arg0"values")inletkey=TagKey.of_xml(Xml.child_exn~context:context_xml_arg0"key")inmake~values~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalues=field_map_exnjson__"values"Values.of_jsoninletkey=field_map_exnjson__"key"TagKey.of_jsoninmake~values~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The values that are available for a tag."]moduleTimeRange=structtypenonrect={beginDateInclusive:Timestamp.toption[@ocaml.doc"The inclusive start date of the time range."];endDateInclusive:Timestamp.toption[@ocaml.doc"The inclusive end date of the time range."]}letmake?beginDateInclusive=fun?endDateInclusive->fun()->{beginDateInclusive;endDateInclusive}letto_valuex=structure_to_value[("beginDateInclusive",(Option.mapx.beginDateInclusive~f:Timestamp.to_value));("endDateInclusive",(Option.mapx.endDateInclusive~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendDateInclusive=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"endDateInclusive")inletbeginDateInclusive=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"beginDateInclusive")inmake?endDateInclusive?beginDateInclusive()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendDateInclusive=field_mapjson__"endDateInclusive"Timestamp.of_jsoninletbeginDateInclusive=field_mapjson__"beginDateInclusive"Timestamp.of_jsoninmake?endDateInclusive?beginDateInclusive()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Specifies a time range with inclusive begin and end dates."]moduleResourceId=structtypenonrect=stringletcontext_="ResourceId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(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:"ResourceId"jletto_json=simple_to_jsonto_valueendmoduleResourceType=structtypenonrect=stringletcontext_="ResourceType"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(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:"ResourceType"jletto_json=simple_to_jsonto_valueendmoduleQuotaCode=structtypenonrect=stringletcontext_="QuotaCode"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(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:"QuotaCode"jletto_json=simple_to_jsonto_valueendmoduleServiceCode=structtypenonrect=stringletcontext_="ServiceCode"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:1024)>>=(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:"ServiceCode"jletto_json=simple_to_jsonto_valueendmoduleValidationExceptionFieldList=structtypenonrect=ValidationExceptionField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ValidationExceptionField.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:ValidationExceptionField.of_xml)letof_jsonj=list_of_json~kind:"ValidationExceptionFieldList"~of_json:ValidationExceptionField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleValidationExceptionReason=structtypenonrect=|UnknownOperation|CannotParse|FieldValidationFailed|Other|Non_static_idofstringletmakei=iletto_string=function|UnknownOperation->"unknownOperation"|CannotParse->"cannotParse"|FieldValidationFailed->"fieldValidationFailed"|Other->"other"|Non_static_ids->sletof_string=function|"unknownOperation"->UnknownOperation|"cannotParse"->CannotParse|"fieldValidationFailed"->FieldValidationFailed|"other"->Other|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ValidationExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ValidationExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleResourceTag=structtypenonrect={key:ResourceTagKey.t[@ocaml.doc"The key that's associated with the tag."];value:ResourceTagValue.toption[@ocaml.doc"The value that's associated with the tag."]}letcontext_="ResourceTag"letmake?value=fun~key->fun()->{value;key}letto_valuex=structure_to_value[("key",(Some(ResourceTagKey.to_valuex.key)));("value",(Option.mapx.value~f:ResourceTagValue.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=(Option.map~f:ResourceTagValue.of_xml)(Xml.childxml_arg0"value")inletkey=ResourceTagKey.of_xml(Xml.child_exn~context:context_xml_arg0"key")inmake?value~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_mapjson__"value"ResourceTagValue.of_jsoninletkey=field_map_exnjson__"key"ResourceTagKey.of_jsoninmake?value~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The tag structure that contains a tag key and value."]moduleBillingViewListElement=structtypenonrect={arn:BillingViewArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."];name:BillingViewName.toption[@ocaml.doc"A list of names of the Billing view."];description:BillingViewDescription.toption[@ocaml.doc"The description of the billing view."];ownerAccountId:AccountId.toption[@ocaml.doc"The list of owners of the Billing view."];sourceAccountId:AccountId.toption[@ocaml.doc"The Amazon Web Services account ID that owns the source billing view, if this is a derived billing view."];billingViewType:BillingViewType.toption[@ocaml.doc"The type of billing view."];healthStatus:BillingViewHealthStatus.toption[@ocaml.doc"The current health status of the billing view."]}letmake?arn=fun?name->fun?description->fun?ownerAccountId->fun?sourceAccountId->fun?billingViewType->fun?healthStatus->fun()->{arn;name;description;ownerAccountId;sourceAccountId;billingViewType;healthStatus}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:BillingViewArn.to_value));("name",(Option.mapx.name~f:BillingViewName.to_value));("description",(Option.mapx.description~f:BillingViewDescription.to_value));("ownerAccountId",(Option.mapx.ownerAccountId~f:AccountId.to_value));("sourceAccountId",(Option.mapx.sourceAccountId~f:AccountId.to_value));("billingViewType",(Option.mapx.billingViewType~f:BillingViewType.to_value));("healthStatus",(Option.mapx.healthStatus~f:BillingViewHealthStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethealthStatus=(Option.map~f:BillingViewHealthStatus.of_xml)(Xml.childxml_arg0"healthStatus")inletbillingViewType=(Option.map~f:BillingViewType.of_xml)(Xml.childxml_arg0"billingViewType")inletsourceAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"sourceAccountId")inletownerAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"ownerAccountId")inletdescription=(Option.map~f:BillingViewDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:BillingViewName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:BillingViewArn.of_xml)(Xml.childxml_arg0"arn")inmake?healthStatus?billingViewType?sourceAccountId?ownerAccountId?description?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethealthStatus=field_mapjson__"healthStatus"BillingViewHealthStatus.of_jsoninletbillingViewType=field_mapjson__"billingViewType"BillingViewType.of_jsoninletsourceAccountId=field_mapjson__"sourceAccountId"AccountId.of_jsoninletownerAccountId=field_mapjson__"ownerAccountId"AccountId.of_jsoninletdescription=field_mapjson__"description"BillingViewDescription.of_jsoninletname=field_mapjson__"name"BillingViewName.of_jsoninletarn=field_mapjson__"arn"BillingViewArn.of_jsoninmake?healthStatus?billingViewType?sourceAccountId?ownerAccountId?description?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A representation of a billing view."]moduleStringSearch=structtypenonrect={searchOption:SearchOption.t[@ocaml.doc"The type of search operation to perform on the string value. Determines how the search value is matched against the target field."];searchValue:SearchValue.t[@ocaml.doc"The string value to use in the search operation. This value is compared against the target field using the specified search option."]}letcontext_="StringSearch"letmake~searchOption=fun~searchValue->fun()->{searchOption;searchValue}letto_valuex=structure_to_value[("searchOption",(Some(SearchOption.to_valuex.searchOption)));("searchValue",(Some(SearchValue.to_valuex.searchValue)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsearchValue=SearchValue.of_xml(Xml.child_exn~context:context_xml_arg0"searchValue")inletsearchOption=SearchOption.of_xml(Xml.child_exn~context:context_xml_arg0"searchOption")inmake~searchValue~searchOption()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsearchValue=field_map_exnjson__"searchValue"SearchValue.of_jsoninletsearchOption=field_map_exnjson__"searchOption"SearchOption.of_jsoninmake~searchValue~searchOption()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A structure that defines how to search for string values. You can specify a search option and the value to search for."]moduleExpression=structtypenonrect={dimensions:DimensionValues.toption[@ocaml.doc"The specific Dimension to use for Expression."];tags:TagValues.toption[@ocaml.doc"The specific Tag to use for Expression."];costCategories:CostCategoryValues.toption[@ocaml.doc"The filter that's based on CostCategory values."];timeRange:TimeRange.toption[@ocaml.doc"Specifies a time range filter for the billing view data."]}letmake?dimensions=fun?tags->fun?costCategories->fun?timeRange->fun()->{dimensions;tags;costCategories;timeRange}letto_valuex=structure_to_value[("dimensions",(Option.mapx.dimensions~f:DimensionValues.to_value));("tags",(Option.mapx.tags~f:TagValues.to_value));("costCategories",(Option.mapx.costCategories~f:CostCategoryValues.to_value));("timeRange",(Option.mapx.timeRange~f:TimeRange.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettimeRange=(Option.map~f:TimeRange.of_xml)(Xml.childxml_arg0"timeRange")inletcostCategories=(Option.map~f:CostCategoryValues.of_xml)(Xml.childxml_arg0"costCategories")inlettags=(Option.map~f:TagValues.of_xml)(Xml.childxml_arg0"tags")inletdimensions=(Option.map~f:DimensionValues.of_xml)(Xml.childxml_arg0"dimensions")inmake?timeRange?costCategories?tags?dimensions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettimeRange=field_mapjson__"timeRange"TimeRange.of_jsoninletcostCategories=field_mapjson__"costCategories"CostCategoryValues.of_jsoninlettags=field_mapjson__"tags"TagValues.of_jsoninletdimensions=field_mapjson__"dimensions"DimensionValues.of_jsoninmake?timeRange?costCategories?tags?dimensions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"See Expression. Billing view only supports LINKED_ACCOUNT, Tags, and CostCategories."]moduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleAccessDeniedException=structtypenonrect={message:ErrorMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You don't have sufficient access to perform this action."]moduleBillingViewHealthStatusException=structtypenonrect={message:ErrorMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Exception thrown when a billing view's health status prevents an operation from being performed. This may occur if the billing view is in a state other than HEALTHY."]moduleConflictException=structtypenonrect={message:ErrorMessage.toption;resourceId:ResourceId.toption[@ocaml.doc"The identifier for the service resource associated with the request."];resourceType:ResourceType.toption[@ocaml.doc"The type of resource associated with the request."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request."]moduleInternalServerException=structtypenonrect={message:ErrorMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request processing failed because of an unknown error, exception, or failure."]moduleResourceNotFoundException=structtypenonrect={message:ErrorMessage.toption;resourceId:ResourceId.toption[@ocaml.doc"Value is a list of resource IDs that were not found."];resourceType:ResourceType.toption[@ocaml.doc"Value is the type of resource that was not found."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The specified ARN in the request doesn't exist."]moduleServiceQuotaExceededException=structtypenonrect={message:ErrorMessage.toption;resourceId:ResourceId.toption[@ocaml.doc"The ID of the resource."];resourceType:ResourceType.toption[@ocaml.doc"The type of Amazon Web Services resource."];serviceCode:ServiceCode.toption[@ocaml.doc"The container for the serviceCode."];quotaCode:QuotaCode.toption[@ocaml.doc"The container for the quotaCode."]}letmake?message=fun?resourceId->fun?resourceType->fun?serviceCode->fun?quotaCode->fun()->{message;resourceId;resourceType;serviceCode;quotaCode}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value));("resourceId",(Option.mapx.resourceId~f:ResourceId.to_value));("resourceType",(Option.mapx.resourceType~f:ResourceType.to_value));("serviceCode",(Option.mapx.serviceCode~f:ServiceCode.to_value));("quotaCode",(Option.mapx.quotaCode~f:QuotaCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letquotaCode=(Option.map~f:QuotaCode.of_xml)(Xml.childxml_arg0"quotaCode")inletserviceCode=(Option.map~f:ServiceCode.of_xml)(Xml.childxml_arg0"serviceCode")inletresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"resourceType")inletresourceId=(Option.map~f:ResourceId.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?quotaCode?serviceCode?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letquotaCode=field_mapjson__"quotaCode"QuotaCode.of_jsoninletserviceCode=field_mapjson__"serviceCode"ServiceCode.of_jsoninletresourceType=field_mapjson__"resourceType"ResourceType.of_jsoninletresourceId=field_mapjson__"resourceId"ResourceId.of_jsoninletmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?quotaCode?serviceCode?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You've reached the limit of resources you can create, or exceeded the size of an individual resource."]moduleThrottlingException=structtypenonrect={message:ErrorMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was denied due to request throttling."]moduleValidationException=structtypenonrect={message:ErrorMessage.toption;reason:ValidationExceptionReason.toption[@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."];fieldList:ValidationExceptionFieldList.toption[@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."]}letmake?message=fun?reason->fun?fieldList->fun()->{message;reason;fieldList}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.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:ErrorMessage.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"ErrorMessage.of_jsoninmake?fieldList?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."]moduleResourceArn=structtypenonrect=stringletcontext_="ResourceArn"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"arn:aws[a-z-]*:(billing)::[0-9]{12}:[a-zA-Z0-9/:_\\+=\\.\\@-]{0,70}[a-zA-Z0-9]");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceArn"jletto_json=simple_to_jsonto_valueendmoduleResourceTagKeyList=structtypenonrect=ResourceTagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ResourceTagKey.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:ResourceTagKey.of_xml)letof_jsonj=list_of_json~kind:"ResourceTagKeyList"~of_json:ResourceTagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleResourceTagList=structtypenonrect=ResourceTag.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ResourceTag.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:ResourceTag.of_xml)letof_jsonj=list_of_json~kind:"ResourceTagList"~of_json:ResourceTag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBillingViewSourceViewsList=structtypenonrect=BillingViewArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BillingViewArn.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:BillingViewArn.of_xml)letof_jsonj=list_of_json~kind:"BillingViewSourceViewsList"~of_json:BillingViewArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePageToken=structtypenonrect=stringletcontext_="PageToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2047)>>=(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:"PageToken"jletto_json=simple_to_jsonto_valueendmoduleBillingViewsMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for BillingViewsMaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleBillingViewList=structtypenonrect=BillingViewListElement.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BillingViewListElement.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:BillingViewListElement.of_xml)letof_jsonj=list_of_json~kind:"BillingViewList"~of_json:BillingViewListElement.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleActiveTimeRange=structtypenonrect={activeAfterInclusive:Timestamp.t[@ocaml.doc"The inclusive time range start date."];activeBeforeInclusive:Timestamp.t[@ocaml.doc"The inclusive time range end date."]}letcontext_="ActiveTimeRange"letmake~activeAfterInclusive=fun~activeBeforeInclusive->fun()->{activeAfterInclusive;activeBeforeInclusive}letto_valuex=structure_to_value[("activeAfterInclusive",(Some(Timestamp.to_valuex.activeAfterInclusive)));("activeBeforeInclusive",(Some(Timestamp.to_valuex.activeBeforeInclusive)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letactiveBeforeInclusive=Timestamp.of_xml(Xml.child_exn~context:context_xml_arg0"activeBeforeInclusive")inletactiveAfterInclusive=Timestamp.of_xml(Xml.child_exn~context:context_xml_arg0"activeAfterInclusive")inmake~activeBeforeInclusive~activeAfterInclusive()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letactiveBeforeInclusive=field_map_exnjson__"activeBeforeInclusive"Timestamp.of_jsoninletactiveAfterInclusive=field_map_exnjson__"activeAfterInclusive"Timestamp.of_jsoninmake~activeBeforeInclusive~activeAfterInclusive()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A time range with a start and end time."]moduleBillingViewArnList=structtypenonrect=BillingViewArn.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:10)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BillingViewArn.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:BillingViewArn.of_xml)letof_jsonj=list_of_json~kind:"BillingViewArnList"~of_json:BillingViewArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBillingViewTypeList=structtypenonrect=BillingViewType.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BillingViewType.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:BillingViewType.of_xml)letof_jsonj=list_of_json~kind:"BillingViewTypeList"~of_json:BillingViewType.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleStringSearches=structtypenonrect=StringSearch.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:1)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:StringSearch.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:StringSearch.of_xml)letof_jsonj=list_of_json~kind:"StringSearches"~of_json:StringSearch.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePolicyDocument=structtypenonrect=stringletcontext_="PolicyDocument"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"PolicyDocument"jletto_json=simple_to_jsonto_valueendmoduleBillingViewElement=structtypenonrect={arn:BillingViewArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."];name:BillingViewName.toption[@ocaml.doc"The account name of the billing view."];description:BillingViewDescription.toption[@ocaml.doc"The description of the billing view."];billingViewType:BillingViewType.toption[@ocaml.doc"The type of billing group."];ownerAccountId:AccountId.toption[@ocaml.doc"The account owner of the billing view."];sourceAccountId:AccountId.toption[@ocaml.doc"The Amazon Web Services account ID that owns the source billing view, if this is a derived billing view."];dataFilterExpression:Expression.toption[@ocaml.doc"See Expression. Billing view only supports LINKED_ACCOUNT, Tags, and CostCategories."];createdAt:Timestamp.toption[@ocaml.doc"The time when the billing view was created."];updatedAt:Timestamp.toption[@ocaml.doc"The time when the billing view was last updated."];derivedViewCount:Integer.toption[@ocaml.doc"The number of billing views that use this billing view as a source."];sourceViewCount:Integer.toption[@ocaml.doc"The number of source views associated with this billing view."];viewDefinitionLastUpdatedAt:Timestamp.toption[@ocaml.doc"The timestamp of when the billing view definition was last updated."];healthStatus:BillingViewHealthStatus.toption[@ocaml.doc"The current health status of the billing view."]}letmake?arn=fun?name->fun?description->fun?billingViewType->fun?ownerAccountId->fun?sourceAccountId->fun?dataFilterExpression->fun?createdAt->fun?updatedAt->fun?derivedViewCount->fun?sourceViewCount->fun?viewDefinitionLastUpdatedAt->fun?healthStatus->fun()->{arn;name;description;billingViewType;ownerAccountId;sourceAccountId;dataFilterExpression;createdAt;updatedAt;derivedViewCount;sourceViewCount;viewDefinitionLastUpdatedAt;healthStatus}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:BillingViewArn.to_value));("name",(Option.mapx.name~f:BillingViewName.to_value));("description",(Option.mapx.description~f:BillingViewDescription.to_value));("billingViewType",(Option.mapx.billingViewType~f:BillingViewType.to_value));("ownerAccountId",(Option.mapx.ownerAccountId~f:AccountId.to_value));("sourceAccountId",(Option.mapx.sourceAccountId~f:AccountId.to_value));("dataFilterExpression",(Option.mapx.dataFilterExpression~f:Expression.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value));("derivedViewCount",(Option.mapx.derivedViewCount~f:Integer.to_value));("sourceViewCount",(Option.mapx.sourceViewCount~f:Integer.to_value));("viewDefinitionLastUpdatedAt",(Option.mapx.viewDefinitionLastUpdatedAt~f:Timestamp.to_value));("healthStatus",(Option.mapx.healthStatus~f:BillingViewHealthStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lethealthStatus=(Option.map~f:BillingViewHealthStatus.of_xml)(Xml.childxml_arg0"healthStatus")inletviewDefinitionLastUpdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"viewDefinitionLastUpdatedAt")inletsourceViewCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"sourceViewCount")inletderivedViewCount=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"derivedViewCount")inletupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletdataFilterExpression=(Option.map~f:Expression.of_xml)(Xml.childxml_arg0"dataFilterExpression")inletsourceAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"sourceAccountId")inletownerAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"ownerAccountId")inletbillingViewType=(Option.map~f:BillingViewType.of_xml)(Xml.childxml_arg0"billingViewType")inletdescription=(Option.map~f:BillingViewDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:BillingViewName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:BillingViewArn.of_xml)(Xml.childxml_arg0"arn")inmake?healthStatus?viewDefinitionLastUpdatedAt?sourceViewCount?derivedViewCount?updatedAt?createdAt?dataFilterExpression?sourceAccountId?ownerAccountId?billingViewType?description?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lethealthStatus=field_mapjson__"healthStatus"BillingViewHealthStatus.of_jsoninletviewDefinitionLastUpdatedAt=field_mapjson__"viewDefinitionLastUpdatedAt"Timestamp.of_jsoninletsourceViewCount=field_mapjson__"sourceViewCount"Integer.of_jsoninletderivedViewCount=field_mapjson__"derivedViewCount"Integer.of_jsoninletupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletdataFilterExpression=field_mapjson__"dataFilterExpression"Expression.of_jsoninletsourceAccountId=field_mapjson__"sourceAccountId"AccountId.of_jsoninletownerAccountId=field_mapjson__"ownerAccountId"AccountId.of_jsoninletbillingViewType=field_mapjson__"billingViewType"BillingViewType.of_jsoninletdescription=field_mapjson__"description"BillingViewDescription.of_jsoninletname=field_mapjson__"name"BillingViewName.of_jsoninletarn=field_mapjson__"arn"BillingViewArn.of_jsoninmake?healthStatus?viewDefinitionLastUpdatedAt?sourceViewCount?derivedViewCount?updatedAt?createdAt?dataFilterExpression?sourceAccountId?ownerAccountId?billingViewType?description?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The metadata associated to the billing view."]moduleBoolean=structtypenonrect=boolletmakei=iletof_string=Bool.of_stringletto_valuex=`Booleanxletto_queryv=to_queryto_valuevletto_headerx=Bool.to_stringxletof_xmlxml_arg0=Bool.of_string(string_of_xml~kind:"a boolean"xml_arg0)letof_json=bool_of_jsonletto_json=simple_to_jsonto_valueendmoduleClientToken=structtypenonrect=stringletcontext_="ClientToken"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-zA-Z0-9-]+");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ClientToken"jletto_json=simple_to_jsonto_valueendmoduleUpdateBillingViewResponse=structtypenonrect={arn:BillingViewArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."];updatedAt:Timestamp.toption[@ocaml.doc"The time when the billing view was last updated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BillingViewHealthStatusExceptionofBillingViewHealthStatusException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?updatedAt->fun()->{arn;updatedAt}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BillingViewHealthStatusException"->`BillingViewHealthStatusException(BillingViewHealthStatusException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BillingViewHealthStatusException"->`BillingViewHealthStatusException(BillingViewHealthStatusException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BillingViewHealthStatusExceptione->`Assoc[("error",(`String"BillingViewHealthStatusException"));("details",(BillingViewHealthStatusException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:BillingViewArn.to_value));("updatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"updatedAt")inletarn=(Option.map~f:BillingViewArn.of_xml)(Xml.childxml_arg0"arn")inmake?updatedAt?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninletarn=field_mapjson__"arn"BillingViewArn.of_jsoninmake?updatedAt?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An API to update the attributes of the billing view."]moduleUpdateBillingViewRequest=structtypenonrect={arn:BillingViewArn.t[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."];name:BillingViewName.toption[@ocaml.doc"The name of the billing view."];description:BillingViewDescription.toption[@ocaml.doc"The description of the billing view."];dataFilterExpression:Expression.toption[@ocaml.doc"See Expression. Billing view only supports LINKED_ACCOUNT, Tags, and CostCategories."]}letcontext_="UpdateBillingViewRequest"letmake?name=fun?description->fun?dataFilterExpression->fun~arn->fun()->{name;description;dataFilterExpression;arn}letto_valuex=structure_to_value[("arn",(Some(BillingViewArn.to_valuex.arn)));("name",(Option.mapx.name~f:BillingViewName.to_value));("description",(Option.mapx.description~f:BillingViewDescription.to_value));("dataFilterExpression",(Option.mapx.dataFilterExpression~f:Expression.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdataFilterExpression=(Option.map~f:Expression.of_xml)(Xml.childxml_arg0"dataFilterExpression")inletdescription=(Option.map~f:BillingViewDescription.of_xml)(Xml.childxml_arg0"description")inletname=(Option.map~f:BillingViewName.of_xml)(Xml.childxml_arg0"name")inletarn=BillingViewArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake?dataFilterExpression?description?name~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdataFilterExpression=field_mapjson__"dataFilterExpression"Expression.of_jsoninletdescription=field_mapjson__"description"BillingViewDescription.of_jsoninletname=field_mapjson__"name"BillingViewName.of_jsoninletarn=field_map_exnjson__"arn"BillingViewArn.of_jsoninmake?dataFilterExpression?description?name~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An API to update the attributes of the billing view."]moduleUntagResourceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes one or more tags from a resource. Specify only tag keys in your request. Don't specify the value."]moduleUntagResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];resourceTagKeys:ResourceTagKeyList.t[@ocaml.doc"A list of tag key value pairs that are associated with the resource."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~resourceTagKeys->fun()->{resourceArn;resourceTagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)));("resourceTagKeys",(Some(ResourceTagKeyList.to_valuex.resourceTagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceTagKeys=ResourceTagKeyList.of_xml(Xml.child_exn~context:context_xml_arg0"resourceTagKeys")inletresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceTagKeys~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceTagKeys=field_map_exnjson__"resourceTagKeys"ResourceTagKeyList.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~resourceTagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes one or more tags from a resource. Specify only tag keys in your request. Don't specify the value."]moduleTagResourceResponse=structtypenonrect=unittypenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An API operation for adding one or more tags (key-value pairs) to a resource."]moduleTagResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];resourceTags:ResourceTagList.t[@ocaml.doc"A list of tag key value pairs that are associated with the resource."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~resourceTags->fun()->{resourceArn;resourceTags}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)));("resourceTags",(Some(ResourceTagList.to_valuex.resourceTags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceTags=ResourceTagList.of_xml(Xml.child_exn~context:context_xml_arg0"resourceTags")inletresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceTags~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceTags=field_map_exnjson__"resourceTags"ResourceTagList.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~resourceTags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An API operation for adding one or more tags (key-value pairs) to a resource."]moduleListTagsForResourceResponse=structtypenonrect={resourceTags:ResourceTagList.toption[@ocaml.doc"A list of tag key value pairs that are associated with the resource."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceTags=fun()->{resourceTags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("resourceTags",(Option.mapx.resourceTags~f:ResourceTagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceTags=(Option.map~f:ResourceTagList.of_xml)(Xml.childxml_arg0"resourceTags")inmake?resourceTags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceTags=field_mapjson__"resourceTags"ResourceTagList.of_jsoninmake?resourceTags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists tags associated with the billing view resource."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists tags associated with the billing view resource."]moduleListSourceViewsForBillingViewResponse=structtypenonrect={sourceViews:BillingViewSourceViewsList.toption[@ocaml.doc"A list of billing views used as the data source for the custom billing view."];nextToken:PageToken.toption[@ocaml.doc"The pagination token that is used on subsequent calls to list billing views."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?sourceViews=fun?nextToken->fun()->{sourceViews;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("sourceViews",(Option.mapx.sourceViews~f:BillingViewSourceViewsList.to_value));("nextToken",(Option.mapx.nextToken~f:PageToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PageToken.of_xml)(Xml.childxml_arg0"nextToken")inletsourceViews=(Option.map~f:BillingViewSourceViewsList.of_xml)(Xml.childxml_arg0"sourceViews")inmake?nextToken?sourceViews()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PageToken.of_jsoninletsourceViews=field_mapjson__"sourceViews"BillingViewSourceViewsList.of_jsoninmake?nextToken?sourceViews()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the source views (managed Amazon Web Services billing views) associated with the billing view."]moduleListSourceViewsForBillingViewRequest=structtypenonrect={arn:BillingViewArn.t[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."];maxResults:BillingViewsMaxResults.toption[@ocaml.doc"The number of entries a paginated response contains."];nextToken:PageToken.toption[@ocaml.doc"The pagination token that is used on subsequent calls to list billing views."]}letcontext_="ListSourceViewsForBillingViewRequest"letmake?maxResults=fun?nextToken->fun~arn->fun()->{maxResults;nextToken;arn}letto_valuex=structure_to_value[("arn",(Some(BillingViewArn.to_valuex.arn)));("maxResults",(Option.mapx.maxResults~f:BillingViewsMaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:PageToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PageToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:BillingViewsMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletarn=BillingViewArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake?nextToken?maxResults~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PageToken.of_jsoninletmaxResults=field_mapjson__"maxResults"BillingViewsMaxResults.of_jsoninletarn=field_map_exnjson__"arn"BillingViewArn.of_jsoninmake?nextToken?maxResults~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the source views (managed Amazon Web Services billing views) associated with the billing view."]moduleListBillingViewsResponse=structtypenonrect={billingViews:BillingViewList.toption[@ocaml.doc"A list of BillingViewListElement retrieved."];nextToken:PageToken.toption[@ocaml.doc"The pagination token to use on subsequent calls to list billing views."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?billingViews=fun?nextToken->fun()->{billingViews;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("billingViews",(Option.mapx.billingViews~f:BillingViewList.to_value));("nextToken",(Option.mapx.nextToken~f:PageToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PageToken.of_xml)(Xml.childxml_arg0"nextToken")inletbillingViews=(Option.map~f:BillingViewList.of_xml)(Xml.childxml_arg0"billingViews")inmake?nextToken?billingViews()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PageToken.of_jsoninletbillingViews=field_mapjson__"billingViews"BillingViewList.of_jsoninmake?nextToken?billingViews()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the billing views available for a given time period. Every Amazon Web Services account has a unique PRIMARY billing view that represents the billing data available by default. Accounts that use Billing Conductor also have BILLING_GROUP billing views representing pro forma costs associated with each created billing group."]moduleListBillingViewsRequest=structtypenonrect={activeTimeRange:ActiveTimeRange.toption[@ocaml.doc"The time range for the billing views listed. PRIMARY billing view is always listed. BILLING_GROUP billing views are listed for time ranges when the associated billing group resource in Billing Conductor is active. The time range must be within one calendar month."];arns:BillingViewArnList.toption[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."];billingViewTypes:BillingViewTypeList.toption[@ocaml.doc"The type of billing view."];names:StringSearches.toption[@ocaml.doc"Filters the list of billing views by name. You can specify search criteria to match billing view names based on the search option provided."];ownerAccountId:AccountId.toption[@ocaml.doc"The list of owners of the billing view."];sourceAccountId:AccountId.toption[@ocaml.doc"Filters the results to include only billing views that use the specified account as a source."];maxResults:BillingViewsMaxResults.toption[@ocaml.doc"The maximum number of billing views to retrieve. Default is 100."];nextToken:PageToken.toption[@ocaml.doc"The pagination token that is used on subsequent calls to list billing views."]}letmake?activeTimeRange=fun?arns->fun?billingViewTypes->fun?names->fun?ownerAccountId->fun?sourceAccountId->fun?maxResults->fun?nextToken->fun()->{activeTimeRange;arns;billingViewTypes;names;ownerAccountId;sourceAccountId;maxResults;nextToken}letto_valuex=structure_to_value[("activeTimeRange",(Option.mapx.activeTimeRange~f:ActiveTimeRange.to_value));("arns",(Option.mapx.arns~f:BillingViewArnList.to_value));("billingViewTypes",(Option.mapx.billingViewTypes~f:BillingViewTypeList.to_value));("names",(Option.mapx.names~f:StringSearches.to_value));("ownerAccountId",(Option.mapx.ownerAccountId~f:AccountId.to_value));("sourceAccountId",(Option.mapx.sourceAccountId~f:AccountId.to_value));("maxResults",(Option.mapx.maxResults~f:BillingViewsMaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:PageToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:PageToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:BillingViewsMaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletsourceAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"sourceAccountId")inletownerAccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"ownerAccountId")inletnames=(Option.map~f:StringSearches.of_xml)(Xml.childxml_arg0"names")inletbillingViewTypes=(Option.map~f:BillingViewTypeList.of_xml)(Xml.childxml_arg0"billingViewTypes")inletarns=(Option.map~f:BillingViewArnList.of_xml)(Xml.childxml_arg0"arns")inletactiveTimeRange=(Option.map~f:ActiveTimeRange.of_xml)(Xml.childxml_arg0"activeTimeRange")inmake?nextToken?maxResults?sourceAccountId?ownerAccountId?names?billingViewTypes?arns?activeTimeRange()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"PageToken.of_jsoninletmaxResults=field_mapjson__"maxResults"BillingViewsMaxResults.of_jsoninletsourceAccountId=field_mapjson__"sourceAccountId"AccountId.of_jsoninletownerAccountId=field_mapjson__"ownerAccountId"AccountId.of_jsoninletnames=field_mapjson__"names"StringSearches.of_jsoninletbillingViewTypes=field_mapjson__"billingViewTypes"BillingViewTypeList.of_jsoninletarns=field_mapjson__"arns"BillingViewArnList.of_jsoninletactiveTimeRange=field_mapjson__"activeTimeRange"ActiveTimeRange.of_jsoninmake?nextToken?maxResults?sourceAccountId?ownerAccountId?names?billingViewTypes?arns?activeTimeRange()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the billing views available for a given time period. Every Amazon Web Services account has a unique PRIMARY billing view that represents the billing data available by default. Accounts that use Billing Conductor also have BILLING_GROUP billing views representing pro forma costs associated with each created billing group."]moduleGetResourcePolicyResponse=structtypenonrect={resourceArn:ResourceArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the billing view resource to which the policy is attached to."];policy:PolicyDocument.toption[@ocaml.doc"The resource-based policy document attached to the resource in JSON format."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?resourceArn=fun?policy->fun()->{resourceArn;policy}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("resourceArn",(Option.mapx.resourceArn~f:ResourceArn.to_value));("policy",(Option.mapx.policy~f:PolicyDocument.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpolicy=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"policy")inletresourceArn=(Option.map~f:ResourceArn.of_xml)(Xml.childxml_arg0"resourceArn")inmake?policy?resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpolicy=field_mapjson__"policy"PolicyDocument.of_jsoninletresourceArn=field_mapjson__"resourceArn"ResourceArn.of_jsoninmake?policy?resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the resource-based policy document attached to the resource in JSON format."]moduleGetResourcePolicyRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the billing view resource to which the policy is attached to."]}letcontext_="GetResourcePolicyRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=ResourceArn.of_xml(Xml.child_exn~context:context_xml_arg0"resourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"resourceArn"ResourceArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the resource-based policy document attached to the resource in JSON format."]moduleGetBillingViewResponse=structtypenonrect={billingView:BillingViewElement.toption[@ocaml.doc"The billing view element associated with the specified ARN."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?billingView=fun()->{billingView}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("billingView",(Option.mapx.billingView~f:BillingViewElement.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbillingView=(Option.map~f:BillingViewElement.of_xml)(Xml.childxml_arg0"billingView")inmake?billingView()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbillingView=field_mapjson__"billingView"BillingViewElement.of_jsoninmake?billingView()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the metadata associated to the specified billing view ARN."]moduleGetBillingViewRequest=structtypenonrect={arn:BillingViewArn.t[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."]}letcontext_="GetBillingViewRequest"letmake~arn=fun()->{arn}letto_valuex=structure_to_value[("arn",(Some(BillingViewArn.to_valuex.arn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=BillingViewArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_map_exnjson__"arn"BillingViewArn.of_jsoninmake~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns the metadata associated to the specified billing view ARN."]moduleDisassociateSourceViewsResponse=structtypenonrect={arn:BillingViewArn.toption[@ocaml.doc"The ARN of the billing view that the source views were disassociated from."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BillingViewHealthStatusExceptionofBillingViewHealthStatusException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun()->{arn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BillingViewHealthStatusException"->`BillingViewHealthStatusException(BillingViewHealthStatusException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BillingViewHealthStatusException"->`BillingViewHealthStatusException(BillingViewHealthStatusException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BillingViewHealthStatusExceptione->`Assoc[("error",(`String"BillingViewHealthStatusException"));("details",(BillingViewHealthStatusException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:BillingViewArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:BillingViewArn.of_xml)(Xml.childxml_arg0"arn")inmake?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"BillingViewArn.of_jsoninmake?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the association between one or more source billing views and an existing billing view. This allows modifying the composition of aggregate billing views."]moduleDisassociateSourceViewsRequest=structtypenonrect={arn:BillingViewArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the billing view to disassociate source views from."];sourceViews:BillingViewSourceViewsList.t[@ocaml.doc"A list of ARNs of the source billing views to disassociate."]}letcontext_="DisassociateSourceViewsRequest"letmake~arn=fun~sourceViews->fun()->{arn;sourceViews}letto_valuex=structure_to_value[("arn",(Some(BillingViewArn.to_valuex.arn)));("sourceViews",(Some(BillingViewSourceViewsList.to_valuex.sourceViews)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsourceViews=BillingViewSourceViewsList.of_xml(Xml.child_exn~context:context_xml_arg0"sourceViews")inletarn=BillingViewArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~sourceViews~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsourceViews=field_map_exnjson__"sourceViews"BillingViewSourceViewsList.of_jsoninletarn=field_map_exnjson__"arn"BillingViewArn.of_jsoninmake~sourceViews~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes the association between one or more source billing views and an existing billing view. This allows modifying the composition of aggregate billing views."]moduleDeleteBillingViewResponse=structtypenonrect={arn:BillingViewArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun()->{arn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:BillingViewArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:BillingViewArn.of_xml)(Xml.childxml_arg0"arn")inmake?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"BillingViewArn.of_jsoninmake?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified billing view."]moduleDeleteBillingViewRequest=structtypenonrect={arn:BillingViewArn.t[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."];force:Boolean.toption[@ocaml.doc"If set to true, forces deletion of the billing view even if it has derived resources (e.g. other billing views or budgets). Use with caution as this may break dependent resources."]}letcontext_="DeleteBillingViewRequest"letmake?force=fun~arn->fun()->{force;arn}letto_valuex=structure_to_value[("arn",(Some(BillingViewArn.to_valuex.arn)));("force",(Option.mapx.force~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letforce=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"force")inletarn=BillingViewArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake?force~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letforce=field_mapjson__"force"Boolean.of_jsoninletarn=field_map_exnjson__"arn"BillingViewArn.of_jsoninmake?force~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified billing view."]moduleCreateBillingViewResponse=structtypenonrect={arn:BillingViewArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) that can be used to uniquely identify the billing view."];createdAt:Timestamp.toption[@ocaml.doc"The time when the billing view was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BillingViewHealthStatusExceptionofBillingViewHealthStatusException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?createdAt->fun()->{arn;createdAt}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BillingViewHealthStatusException"->`BillingViewHealthStatusException(BillingViewHealthStatusException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BillingViewHealthStatusException"->`BillingViewHealthStatusException(BillingViewHealthStatusException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BillingViewHealthStatusExceptione->`Assoc[("error",(`String"BillingViewHealthStatusException"));("details",(BillingViewHealthStatusException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:BillingViewArn.to_value));("createdAt",(Option.mapx.createdAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"createdAt")inletarn=(Option.map~f:BillingViewArn.of_xml)(Xml.childxml_arg0"arn")inmake?createdAt?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreatedAt=field_mapjson__"createdAt"Timestamp.of_jsoninletarn=field_mapjson__"arn"BillingViewArn.of_jsoninmake?createdAt?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a billing view with the specified billing view attributes."]moduleCreateBillingViewRequest=structtypenonrect={name:BillingViewName.t[@ocaml.doc"The name of the billing view."];description:BillingViewDescription.toption[@ocaml.doc"The description of the billing view."];sourceViews:BillingViewSourceViewsList.t[@ocaml.doc"A list of billing views used as the data source for the custom billing view."];dataFilterExpression:Expression.toption[@ocaml.doc"See Expression. Billing view only supports LINKED_ACCOUNT, Tags, and CostCategories."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. If the original request completes successfully, any subsequent retries complete successfully without performing any further actions with an idempotent request."];resourceTags:ResourceTagList.toption[@ocaml.doc"A list of key value map specifying tags associated to the billing view being created."]}letcontext_="CreateBillingViewRequest"letmake?description=fun?dataFilterExpression->fun?clientToken->fun?resourceTags->fun~name->fun~sourceViews->fun()->{description;dataFilterExpression;clientToken;resourceTags;name;sourceViews}letto_valuex=structure_to_value[("name",(Some(BillingViewName.to_valuex.name)));("description",(Option.mapx.description~f:BillingViewDescription.to_value));("sourceViews",(Some(BillingViewSourceViewsList.to_valuex.sourceViews)));("dataFilterExpression",(Option.mapx.dataFilterExpression~f:Expression.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("resourceTags",(Option.mapx.resourceTags~f:ResourceTagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceTags=(Option.map~f:ResourceTagList.of_xml)(Xml.childxml_arg0"resourceTags")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletdataFilterExpression=(Option.map~f:Expression.of_xml)(Xml.childxml_arg0"dataFilterExpression")inletsourceViews=BillingViewSourceViewsList.of_xml(Xml.child_exn~context:context_xml_arg0"sourceViews")inletdescription=(Option.map~f:BillingViewDescription.of_xml)(Xml.childxml_arg0"description")inletname=BillingViewName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?resourceTags?clientToken?dataFilterExpression~sourceViews?description~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceTags=field_mapjson__"resourceTags"ResourceTagList.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletdataFilterExpression=field_mapjson__"dataFilterExpression"Expression.of_jsoninletsourceViews=field_map_exnjson__"sourceViews"BillingViewSourceViewsList.of_jsoninletdescription=field_mapjson__"description"BillingViewDescription.of_jsoninletname=field_map_exnjson__"name"BillingViewName.of_jsoninmake?resourceTags?clientToken?dataFilterExpression~sourceViews?description~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a billing view with the specified billing view attributes."]moduleAssociateSourceViewsResponse=structtypenonrect={arn:BillingViewArn.toption[@ocaml.doc"The ARN of the billing view that the source views were associated with."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BillingViewHealthStatusExceptionofBillingViewHealthStatusException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun()->{arn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BillingViewHealthStatusException"->`BillingViewHealthStatusException(BillingViewHealthStatusException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BillingViewHealthStatusException"->`BillingViewHealthStatusException(BillingViewHealthStatusException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BillingViewHealthStatusExceptione->`Assoc[("error",(`String"BillingViewHealthStatusException"));("details",(BillingViewHealthStatusException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:BillingViewArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:BillingViewArn.of_xml)(Xml.childxml_arg0"arn")inmake?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"BillingViewArn.of_jsoninmake?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates one or more source billing views with an existing billing view. This allows creating aggregate billing views that combine data from multiple sources."]moduleAssociateSourceViewsRequest=structtypenonrect={arn:BillingViewArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the billing view to associate source views with."];sourceViews:BillingViewSourceViewsList.t[@ocaml.doc"A list of ARNs of the source billing views to associate."]}letcontext_="AssociateSourceViewsRequest"letmake~arn=fun~sourceViews->fun()->{arn;sourceViews}letto_valuex=structure_to_value[("arn",(Some(BillingViewArn.to_valuex.arn)));("sourceViews",(Some(BillingViewSourceViewsList.to_valuex.sourceViews)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letsourceViews=BillingViewSourceViewsList.of_xml(Xml.child_exn~context:context_xml_arg0"sourceViews")inletarn=BillingViewArn.of_xml(Xml.child_exn~context:context_xml_arg0"arn")inmake~sourceViews~arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letsourceViews=field_map_exnjson__"sourceViews"BillingViewSourceViewsList.of_jsoninletarn=field_map_exnjson__"arn"BillingViewArn.of_jsoninmake~sourceViews~arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates one or more source billing views with an existing billing view. This allows creating aggregate billing views that combine data from multiple sources."]