123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629(* 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.curletapiVersion="2017-01-06"letendpointPrefix="cur"letserviceFullName="AWS Cost and Usage Report Service"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="AWSOrigamiServiceGatewayService"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[]))])moduleAdditionalArtifact=structtypenonrect=|REDSHIFT|QUICKSIGHT|ATHENA|Non_static_idofstringletmakei=iletto_string=function|REDSHIFT->"REDSHIFT"|QUICKSIGHT->"QUICKSIGHT"|ATHENA->"ATHENA"|Non_static_ids->sletof_string=function|"REDSHIFT"->REDSHIFT|"QUICKSIGHT"->QUICKSIGHT|"ATHENA"->ATHENA|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 AdditionalArtifact"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AdditionalArtifact"j)letto_json=simple_to_jsonto_valueendmoduleLastDelivery=structtypenonrect=stringletcontext_="LastDelivery"letmakei=letopenResultinok_or_failwith((check_string_mini~min:16)>>=(fun()->(check_string_maxi~max:20)>>=(fun()->check_patterni~pattern:"[0-9]{8}[T][0-9]{6}([Z]|[+-][0-9]{4})")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"LastDelivery"jletto_json=simple_to_jsonto_valueendmoduleLastStatus=structtypenonrect=|SUCCESS|ERROR_PERMISSIONS|ERROR_NO_BUCKET|Non_static_idofstringletmakei=iletto_string=function|SUCCESS->"SUCCESS"|ERROR_PERMISSIONS->"ERROR_PERMISSIONS"|ERROR_NO_BUCKET->"ERROR_NO_BUCKET"|Non_static_ids->sletof_string=function|"SUCCESS"->SUCCESS|"ERROR_PERMISSIONS"->ERROR_PERMISSIONS|"ERROR_NO_BUCKET"->ERROR_NO_BUCKET|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 LastStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"LastStatus"j)letto_json=simple_to_jsonto_valueendmoduleSchemaElement=structtypenonrect=|RESOURCES|SPLIT_COST_ALLOCATION_DATA|MANUAL_DISCOUNT_COMPATIBILITY|Non_static_idofstringletmakei=iletto_string=function|RESOURCES->"RESOURCES"|SPLIT_COST_ALLOCATION_DATA->"SPLIT_COST_ALLOCATION_DATA"|MANUAL_DISCOUNT_COMPATIBILITY->"MANUAL_DISCOUNT_COMPATIBILITY"|Non_static_ids->sletof_string=function|"RESOURCES"->RESOURCES|"SPLIT_COST_ALLOCATION_DATA"->SPLIT_COST_ALLOCATION_DATA|"MANUAL_DISCOUNT_COMPATIBILITY"->MANUAL_DISCOUNT_COMPATIBILITY|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 SchemaElement"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"SchemaElement"j)letto_json=simple_to_jsonto_valueendmoduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:".*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:".*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagValue"jletto_json=simple_to_jsonto_valueendmoduleAWSRegion=structtypenonrect=|Af_south_1|Ap_east_1|Ap_south_1|Ap_south_2|Ap_southeast_1|Ap_southeast_2|Ap_southeast_3|Ap_northeast_1|Ap_northeast_2|Ap_northeast_3|Ca_central_1|Eu_central_1|Eu_central_2|Eu_west_1|Eu_west_2|Eu_west_3|Eu_north_1|Eu_south_1|Eu_south_2|Me_central_1|Me_south_1|Sa_east_1|Us_east_1|Us_east_2|Us_west_1|Us_west_2|Cn_north_1|Cn_northwest_1|Non_static_idofstringletmakei=iletto_string=function|Af_south_1->"af-south-1"|Ap_east_1->"ap-east-1"|Ap_south_1->"ap-south-1"|Ap_south_2->"ap-south-2"|Ap_southeast_1->"ap-southeast-1"|Ap_southeast_2->"ap-southeast-2"|Ap_southeast_3->"ap-southeast-3"|Ap_northeast_1->"ap-northeast-1"|Ap_northeast_2->"ap-northeast-2"|Ap_northeast_3->"ap-northeast-3"|Ca_central_1->"ca-central-1"|Eu_central_1->"eu-central-1"|Eu_central_2->"eu-central-2"|Eu_west_1->"eu-west-1"|Eu_west_2->"eu-west-2"|Eu_west_3->"eu-west-3"|Eu_north_1->"eu-north-1"|Eu_south_1->"eu-south-1"|Eu_south_2->"eu-south-2"|Me_central_1->"me-central-1"|Me_south_1->"me-south-1"|Sa_east_1->"sa-east-1"|Us_east_1->"us-east-1"|Us_east_2->"us-east-2"|Us_west_1->"us-west-1"|Us_west_2->"us-west-2"|Cn_north_1->"cn-north-1"|Cn_northwest_1->"cn-northwest-1"|Non_static_ids->sletof_string=function|"af-south-1"->Af_south_1|"ap-east-1"->Ap_east_1|"ap-south-1"->Ap_south_1|"ap-south-2"->Ap_south_2|"ap-southeast-1"->Ap_southeast_1|"ap-southeast-2"->Ap_southeast_2|"ap-southeast-3"->Ap_southeast_3|"ap-northeast-1"->Ap_northeast_1|"ap-northeast-2"->Ap_northeast_2|"ap-northeast-3"->Ap_northeast_3|"ca-central-1"->Ca_central_1|"eu-central-1"->Eu_central_1|"eu-central-2"->Eu_central_2|"eu-west-1"->Eu_west_1|"eu-west-2"->Eu_west_2|"eu-west-3"->Eu_west_3|"eu-north-1"->Eu_north_1|"eu-south-1"->Eu_south_1|"eu-south-2"->Eu_south_2|"me-central-1"->Me_central_1|"me-south-1"->Me_south_1|"sa-east-1"->Sa_east_1|"us-east-1"->Us_east_1|"us-east-2"->Us_east_2|"us-west-1"->Us_west_1|"us-west-2"->Us_west_2|"cn-north-1"->Cn_north_1|"cn-northwest-1"->Cn_northwest_1|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration AWSRegion"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"AWSRegion"j)letto_json=simple_to_jsonto_valueendmoduleAdditionalArtifactList=structtypenonrect=AdditionalArtifact.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:AdditionalArtifact.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:AdditionalArtifact.of_xml)letof_jsonj=list_of_json~kind:"AdditionalArtifactList"~of_json:AdditionalArtifact.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBillingViewArn=structtypenonrect=stringletcontext_="BillingViewArn"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"(arn:aws(-cn)?:billing::[0-9]{12}:billingview/)?[a-zA-Z0-9_\\+=\\.\\-@].{1,30}"));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"BillingViewArn"jletto_json=simple_to_jsonto_valueendmoduleCompressionFormat=structtypenonrect=|ZIP|GZIP|Parquet|Non_static_idofstringletmakei=iletto_string=function|ZIP->"ZIP"|GZIP->"GZIP"|Parquet->"Parquet"|Non_static_ids->sletof_string=function|"ZIP"->ZIP|"GZIP"->GZIP|"Parquet"->Parquet|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 CompressionFormat"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"CompressionFormat"j)letto_json=simple_to_jsonto_valueendmoduleRefreshClosedReports=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_valueendmoduleReportFormat=structtypenonrect=|TextORcsv|Parquet|Non_static_idofstringletmakei=iletto_string=function|TextORcsv->"textORcsv"|Parquet->"Parquet"|Non_static_ids->sletof_string=function|"textORcsv"->TextORcsv|"Parquet"->Parquet|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 ReportFormat"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ReportFormat"j)letto_json=simple_to_jsonto_valueendmoduleReportName=structtypenonrect=string[@@ocaml.doc"The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces."]letcontext_="ReportName"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[0-9A-Za-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:"ReportName"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces."]moduleReportStatus=structtypenonrect={lastDelivery:LastDelivery.toption[@ocaml.doc"A timestamp that gives the date of a report delivery."];lastStatus:LastStatus.toption[@ocaml.doc"An enum that gives the status of a report delivery."]}letmake?lastDelivery=fun?lastStatus->fun()->{lastDelivery;lastStatus}letto_valuex=structure_to_value[("lastDelivery",(Option.mapx.lastDelivery~f:LastDelivery.to_value));("lastStatus",(Option.mapx.lastStatus~f:LastStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlastStatus=(Option.map~f:LastStatus.of_xml)(Xml.childxml_arg0"lastStatus")inletlastDelivery=(Option.map~f:LastDelivery.of_xml)(Xml.childxml_arg0"lastDelivery")inmake?lastStatus?lastDelivery()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlastStatus=field_mapjson__"lastStatus"LastStatus.of_jsoninletlastDelivery=field_mapjson__"lastDelivery"LastDelivery.of_jsoninmake?lastStatus?lastDelivery()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A two element dictionary with a lastDelivery and lastStatus key whose values describe the date and status of the last delivered report for a particular report definition."]moduleReportVersioning=structtypenonrect=|CREATE_NEW_REPORT|OVERWRITE_REPORT|Non_static_idofstringletmakei=iletto_string=function|CREATE_NEW_REPORT->"CREATE_NEW_REPORT"|OVERWRITE_REPORT->"OVERWRITE_REPORT"|Non_static_ids->sletof_string=function|"CREATE_NEW_REPORT"->CREATE_NEW_REPORT|"OVERWRITE_REPORT"->OVERWRITE_REPORT|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 ReportVersioning"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ReportVersioning"j)letto_json=simple_to_jsonto_valueendmoduleS3Bucket=structtypenonrect=string[@@ocaml.doc"The S3 bucket where Amazon Web Services delivers the report."]letcontext_="S3Bucket"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(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:"S3Bucket"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The S3 bucket where Amazon Web Services delivers the report."]moduleS3Prefix=structtypenonrect=string[@@ocaml.doc"The prefix that Amazon Web Services adds to the report name when Amazon Web Services delivers the report. Your prefix can't include spaces."]letcontext_="S3Prefix"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(fun()->check_patterni~pattern:"[0-9A-Za-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:"S3Prefix"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The prefix that Amazon Web Services adds to the report name when Amazon Web Services delivers the report. Your prefix can't include spaces."]moduleSchemaElementList=structtypenonrect=SchemaElement.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:SchemaElement.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:SchemaElement.of_xml)letof_jsonj=list_of_json~kind:"SchemaElementList"~of_json:SchemaElement.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTimeUnit=structtypenonrect=|HOURLY|DAILY|MONTHLY|Non_static_idofstringletmakei=iletto_string=function|HOURLY->"HOURLY"|DAILY->"DAILY"|MONTHLY->"MONTHLY"|Non_static_ids->sletof_string=function|"HOURLY"->HOURLY|"DAILY"->DAILY|"MONTHLY"->MONTHLY|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 TimeUnit"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TimeUnit"j)letto_json=simple_to_jsonto_valueendmoduleErrorMessage=structtypenonrect=string[@@ocaml.doc"A message to show the detail of the exception."]letcontext_="ErrorMessage"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:"ErrorMessage"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"A message to show the detail of the exception."]moduleTag=structtypenonrect={key:TagKey.t[@ocaml.doc"The key of the tag. Tag keys are case sensitive. Each report definition can only have up to one tag with the same key. If you try to add an existing tag with the same key, the existing tag value will be updated to the new value."];value:TagValue.t[@ocaml.doc"The value of the tag. Tag values are case-sensitive. This can be an empty string."]}letcontext_="Tag"letmake~key=fun~value->fun()->{key;value}letto_valuex=structure_to_value[("Key",(Some(TagKey.to_valuex.key)));("Value",(Some(TagValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=TagValue.of_xml(Xml.child_exn~context:context_xml_arg0"Value")inletkey=TagKey.of_xml(Xml.child_exn~context:context_xml_arg0"Key")inmake~value~key()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"Value"TagValue.of_jsoninletkey=field_map_exnjson__"Key"TagKey.of_jsoninmake~value~key()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a report definition."]moduleReportDefinition=structtypenonrect={reportName:ReportName.t;timeUnit:TimeUnit.t;format:ReportFormat.t;compression:CompressionFormat.t;additionalSchemaElements:SchemaElementList.t[@ocaml.doc"A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs."];s3Bucket:S3Bucket.t;s3Prefix:S3Prefix.t;s3Region:AWSRegion.t;additionalArtifacts:AdditionalArtifactList.toption[@ocaml.doc"A list of manifests that you want Amazon Web Services to create for this report."];refreshClosedReports:RefreshClosedReports.toption[@ocaml.doc"Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees."];reportVersioning:ReportVersioning.toption[@ocaml.doc"Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions."];billingViewArn:BillingViewArn.toption[@ocaml.doc"The Amazon resource name of the billing view. The BillingViewArn is needed to create Amazon Web Services Cost and Usage Report for each billing group maintained in the Amazon Web Services Billing Conductor service. The BillingViewArn for a billing group can be constructed as: arn:aws:billing::payer-account-id:billingview/billing-group-primary-account-id"];reportStatus:ReportStatus.toption[@ocaml.doc"The status of the report."]}letcontext_="ReportDefinition"letmake?additionalArtifacts=fun?refreshClosedReports->fun?reportVersioning->fun?billingViewArn->fun?reportStatus->fun~reportName->fun~timeUnit->fun~format->fun~compression->fun~additionalSchemaElements->fun~s3Bucket->fun~s3Prefix->fun~s3Region->fun()->{additionalArtifacts;refreshClosedReports;reportVersioning;billingViewArn;reportStatus;reportName;timeUnit;format;compression;additionalSchemaElements;s3Bucket;s3Prefix;s3Region}letto_valuex=structure_to_value[("ReportName",(Some(ReportName.to_valuex.reportName)));("TimeUnit",(Some(TimeUnit.to_valuex.timeUnit)));("Format",(Some(ReportFormat.to_valuex.format)));("Compression",(Some(CompressionFormat.to_valuex.compression)));("AdditionalSchemaElements",(Some(SchemaElementList.to_valuex.additionalSchemaElements)));("S3Bucket",(Some(S3Bucket.to_valuex.s3Bucket)));("S3Prefix",(Some(S3Prefix.to_valuex.s3Prefix)));("S3Region",(Some(AWSRegion.to_valuex.s3Region)));("AdditionalArtifacts",(Option.mapx.additionalArtifacts~f:AdditionalArtifactList.to_value));("RefreshClosedReports",(Option.mapx.refreshClosedReports~f:RefreshClosedReports.to_value));("ReportVersioning",(Option.mapx.reportVersioning~f:ReportVersioning.to_value));("BillingViewArn",(Option.mapx.billingViewArn~f:BillingViewArn.to_value));("ReportStatus",(Option.mapx.reportStatus~f:ReportStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreportStatus=(Option.map~f:ReportStatus.of_xml)(Xml.childxml_arg0"ReportStatus")inletbillingViewArn=(Option.map~f:BillingViewArn.of_xml)(Xml.childxml_arg0"BillingViewArn")inletreportVersioning=(Option.map~f:ReportVersioning.of_xml)(Xml.childxml_arg0"ReportVersioning")inletrefreshClosedReports=(Option.map~f:RefreshClosedReports.of_xml)(Xml.childxml_arg0"RefreshClosedReports")inletadditionalArtifacts=(Option.map~f:AdditionalArtifactList.of_xml)(Xml.childxml_arg0"AdditionalArtifacts")inlets3Region=AWSRegion.of_xml(Xml.child_exn~context:context_xml_arg0"S3Region")inlets3Prefix=S3Prefix.of_xml(Xml.child_exn~context:context_xml_arg0"S3Prefix")inlets3Bucket=S3Bucket.of_xml(Xml.child_exn~context:context_xml_arg0"S3Bucket")inletadditionalSchemaElements=SchemaElementList.of_xml(Xml.child_exn~context:context_xml_arg0"AdditionalSchemaElements")inletcompression=CompressionFormat.of_xml(Xml.child_exn~context:context_xml_arg0"Compression")inletformat=ReportFormat.of_xml(Xml.child_exn~context:context_xml_arg0"Format")inlettimeUnit=TimeUnit.of_xml(Xml.child_exn~context:context_xml_arg0"TimeUnit")inletreportName=ReportName.of_xml(Xml.child_exn~context:context_xml_arg0"ReportName")inmake?reportStatus?billingViewArn?reportVersioning?refreshClosedReports?additionalArtifacts~s3Region~s3Prefix~s3Bucket~additionalSchemaElements~compression~format~timeUnit~reportName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreportStatus=field_mapjson__"ReportStatus"ReportStatus.of_jsoninletbillingViewArn=field_mapjson__"BillingViewArn"BillingViewArn.of_jsoninletreportVersioning=field_mapjson__"ReportVersioning"ReportVersioning.of_jsoninletrefreshClosedReports=field_mapjson__"RefreshClosedReports"RefreshClosedReports.of_jsoninletadditionalArtifacts=field_mapjson__"AdditionalArtifacts"AdditionalArtifactList.of_jsoninlets3Region=field_map_exnjson__"S3Region"AWSRegion.of_jsoninlets3Prefix=field_map_exnjson__"S3Prefix"S3Prefix.of_jsoninlets3Bucket=field_map_exnjson__"S3Bucket"S3Bucket.of_jsoninletadditionalSchemaElements=field_map_exnjson__"AdditionalSchemaElements"SchemaElementList.of_jsoninletcompression=field_map_exnjson__"Compression"CompressionFormat.of_jsoninletformat=field_map_exnjson__"Format"ReportFormat.of_jsoninlettimeUnit=field_map_exnjson__"TimeUnit"TimeUnit.of_jsoninletreportName=field_map_exnjson__"ReportName"ReportName.of_jsoninmake?reportStatus?billingViewArn?reportVersioning?refreshClosedReports?additionalArtifacts~s3Region~s3Prefix~s3Bucket~additionalSchemaElements~compression~format~timeUnit~reportName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The definition of Amazon Web Services Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition."]moduleInternalErrorException=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"An error on the server occurred during the processing of your request. Try again later."]moduleResourceNotFoundException=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 specified report (ReportName) in the request doesn't exist."]moduleValidationException=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 input fails to satisfy the constraints specified by an Amazon Web Services service."]moduleTagKeyList=structtypenonrect=TagKey.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:TagKey.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:TagKey.of_xml)letof_jsonj=list_of_json~kind:"TagKeyList"~of_json:TagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagList=structtypenonrect=Tag.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:Tag.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:Tag.of_xml)letof_jsonj=list_of_json~kind:"TagList"~of_json:Tag.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleDuplicateReportNameException=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"A report with the specified name already exists in the account. Specify a different report name."]moduleReportLimitReachedException=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"This account already has five reports defined. To define a new report, you must delete an existing report."]moduleGenericString=structtypenonrect=string[@@ocaml.doc"A generic string."]letcontext_="GenericString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(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:"GenericString"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"A generic string."]moduleReportDefinitionList=structtypenonrect=ReportDefinition.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ReportDefinition.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:ReportDefinition.of_xml)letof_jsonj=list_of_json~kind:"ReportDefinitionList"~of_json:ReportDefinition.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=int[@@ocaml.doc"The maximum number of results that Amazon Web Services returns for the operation."]letmakei=letopenResultinok_or_failwith((check_int_maxi~max:5)>>=(fun()->check_int_mini~min:5));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_valueend[@@ocaml.doc"The maximum number of results that Amazon Web Services returns for the operation."]moduleDeleteResponseMessage=structtypenonrect=string[@@ocaml.doc"Whether the deletion was successful or not."]letcontext_="DeleteResponseMessage"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:"DeleteResponseMessage"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Whether the deletion was successful or not."]moduleUntagResourceResponse=structtypenonrect=unittypenonrecerror=[`InternalErrorExceptionofInternalErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.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|`InternalErrorExceptione->`Assoc[("error",(`String"InternalErrorException"));("details",(InternalErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.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"Disassociates a set of tags from a report definition."]moduleUntagResourceRequest=structtypenonrect={reportName:ReportName.t[@ocaml.doc"The report name of the report definition that tags are to be disassociated from."];tagKeys:TagKeyList.t[@ocaml.doc"The tags to be disassociated from the report definition resource."]}letcontext_="UntagResourceRequest"letmake~reportName=fun~tagKeys->fun()->{reportName;tagKeys}letto_valuex=structure_to_value[("ReportName",(Some(ReportName.to_valuex.reportName)));("TagKeys",(Some(TagKeyList.to_valuex.tagKeys)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettagKeys=TagKeyList.of_xml(Xml.child_exn~context:context_xml_arg0"TagKeys")inletreportName=ReportName.of_xml(Xml.child_exn~context:context_xml_arg0"ReportName")inmake~tagKeys~reportName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"TagKeys"TagKeyList.of_jsoninletreportName=field_map_exnjson__"ReportName"ReportName.of_jsoninmake~tagKeys~reportName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Disassociates a set of tags from a report definition."]moduleTagResourceResponse=structtypenonrect=unittypenonrecerror=[`InternalErrorExceptionofInternalErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.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|`InternalErrorExceptione->`Assoc[("error",(`String"InternalErrorException"));("details",(InternalErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.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"Associates a set of tags with a report definition."]moduleTagResourceRequest=structtypenonrect={reportName:ReportName.t[@ocaml.doc"The report name of the report definition that tags are to be associated with."];tags:TagList.t[@ocaml.doc"The tags to be assigned to the report definition resource."]}letcontext_="TagResourceRequest"letmake~reportName=fun~tags->fun()->{reportName;tags}letto_valuex=structure_to_value[("ReportName",(Some(ReportName.to_valuex.reportName)));("Tags",(Some(TagList.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=TagList.of_xml(Xml.child_exn~context:context_xml_arg0"Tags")inletreportName=ReportName.of_xml(Xml.child_exn~context:context_xml_arg0"ReportName")inmake~tags~reportName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_map_exnjson__"Tags"TagList.of_jsoninletreportName=field_map_exnjson__"ReportName"ReportName.of_jsoninmake~tags~reportName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a set of tags with a report definition."]modulePutReportDefinitionResponse=structtypenonrect=unittypenonrecerror=[`DuplicateReportNameExceptionofDuplicateReportNameException.t|`InternalErrorExceptionofInternalErrorException.t|`ReportLimitReachedExceptionofReportLimitReachedException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"DuplicateReportNameException"->`DuplicateReportNameException(DuplicateReportNameException.of_jsonjson)|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_jsonjson)|"ReportLimitReachedException"->`ReportLimitReachedException(ReportLimitReachedException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"DuplicateReportNameException"->`DuplicateReportNameException(DuplicateReportNameException.of_xmlxml)|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_xmlxml)|"ReportLimitReachedException"->`ReportLimitReachedException(ReportLimitReachedException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.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|`DuplicateReportNameExceptione->`Assoc[("error",(`String"DuplicateReportNameException"));("details",(DuplicateReportNameException.to_jsone))]|`InternalErrorExceptione->`Assoc[("error",(`String"InternalErrorException"));("details",(InternalErrorException.to_jsone))]|`ReportLimitReachedExceptione->`Assoc[("error",(`String"ReportLimitReachedException"));("details",(ReportLimitReachedException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.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"If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body."]modulePutReportDefinitionRequest=structtypenonrect={reportDefinition:ReportDefinition.t[@ocaml.doc"Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information."];tags:TagList.toption[@ocaml.doc"The tags to be assigned to the report definition resource."]}letcontext_="PutReportDefinitionRequest"letmake?tags=fun~reportDefinition->fun()->{tags;reportDefinition}letto_valuex=structure_to_value[("ReportDefinition",(Some(ReportDefinition.to_valuex.reportDefinition)));("Tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inletreportDefinition=ReportDefinition.of_xml(Xml.child_exn~context:context_xml_arg0"ReportDefinition")inmake?tags~reportDefinition()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"TagList.of_jsoninletreportDefinition=field_map_exnjson__"ReportDefinition"ReportDefinition.of_jsoninmake?tags~reportDefinition()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a Cost and Usage Report."]moduleModifyReportDefinitionResponse=structtypenonrect=unittypenonrecerror=[`InternalErrorExceptionofInternalErrorException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake()=()leterror_of_jsonnamejson=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.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|`InternalErrorExceptione->`Assoc[("error",(`String"InternalErrorException"));("details",(InternalErrorException.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"Allows you to programmatically update your report preferences."]moduleModifyReportDefinitionRequest=structtypenonrect={reportName:ReportName.t;reportDefinition:ReportDefinition.t}letcontext_="ModifyReportDefinitionRequest"letmake~reportName=fun~reportDefinition->fun()->{reportName;reportDefinition}letto_valuex=structure_to_value[("ReportName",(Some(ReportName.to_valuex.reportName)));("ReportDefinition",(Some(ReportDefinition.to_valuex.reportDefinition)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreportDefinition=ReportDefinition.of_xml(Xml.child_exn~context:context_xml_arg0"ReportDefinition")inletreportName=ReportName.of_xml(Xml.child_exn~context:context_xml_arg0"ReportName")inmake~reportDefinition~reportName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreportDefinition=field_map_exnjson__"ReportDefinition"ReportDefinition.of_jsoninletreportName=field_map_exnjson__"ReportName"ReportName.of_jsoninmake~reportDefinition~reportName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Allows you to programmatically update your report preferences."]moduleListTagsForResourceResponse=structtypenonrect={tags:TagList.toption[@ocaml.doc"The tags assigned to the report definition resource."]}typenonrecerror=[`InternalErrorExceptionofInternalErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.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|`InternalErrorExceptione->`Assoc[("error",(`String"InternalErrorException"));("details",(InternalErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Tags",(Option.mapx.tags~f:TagList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagList.of_xml)(Xml.childxml_arg0"Tags")inmake?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"TagList.of_jsoninmake?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the tags associated with the specified report definition."]moduleListTagsForResourceRequest=structtypenonrect={reportName:ReportName.t[@ocaml.doc"The report name of the report definition that tags are to be returned for."]}letcontext_="ListTagsForResourceRequest"letmake~reportName=fun()->{reportName}letto_valuex=structure_to_value[("ReportName",(Some(ReportName.to_valuex.reportName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreportName=ReportName.of_xml(Xml.child_exn~context:context_xml_arg0"ReportName")inmake~reportName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreportName=field_map_exnjson__"ReportName"ReportName.of_jsoninmake~reportName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the tags associated with the specified report definition."]moduleDescribeReportDefinitionsResponse=structtypenonrect={reportDefinitions:ReportDefinitionList.toption[@ocaml.doc"An Amazon Web Services Cost and Usage Report list owned by the account."];nextToken:GenericString.toption}typenonrecerror=[`InternalErrorExceptionofInternalErrorException.t|`Unknown_operation_errorof(string*stringoption)]letmake?reportDefinitions=fun?nextToken->fun()->{reportDefinitions;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalErrorExceptione->`Assoc[("error",(`String"InternalErrorException"));("details",(InternalErrorException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ReportDefinitions",(Option.mapx.reportDefinitions~f:ReportDefinitionList.to_value));("NextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"NextToken")inletreportDefinitions=(Option.map~f:ReportDefinitionList.of_xml)(Xml.childxml_arg0"ReportDefinitions")inmake?nextToken?reportDefinitions()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"GenericString.of_jsoninletreportDefinitions=field_mapjson__"ReportDefinitions"ReportDefinitionList.of_jsoninmake?nextToken?reportDefinitions()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"If the action is successful, the service sends back an HTTP 200 response."]moduleDescribeReportDefinitionsRequest=structtypenonrect={maxResults:MaxResults.toption;nextToken:GenericString.toption}letmake?maxResults=fun?nextToken->fun()->{maxResults;nextToken}letto_valuex=structure_to_value[("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("NextToken",(Option.mapx.nextToken~f:GenericString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:GenericString.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inmake?nextToken?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"GenericString.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninmake?nextToken?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Requests a Amazon Web Services Cost and Usage Report list owned by the account."]moduleDeleteReportDefinitionResponse=structtypenonrect={responseMessage:DeleteResponseMessage.toption}typenonrecerror=[`InternalErrorExceptionofInternalErrorException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?responseMessage=fun()->{responseMessage}leterror_of_jsonnamejson=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalErrorException"->`InternalErrorException(InternalErrorException.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|`InternalErrorExceptione->`Assoc[("error",(`String"InternalErrorException"));("details",(InternalErrorException.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[("ResponseMessage",(Option.mapx.responseMessage~f:DeleteResponseMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresponseMessage=(Option.map~f:DeleteResponseMessage.of_xml)(Xml.childxml_arg0"ResponseMessage")inmake?responseMessage()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresponseMessage=field_mapjson__"ResponseMessage"DeleteResponseMessage.of_jsoninmake?responseMessage()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"If the action is successful, the service sends back an HTTP 200 response."]moduleDeleteReportDefinitionRequest=structtypenonrect={reportName:ReportName.t[@ocaml.doc"The name of the report that you want to delete. The name must be unique, is case sensitive, and can't include spaces."]}letcontext_="DeleteReportDefinitionRequest"letmake~reportName=fun()->{reportName}letto_valuex=structure_to_value[("ReportName",(Some(ReportName.to_valuex.reportName)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreportName=ReportName.of_xml(Xml.child_exn~context:context_xml_arg0"ReportName")inmake~reportName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreportName=field_map_exnjson__"ReportName"ReportName.of_jsoninmake~reportName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified report."]