1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741(* 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.freetierletapiVersion="2023-09-07"letendpointPrefix="freetier"letserviceFullName="AWS Free Tier"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="AWSFreeTierService"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[]))])moduleGenericString=structtypenonrect=stringletcontext_="GenericString"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:"GenericString"jletto_json=simple_to_jsonto_valueendmoduleAccessDeniedException=structtypenonrect={message:GenericString.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You don't have sufficient access to perform this action."]moduleAccountId=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_valueendmoduleAccountPlanStatus=structtypenonrect=|NOT_STARTED|ACTIVE|EXPIRED|Non_static_idofstringletmakei=iletto_string=function|NOT_STARTED->"NOT_STARTED"|ACTIVE->"ACTIVE"|EXPIRED->"EXPIRED"|Non_static_ids->sletof_string=function|"NOT_STARTED"->NOT_STARTED|"ACTIVE"->ACTIVE|"EXPIRED"->EXPIRED|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 AccountPlanStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccountPlanStatus"j)letto_json=simple_to_jsonto_valueendmoduleAccountPlanType=structtypenonrect=|FREE|PAID|Non_static_idofstringletmakei=iletto_string=function|FREE->"FREE"|PAID->"PAID"|Non_static_ids->sletof_string=function|"FREE"->FREE|"PAID"->PAID|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 AccountPlanType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AccountPlanType"j)letto_json=simple_to_jsonto_valueendmoduleActivityStatus=structtypenonrect=|NOT_STARTED|IN_PROGRESS|COMPLETED|EXPIRING|Non_static_idofstringletmakei=iletto_string=function|NOT_STARTED->"NOT_STARTED"|IN_PROGRESS->"IN_PROGRESS"|COMPLETED->"COMPLETED"|EXPIRING->"EXPIRING"|Non_static_ids->sletof_string=function|"NOT_STARTED"->NOT_STARTED|"IN_PROGRESS"->IN_PROGRESS|"COMPLETED"->COMPLETED|"EXPIRING"->EXPIRING|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 ActivityStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ActivityStatus"j)letto_json=simple_to_jsonto_valueendmoduleGenericDouble=structtypenonrect=floatletmakei=iletof_string=Float.of_stringletto_valuex=`Doublexletto_queryv=to_queryto_valuevletto_headerx=Stdlib.Float.to_stringxletof_xmlxml_arg0=Float.of_string(string_of_xml~kind:"a double"xml_arg0)letof_jsonj=float_of_json~kind:"a double"jletto_json=simple_to_jsonto_valueendmoduleCurrencyCode=structtypenonrect=|USD|Non_static_idofstringletmakei=iletto_string=function|USD->"USD"|Non_static_ids->sletof_string=function|"USD"->USD|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 CurrencyCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CurrencyCode"j)letto_json=simple_to_jsonto_valueendmoduleMonetaryAmount=structtypenonrect={amount:GenericDouble.toption[@ocaml.doc"The aggregated monetary amount of credits earned."];unit:CurrencyCode.toption[@ocaml.doc"The unit that the monetary amount is given in."]}letmake?amount=fun?unit->fun()->{amount;unit}letto_valuex=structure_to_value[("amount",(Option.mapx.amount~f:GenericDouble.to_value));("unit",(Option.mapx.unit~f:CurrencyCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letunit=(Option.map~f:CurrencyCode.of_xml)(Xml.childxml_arg0"unit")inletamount=(Option.map~f:GenericDouble.of_xml)(Xml.childxml_arg0"amount")inmake?unit?amount()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letunit=field_mapjson__"unit"CurrencyCode.of_jsoninletamount=field_mapjson__"amount"GenericDouble.of_jsoninmake?unit?amount()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The monetary amount of the credit."]moduleActivityReward=structtypenonrect={credit:MonetaryAmount.toption[@ocaml.doc"The credits gained by activity rewards."]}letmake?credit=fun()->{credit}letto_valuex=structure_to_value[("credit",(Option.mapx.credit~f:MonetaryAmount.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcredit=(Option.map~f:MonetaryAmount.of_xml)(Xml.childxml_arg0"credit")inmake?credit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcredit=field_mapjson__"credit"MonetaryAmount.of_jsoninmake?credit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The summary of the rewards granted as a result of activities completed."]moduleActivityId=structtypenonrect=stringletcontext_="ActivityId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:32)>>=(fun()->(check_string_maxi~max:32)>>=(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:"ActivityId"jletto_json=simple_to_jsonto_valueendmoduleActivitySummary=structtypenonrect={activityId:ActivityId.toption[@ocaml.doc"A unique identifier that identifies the activity."];title:GenericString.toption[@ocaml.doc"The title of the activity."];reward:ActivityReward.toption[@ocaml.doc"The reward for the activity."];status:ActivityStatus.toption[@ocaml.doc"The current status of the activity."]}letmake?activityId=fun?title->fun?reward->fun?status->fun()->{activityId;title;reward;status}letto_valuex=structure_to_value[("activityId",(Option.mapx.activityId~f:ActivityId.to_value));("title",(Option.mapx.title~f:GenericString.to_value));("reward",(Option.mapx.reward~f:ActivityReward.to_value));("status",(Option.mapx.status~f:ActivityStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:ActivityStatus.of_xml)(Xml.childxml_arg0"status")inletreward=(Option.map~f:ActivityReward.of_xml)(Xml.childxml_arg0"reward")inlettitle=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"title")inletactivityId=(Option.map~f:ActivityId.of_xml)(Xml.childxml_arg0"activityId")inmake?status?reward?title?activityId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"ActivityStatus.of_jsoninletreward=field_mapjson__"reward"ActivityReward.of_jsoninlettitle=field_mapjson__"title"GenericString.of_jsoninletactivityId=field_mapjson__"activityId"ActivityId.of_jsoninmake?status?reward?title?activityId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The summary of activities."]moduleActivities=structtypenonrect=ActivitySummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ActivitySummary.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:ActivitySummary.of_xml)letof_jsonj=list_of_json~kind:"Activities"~of_json:ActivitySummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDimension=structtypenonrect=|SERVICE|OPERATION|USAGE_TYPE|REGION|FREE_TIER_TYPE|DESCRIPTION|USAGE_PERCENTAGE|Non_static_idofstringletmakei=iletto_string=function|SERVICE->"SERVICE"|OPERATION->"OPERATION"|USAGE_TYPE->"USAGE_TYPE"|REGION->"REGION"|FREE_TIER_TYPE->"FREE_TIER_TYPE"|DESCRIPTION->"DESCRIPTION"|USAGE_PERCENTAGE->"USAGE_PERCENTAGE"|Non_static_ids->sletof_string=function|"SERVICE"->SERVICE|"OPERATION"->OPERATION|"USAGE_TYPE"->USAGE_TYPE|"REGION"->REGION|"FREE_TIER_TYPE"->FREE_TIER_TYPE|"DESCRIPTION"->DESCRIPTION|"USAGE_PERCENTAGE"->USAGE_PERCENTAGE|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_valueendmoduleValue=structtypenonrect=stringletcontext_="Value"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:20)>>=(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:"Value"jletto_json=simple_to_jsonto_valueendmoduleValues=structtypenonrect=Value.tlistletmakei=letopenResultinok_or_failwith(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_valuevendmoduleMatchOption=structtypenonrect=|EQUALS|STARTS_WITH|ENDS_WITH|CONTAINS|GREATER_THAN_OR_EQUAL|Non_static_idofstringletmakei=iletto_string=function|EQUALS->"EQUALS"|STARTS_WITH->"STARTS_WITH"|ENDS_WITH->"ENDS_WITH"|CONTAINS->"CONTAINS"|GREATER_THAN_OR_EQUAL->"GREATER_THAN_OR_EQUAL"|Non_static_ids->sletof_string=function|"EQUALS"->EQUALS|"STARTS_WITH"->STARTS_WITH|"ENDS_WITH"->ENDS_WITH|"CONTAINS"->CONTAINS|"GREATER_THAN_OR_EQUAL"->GREATER_THAN_OR_EQUAL|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 MatchOption"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"MatchOption"j)letto_json=simple_to_jsonto_valueendmoduleMatchOptions=structtypenonrect=MatchOption.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:MatchOption.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:MatchOption.of_xml)letof_jsonj=list_of_json~kind:"MatchOptions"~of_json:MatchOption.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDimensionValues=structtypenonrect={key:Dimension.t[@ocaml.doc"The name of the dimension that you want to filter on."];values:Values.t[@ocaml.doc"The metadata values you can specify to filter upon, so that the results all match at least one of the specified values."];matchOptions:MatchOptions.t[@ocaml.doc"The match options that you can use to filter your results. You can specify only one of these values in the array."]}letcontext_="DimensionValues"letmake~key=fun~values->fun~matchOptions->fun()->{key;values;matchOptions}letto_valuex=structure_to_value[("Key",(Some(Dimension.to_valuex.key)));("Values",(Some(Values.to_valuex.values)));("MatchOptions",(Some(MatchOptions.to_valuex.matchOptions)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmatchOptions=MatchOptions.of_xml(Xml.child_exn~context:context_xml_arg0"MatchOptions")inletvalues=Values.of_xml(Xml.child_exn~context:context_xml_arg0"Values")inletkey=Dimension.of_xml(Xml.child_exn~context:context_xml_arg0"Key")inmake~matchOptions~values~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmatchOptions=field_map_exnjson__"MatchOptions"MatchOptions.of_jsoninletvalues=field_map_exnjson__"Values"Values.of_jsoninletkey=field_map_exnjson__"Key"Dimension.of_jsoninmake~matchOptions~values~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains the specifications for the filters to use for your request."]modulerecExpression:sigtypenonrect={or_:Expressions.toption[@ocaml.doc"Return results that match any of the Expressions that you specified. in the array."];and_:Expressions.toption[@ocaml.doc"Return results that match all Expressions that you specified in the array."];not:Expression.toption[@ocaml.doc"Return results that don\226\128\153t match the Expression that you specified."];dimensions:DimensionValues.toption[@ocaml.doc"The specific dimension, values, and match type to filter objects with."]}valmake:?or_:Expressions.t->?and_:Expressions.t->?not:Expression.t->?dimensions:DimensionValues.t->unit->tvalto_value:t->Botodata.valuevalto_query:t->Client.Query.tvalof_xml:Xml.t->tvalof_json:Yojson.Safe.t->tvalto_json:t->Yojson.Safe.tend=structtypenonrect={or_:Expressions.toption[@ocaml.doc"Return results that match any of the Expressions that you specified. in the array."];and_:Expressions.toption[@ocaml.doc"Return results that match all Expressions that you specified in the array."];not:Expression.toption[@ocaml.doc"Return results that don\226\128\153t match the Expression that you specified."];dimensions:DimensionValues.toption[@ocaml.doc"The specific dimension, values, and match type to filter objects with."]}letmake?or_=fun?and_->fun?not->fun?dimensions->fun()->{or_;and_;not;dimensions}letto_valuex=structure_to_value[("Or",(Option.mapx.or_~f:Expressions.to_value));("And",(Option.mapx.and_~f:Expressions.to_value));("Not",(Option.mapx.not~f:Expression.to_value));("Dimensions",(Option.mapx.dimensions~f:DimensionValues.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdimensions=(Option.map~f:DimensionValues.of_xml)(Xml.childxml_arg0"Dimensions")inletnot=(Option.map~f:Expression.of_xml)(Xml.childxml_arg0"Not")inletand_=(Option.map~f:Expressions.of_xml)(Xml.childxml_arg0"And")inletor_=(Option.map~f:Expressions.of_xml)(Xml.childxml_arg0"Or")inmake?dimensions?not?and_?or_()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdimensions=field_mapjson__"Dimensions"DimensionValues.of_jsoninletnot=field_mapjson__"Not"Expression.of_jsoninletand_=field_mapjson__"And"Expressions.of_jsoninletor_=field_mapjson__"Or"Expressions.of_jsoninmake?dimensions?not?and_?or_()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Use Expression to filter in the GetFreeTierUsage API operation. You can use the following patterns: Simple dimension values (Dimensions root operator) Complex expressions with logical operators (AND, NOT, and OR root operators). For simple dimension values, you can set the dimension name, values, and match type for the filters that you plan to use. Example for simple dimension values You can filter to match exactly for REGION==us-east-1 OR REGION==us-west-1. The corresponding Expression appears like the following: \\{ \"Dimensions\": \\{ \"Key\": \"REGION\", \"Values\": \\[ \"us-east-1\", \"us-west-1\" \\], \"MatchOptions\": \\[\"EQUALS\"\\] \\} \\} As shown in the previous example, lists of dimension values are combined with OR when you apply the filter. For complex expressions with logical operators, you can have nested expressions to use the logical operators and specify advanced filtering. Example for complex expressions with logical operators You can filter by ((REGION == us-east-1 OR REGION == us-west-1) OR (SERVICE CONTAINS AWSLambda)) AND (USAGE_TYPE !CONTAINS DataTransfer). The corresponding Expression appears like the following: \\{ \"And\": \\[ \\{\"Or\": \\[ \\{\"Dimensions\": \\{ \"Key\": \"REGION\", \"Values\": \\[ \"us-east-1\", \"us-west-1\" \\], \"MatchOptions\": \\[\"EQUALS\"\\] \\}\\}, \\{\"Dimensions\": \\{ \"Key\": \"SERVICE\", \"Values\": \\[\"AWSLambda\"\\], \"MatchOptions\": \\[\"CONTAINS\"\\] \\} \\} \\]\\}, \\{\"Not\": \\{\"Dimensions\": \\{ \"Key\": \"USAGE_TYPE\", \"Values\": \\[\"DataTransfer\"\\], \"MatchOptions\": \\[\"CONTAINS\"\\] \\}\\}\\} \\] \\} In the following Contents, you must specify exactly one of the following root operators."]andExpressions:sigtypenonrect=Expression.tlistvalmake:Expression.tlist->tvalto_value:t->Botodata.valuevalto_query:t->Client.Query.tvalof_xml:Xml.t->Expression.tlistvalof_json:Yojson.Safe.t->tvalto_json:t->Yojson.Safe.tvalto_header:t->stringend=structtypenonrect=Expression.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:Expression.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:Expression.of_xml)letof_jsonj=list_of_json~kind:"Expressions"~of_json:Expression.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFilterActivityStatuses=structtypenonrect=ActivityStatus.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ActivityStatus.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:ActivityStatus.of_xml)letof_jsonj=list_of_json~kind:"FilterActivityStatuses"~of_json:ActivityStatus.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFreeTierUsage=structtypenonrect={service:GenericString.toption[@ocaml.doc"The name of the Amazon Web Services service providing the Free Tier offer. For example, this can be Amazon Elastic Compute Cloud."];operation:GenericString.toption[@ocaml.doc"Describes usageType more granularly with the specific Amazon Web Services service API operation. For example, this can be the RunInstances API operation for Amazon Elastic Compute Cloud."];usageType:GenericString.toption[@ocaml.doc"Describes the usage details of the offer. For example, this might be Global-BoxUsage:freetrial."];region:GenericString.toption[@ocaml.doc"Describes the Amazon Web Services Region for which this offer is applicable"];actualUsageAmount:GenericDouble.toption[@ocaml.doc"Describes the actual usage accrued month-to-day (MTD) that you've used so far."];forecastedUsageAmount:GenericDouble.toption[@ocaml.doc"Describes the forecasted usage by the month that you're expected to use."];limit:GenericDouble.toption[@ocaml.doc"Describes the maximum usage allowed in Free Tier."];unit:GenericString.toption[@ocaml.doc"Describes the unit of the usageType, such as Hrs."];description:GenericString.toption[@ocaml.doc"The description of the Free Tier offer."];freeTierType:GenericString.toption[@ocaml.doc"Describes the type of the Free Tier offer. For example, the offer can be \"12 Months Free\", \"Always Free\", and \"Free Trial\"."]}letmake?service=fun?operation->fun?usageType->fun?region->fun?actualUsageAmount->fun?forecastedUsageAmount->fun?limit->fun?unit->fun?description->fun?freeTierType->fun()->{service;operation;usageType;region;actualUsageAmount;forecastedUsageAmount;limit;unit;description;freeTierType}letto_valuex=structure_to_value[("service",(Option.mapx.service~f:GenericString.to_value));("operation",(Option.mapx.operation~f:GenericString.to_value));("usageType",(Option.mapx.usageType~f:GenericString.to_value));("region",(Option.mapx.region~f:GenericString.to_value));("actualUsageAmount",(Option.mapx.actualUsageAmount~f:GenericDouble.to_value));("forecastedUsageAmount",(Option.mapx.forecastedUsageAmount~f:GenericDouble.to_value));("limit",(Option.mapx.limit~f:GenericDouble.to_value));("unit",(Option.mapx.unit~f:GenericString.to_value));("description",(Option.mapx.description~f:GenericString.to_value));("freeTierType",(Option.mapx.freeTierType~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfreeTierType=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"freeTierType")inletdescription=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"description")inletunit=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"unit")inletlimit=(Option.map~f:GenericDouble.of_xml)(Xml.childxml_arg0"limit")inletforecastedUsageAmount=(Option.map~f:GenericDouble.of_xml)(Xml.childxml_arg0"forecastedUsageAmount")inletactualUsageAmount=(Option.map~f:GenericDouble.of_xml)(Xml.childxml_arg0"actualUsageAmount")inletregion=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"region")inletusageType=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"usageType")inletoperation=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"operation")inletservice=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"service")inmake?freeTierType?description?unit?limit?forecastedUsageAmount?actualUsageAmount?region?usageType?operation?service()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfreeTierType=field_mapjson__"freeTierType"GenericString.of_jsoninletdescription=field_mapjson__"description"GenericString.of_jsoninletunit=field_mapjson__"unit"GenericString.of_jsoninletlimit=field_mapjson__"limit"GenericDouble.of_jsoninletforecastedUsageAmount=field_mapjson__"forecastedUsageAmount"GenericDouble.of_jsoninletactualUsageAmount=field_mapjson__"actualUsageAmount"GenericDouble.of_jsoninletregion=field_mapjson__"region"GenericString.of_jsoninletusageType=field_mapjson__"usageType"GenericString.of_jsoninletoperation=field_mapjson__"operation"GenericString.of_jsoninletservice=field_mapjson__"service"GenericString.of_jsoninmake?freeTierType?description?unit?limit?forecastedUsageAmount?actualUsageAmount?region?usageType?operation?service()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Consists of a Amazon Web Services Free Tier offer\226\128\153s metadata and your data usage for the offer."]moduleFreeTierUsages=structtypenonrect=FreeTierUsage.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:FreeTierUsage.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:FreeTierUsage.of_xml)letof_jsonj=list_of_json~kind:"FreeTierUsages"~of_json:FreeTierUsage.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleLanguageCode=structtypenonrect=|En_US|En_GB|Id_ID|De_DE|Es_ES|Fr_FR|Ja_JP|It_IT|Pt_PT|Ko_KR|Zh_CN|Zh_TW|Tr_TR|Non_static_idofstringletmakei=iletto_string=function|En_US->"en-US"|En_GB->"en-GB"|Id_ID->"id-ID"|De_DE->"de-DE"|Es_ES->"es-ES"|Fr_FR->"fr-FR"|Ja_JP->"ja-JP"|It_IT->"it-IT"|Pt_PT->"pt-PT"|Ko_KR->"ko-KR"|Zh_CN->"zh-CN"|Zh_TW->"zh-TW"|Tr_TR->"tr-TR"|Non_static_ids->sletof_string=function|"en-US"->En_US|"en-GB"->En_GB|"id-ID"->Id_ID|"de-DE"->De_DE|"es-ES"->Es_ES|"fr-FR"->Fr_FR|"ja-JP"->Ja_JP|"it-IT"->It_IT|"pt-PT"->Pt_PT|"ko-KR"->Ko_KR|"zh-CN"->Zh_CN|"zh-TW"->Zh_TW|"tr-TR"->Tr_TR|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 LanguageCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"LanguageCode"j)letto_json=simple_to_jsonto_valueendmoduleGetAccountActivityRequest=structtypenonrect={activityId:ActivityId.t[@ocaml.doc"A unique identifier that identifies the activity."];languageCode:LanguageCode.toption[@ocaml.doc"The language code used to return translated title and description fields."]}letcontext_="GetAccountActivityRequest"letmake?languageCode=fun~activityId->fun()->{languageCode;activityId}letto_valuex=structure_to_value[("activityId",(Some(ActivityId.to_valuex.activityId)));("languageCode",(Option.mapx.languageCode~f:LanguageCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlanguageCode=(Option.map~f:LanguageCode.of_xml)(Xml.childxml_arg0"languageCode")inletactivityId=ActivityId.of_xml(Xml.child_exn~context:context_xml_arg0"activityId")inmake?languageCode~activityId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlanguageCode=field_mapjson__"languageCode"LanguageCode.of_jsoninletactivityId=field_map_exnjson__"activityId"ActivityId.of_jsoninmake?languageCode~activityId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a specific activity record that is available to the customer."]moduleValidationException=structtypenonrect={message:GenericString.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the constraints specified by an Amazon Web Services service."]moduleThrottlingException=structtypenonrect={message:GenericString.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was denied due to request throttling."]moduleSyntheticTimestamp_date_time=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_valueendmoduleResourceNotFoundException=structtypenonrect={message:GenericString.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This exception is thrown when the requested resource cannot be found."]moduleInternalServerException=structtypenonrect={message:GenericString.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"GenericString.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An unexpected error occurred during the processing of your request."]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_valueendmoduleGetAccountActivityResponse=structtypenonrect={activityId:ActivityId.toption[@ocaml.doc"A unique identifier that identifies the activity."];title:GenericString.toption[@ocaml.doc"A short activity title."];description:GenericString.toption[@ocaml.doc"Provides detailed information about the activity and its expected outcomes."];status:ActivityStatus.toption[@ocaml.doc"The current activity status."];instructionsUrl:GenericString.toption[@ocaml.doc"The URL resource that provides guidance on activity requirements and completion."];reward:ActivityReward.toption[@ocaml.doc"A reward granted upon activity completion."];estimatedTimeToCompleteInMinutes:Integer.toption[@ocaml.doc"The estimated time to complete the activity. This is the duration in minutes."];expiresAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The time by which the activity must be completed to receive a reward."];startedAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The timestamp when the activity started. This field appears only for activities in the IN_PROGRESS or COMPLETED states."];completedAt:SyntheticTimestamp_date_time.toption[@ocaml.doc"The timestamp when the activity is completed. This field appears only for activities in the COMPLETED state."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?activityId=fun?title->fun?description->fun?status->fun?instructionsUrl->fun?reward->fun?estimatedTimeToCompleteInMinutes->fun?expiresAt->fun?startedAt->fun?completedAt->fun()->{activityId;title;description;status;instructionsUrl;reward;estimatedTimeToCompleteInMinutes;expiresAt;startedAt;completedAt}leterror_of_jsonnamejson=matchnamewith|"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|"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|`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[("activityId",(Option.mapx.activityId~f:ActivityId.to_value));("title",(Option.mapx.title~f:GenericString.to_value));("description",(Option.mapx.description~f:GenericString.to_value));("status",(Option.mapx.status~f:ActivityStatus.to_value));("instructionsUrl",(Option.mapx.instructionsUrl~f:GenericString.to_value));("reward",(Option.mapx.reward~f:ActivityReward.to_value));("estimatedTimeToCompleteInMinutes",(Option.mapx.estimatedTimeToCompleteInMinutes~f:Integer.to_value));("expiresAt",(Option.mapx.expiresAt~f:SyntheticTimestamp_date_time.to_value));("startedAt",(Option.mapx.startedAt~f:SyntheticTimestamp_date_time.to_value));("completedAt",(Option.mapx.completedAt~f:SyntheticTimestamp_date_time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcompletedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"completedAt")inletstartedAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"startedAt")inletexpiresAt=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"expiresAt")inletestimatedTimeToCompleteInMinutes=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"estimatedTimeToCompleteInMinutes")inletreward=(Option.map~f:ActivityReward.of_xml)(Xml.childxml_arg0"reward")inletinstructionsUrl=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"instructionsUrl")inletstatus=(Option.map~f:ActivityStatus.of_xml)(Xml.childxml_arg0"status")inletdescription=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"description")inlettitle=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"title")inletactivityId=(Option.map~f:ActivityId.of_xml)(Xml.childxml_arg0"activityId")inmake?completedAt?startedAt?expiresAt?estimatedTimeToCompleteInMinutes?reward?instructionsUrl?status?description?title?activityId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcompletedAt=field_mapjson__"completedAt"SyntheticTimestamp_date_time.of_jsoninletstartedAt=field_mapjson__"startedAt"SyntheticTimestamp_date_time.of_jsoninletexpiresAt=field_mapjson__"expiresAt"SyntheticTimestamp_date_time.of_jsoninletestimatedTimeToCompleteInMinutes=field_mapjson__"estimatedTimeToCompleteInMinutes"Integer.of_jsoninletreward=field_mapjson__"reward"ActivityReward.of_jsoninletinstructionsUrl=field_mapjson__"instructionsUrl"GenericString.of_jsoninletstatus=field_mapjson__"status"ActivityStatus.of_jsoninletdescription=field_mapjson__"description"GenericString.of_jsoninlettitle=field_mapjson__"title"GenericString.of_jsoninletactivityId=field_mapjson__"activityId"ActivityId.of_jsoninmake?completedAt?startedAt?expiresAt?estimatedTimeToCompleteInMinutes?reward?instructionsUrl?status?description?title?activityId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a specific activity record that is available to the customer."]moduleGetAccountPlanStateRequest=structtypenonrect=unitletmake()=()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"This returns all of the information related to the state of the account plan related to Free Tier."]moduleGetAccountPlanStateResponse=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"A unique identifier that identifies the account."];accountPlanType:AccountPlanType.toption[@ocaml.doc"The plan type for the account."];accountPlanStatus:AccountPlanStatus.toption[@ocaml.doc"The current status for the account plan."];accountPlanRemainingCredits:MonetaryAmount.toption[@ocaml.doc"The amount of credits remaining for the account."];accountPlanExpirationDate:SyntheticTimestamp_date_time.toption[@ocaml.doc"The timestamp for when the current account plan expires."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accountId=fun?accountPlanType->fun?accountPlanStatus->fun?accountPlanRemainingCredits->fun?accountPlanExpirationDate->fun()->{accountId;accountPlanType;accountPlanStatus;accountPlanRemainingCredits;accountPlanExpirationDate}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[("accountId",(Option.mapx.accountId~f:AccountId.to_value));("accountPlanType",(Option.mapx.accountPlanType~f:AccountPlanType.to_value));("accountPlanStatus",(Option.mapx.accountPlanStatus~f:AccountPlanStatus.to_value));("accountPlanRemainingCredits",(Option.mapx.accountPlanRemainingCredits~f:MonetaryAmount.to_value));("accountPlanExpirationDate",(Option.mapx.accountPlanExpirationDate~f:SyntheticTimestamp_date_time.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountPlanExpirationDate=(Option.map~f:SyntheticTimestamp_date_time.of_xml)(Xml.childxml_arg0"accountPlanExpirationDate")inletaccountPlanRemainingCredits=(Option.map~f:MonetaryAmount.of_xml)(Xml.childxml_arg0"accountPlanRemainingCredits")inletaccountPlanStatus=(Option.map~f:AccountPlanStatus.of_xml)(Xml.childxml_arg0"accountPlanStatus")inletaccountPlanType=(Option.map~f:AccountPlanType.of_xml)(Xml.childxml_arg0"accountPlanType")inletaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"accountId")inmake?accountPlanExpirationDate?accountPlanRemainingCredits?accountPlanStatus?accountPlanType?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountPlanExpirationDate=field_mapjson__"accountPlanExpirationDate"SyntheticTimestamp_date_time.of_jsoninletaccountPlanRemainingCredits=field_mapjson__"accountPlanRemainingCredits"MonetaryAmount.of_jsoninletaccountPlanStatus=field_mapjson__"accountPlanStatus"AccountPlanStatus.of_jsoninletaccountPlanType=field_mapjson__"accountPlanType"AccountPlanType.of_jsoninletaccountId=field_mapjson__"accountId"AccountId.of_jsoninmake?accountPlanExpirationDate?accountPlanRemainingCredits?accountPlanStatus?accountPlanType?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This returns all of the information related to the state of the account plan related to Free Tier."]moduleNextPageToken=structtypenonrect=stringletcontext_="NextPageToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:8192)>>=(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:"NextPageToken"jletto_json=simple_to_jsonto_valueendmoduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:1000)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleGetFreeTierUsageRequest=structtypenonrect={filter:Expression.toption[@ocaml.doc"An expression that specifies the conditions that you want each FreeTierUsage object to meet."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of results to return in the response. MaxResults means that there can be up to the specified number of values, but there might be fewer results based on your filters."];nextToken:NextPageToken.toption[@ocaml.doc"The pagination token that indicates the next set of results to retrieve."]}letmake?filter=fun?maxResults->fun?nextToken->fun()->{filter;maxResults;nextToken}letto_valuex=structure_to_value[("filter",(Option.mapx.filter~f:Expression.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextPageToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextPageToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletfilter=(Option.map~f:Expression.of_xml)(Xml.childxml_arg0"filter")inmake?nextToken?maxResults?filter()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextPageToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletfilter=field_mapjson__"filter"Expression.of_jsoninmake?nextToken?maxResults?filter()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of all Free Tier usage objects that match your filters."]moduleGetFreeTierUsageResponse=structtypenonrect={freeTierUsages:FreeTierUsages.toption[@ocaml.doc"The list of Free Tier usage objects that meet your filter expression."];nextToken:NextPageToken.toption[@ocaml.doc"The pagination token that indicates the next set of results to retrieve."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?freeTierUsages=fun?nextToken->fun()->{freeTierUsages;nextToken}leterror_of_jsonnamejson=matchnamewith|"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|"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|`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[("freeTierUsages",(Option.mapx.freeTierUsages~f:FreeTierUsages.to_value));("nextToken",(Option.mapx.nextToken~f:NextPageToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextPageToken.of_xml)(Xml.childxml_arg0"nextToken")inletfreeTierUsages=(Option.map~f:FreeTierUsages.of_xml)(Xml.childxml_arg0"freeTierUsages")inmake?nextToken?freeTierUsages()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextPageToken.of_jsoninletfreeTierUsages=field_mapjson__"freeTierUsages"FreeTierUsages.of_jsoninmake?nextToken?freeTierUsages()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of all Free Tier usage objects that match your filters."]moduleListAccountActivitiesRequest=structtypenonrect={filterActivityStatuses:FilterActivityStatuses.toption[@ocaml.doc"The activity status filter. This field can be used to filter the response by activities status."];nextToken:NextPageToken.toption[@ocaml.doc"A token from a previous paginated response. If this is specified, the response includes records beginning from this token (inclusive), up to the number specified by maxResults."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output."];languageCode:LanguageCode.toption[@ocaml.doc"The language code used to return translated titles."]}letmake?filterActivityStatuses=fun?nextToken->fun?maxResults->fun?languageCode->fun()->{filterActivityStatuses;nextToken;maxResults;languageCode}letto_valuex=structure_to_value[("filterActivityStatuses",(Option.mapx.filterActivityStatuses~f:FilterActivityStatuses.to_value));("nextToken",(Option.mapx.nextToken~f:NextPageToken.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("languageCode",(Option.mapx.languageCode~f:LanguageCode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlanguageCode=(Option.map~f:LanguageCode.of_xml)(Xml.childxml_arg0"languageCode")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletnextToken=(Option.map~f:NextPageToken.of_xml)(Xml.childxml_arg0"nextToken")inletfilterActivityStatuses=(Option.map~f:FilterActivityStatuses.of_xml)(Xml.childxml_arg0"filterActivityStatuses")inmake?languageCode?maxResults?nextToken?filterActivityStatuses()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlanguageCode=field_mapjson__"languageCode"LanguageCode.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletnextToken=field_mapjson__"nextToken"NextPageToken.of_jsoninletfilterActivityStatuses=field_mapjson__"filterActivityStatuses"FilterActivityStatuses.of_jsoninmake?languageCode?maxResults?nextToken?filterActivityStatuses()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of activities that are available. This operation supports pagination and filtering by status."]moduleListAccountActivitiesResponse=structtypenonrect={activities:Activities.toption[@ocaml.doc"A brief information about the activities."];nextToken:NextPageToken.toption[@ocaml.doc"The token to include in another request to get the next page of items. This value is null when there are no more items to return."]}typenonrecerror=[`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?activities=fun?nextToken->fun()->{activities;nextToken}leterror_of_jsonnamejson=matchnamewith|"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|"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|`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[("activities",(Option.mapx.activities~f:Activities.to_value));("nextToken",(Option.mapx.nextToken~f:NextPageToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextPageToken.of_xml)(Xml.childxml_arg0"nextToken")inletactivities=(Option.map~f:Activities.of_xml)(Xml.childxml_arg0"activities")inmake?nextToken?activities()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextPageToken.of_jsoninletactivities=field_mapjson__"activities"Activities.of_jsoninmake?nextToken?activities()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns a list of activities that are available. This operation supports pagination and filtering by status."]moduleUpgradeAccountPlanRequest=structtypenonrect={accountPlanType:AccountPlanType.t[@ocaml.doc"The target account plan type. This makes it explicit about the change and latest value of the accountPlanType."]}letcontext_="UpgradeAccountPlanRequest"letmake~accountPlanType=fun()->{accountPlanType}letto_valuex=structure_to_value[("accountPlanType",(Some(AccountPlanType.to_valuex.accountPlanType)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountPlanType=AccountPlanType.of_xml(Xml.child_exn~context:context_xml_arg0"accountPlanType")inmake~accountPlanType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountPlanType=field_map_exnjson__"accountPlanType"AccountPlanType.of_jsoninmake~accountPlanType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The account plan type for the Amazon Web Services account."]moduleUpgradeAccountPlanResponse=structtypenonrect={accountId:AccountId.toption[@ocaml.doc"A unique identifier that identifies the account."];accountPlanType:AccountPlanType.toption[@ocaml.doc"The type of plan for the account."];accountPlanStatus:AccountPlanStatus.toption[@ocaml.doc"This indicates the latest state of the account plan within its lifecycle."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?accountId=fun?accountPlanType->fun?accountPlanStatus->fun()->{accountId;accountPlanType;accountPlanStatus}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[("accountId",(Option.mapx.accountId~f:AccountId.to_value));("accountPlanType",(Option.mapx.accountPlanType~f:AccountPlanType.to_value));("accountPlanStatus",(Option.mapx.accountPlanStatus~f:AccountPlanStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaccountPlanStatus=(Option.map~f:AccountPlanStatus.of_xml)(Xml.childxml_arg0"accountPlanStatus")inletaccountPlanType=(Option.map~f:AccountPlanType.of_xml)(Xml.childxml_arg0"accountPlanType")inletaccountId=(Option.map~f:AccountId.of_xml)(Xml.childxml_arg0"accountId")inmake?accountPlanStatus?accountPlanType?accountId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaccountPlanStatus=field_mapjson__"accountPlanStatus"AccountPlanStatus.of_jsoninletaccountPlanType=field_mapjson__"accountPlanType"AccountPlanType.of_jsoninletaccountId=field_mapjson__"accountId"AccountId.of_jsoninmake?accountPlanStatus?accountPlanType?accountId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The account plan type for the Amazon Web Services account."]