123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101(* 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.simpledbv2letapiVersion="2025-09-26"letendpointPrefix="sdb"letserviceFullName="Amazon SimpleDB v2"letsignatureVersion="v4"letprotocol="rest_json"letglobalEndpoint=endpointPrefix^".amazonaws.com"letsimple_to_jsonto_valuex=Botodata.Json.value_to_json_scalar(to_valuex)letcomposed_to_jsonto_valuex=Botodata.Json.value_to_json(to_valuex)letto_queryto_valuex=Client.Query.of_value(to_valuex)letstructure_to_value_auxst~f=letfilter=function|(k,Somev)->Some(k,v)|_->Noneinletpairkv=(k,v)inletdefer_value(k,dv)=pairkdvin((List.filter_mapst~f:filter)|>(List.map~f:defer_value))|>(funx->`Structure(fx))letstructure_to_value=structure_to_value_aux~f:Fn.idletstructure_to_wrapped_value~wrapper~response=structure_to_value_aux~f:(funx->[(wrapper,(`Structurex));(response,(`Structure[]))])moduleDomainName=structtypenonrect=string[@@ocaml.doc"The domain name that uniquely identifies a SimpleDB domain within your account."]letcontext_="DomainName"letmakei=letopenResultinok_or_failwith(check_string_mini~min:1);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"DomainName"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The domain name that uniquely identifies a SimpleDB domain within your account."]moduleExportArn=structtypenonrect=string[@@ocaml.doc"A unique ARN identifier for the export."]letcontext_="ExportArn"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(fun()->check_string_mini~min:20));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ExportArn"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"A unique ARN identifier for the export."]moduleExportStatus=structtypenonrect=|PENDING|IN_PROGRESS|SUCCEEDED|FAILED|Non_static_idofstringletmakei=iletto_string=function|PENDING->"PENDING"|IN_PROGRESS->"IN_PROGRESS"|SUCCEEDED->"SUCCEEDED"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"PENDING"->PENDING|"IN_PROGRESS"->IN_PROGRESS|"SUCCEEDED"->SUCCEEDED|"FAILED"->FAILED|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 ExportStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ExportStatus"j)letto_json=simple_to_jsonto_valueendmoduleRequestedAt=structtypenonrect=string[@@ocaml.doc"Timestamp when the export (or any other operation) was requested."]letmakei=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_valueend[@@ocaml.doc"Timestamp when the export (or any other operation) was requested."]moduleString_=structtypenonrect=stringletcontext_="String"letmakei=iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"String"jletto_json=simple_to_jsonto_valueendmoduleExportSummary=structtypenonrect={exportArn:ExportArn.toption[@ocaml.doc"Unique ARN identifier of the export."];exportStatus:ExportStatus.toption[@ocaml.doc"The current state of the export. Current possible values include : PENDING - export request received, IN_PROGRESS - export is being processed, SUCCEEDED - export completed successfully, and FAILED - export encountered an error."];requestedAt:RequestedAt.toption[@ocaml.doc"Timestamp when the export request was received by the service"];domainName:DomainName.toption[@ocaml.doc"The name of the domain for which the export was created."]}letmake?exportArn=fun?exportStatus->fun?requestedAt->fun?domainName->fun()->{exportArn;exportStatus;requestedAt;domainName}letto_valuex=structure_to_value[("exportArn",(Option.mapx.exportArn~f:ExportArn.to_value));("exportStatus",(Option.mapx.exportStatus~f:ExportStatus.to_value));("requestedAt",(Option.mapx.requestedAt~f:RequestedAt.to_value));("domainName",(Option.mapx.domainName~f:DomainName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inletrequestedAt=(Option.map~f:RequestedAt.of_xml)(Xml.childxml_arg0"requestedAt")inletexportStatus=(Option.map~f:ExportStatus.of_xml)(Xml.childxml_arg0"exportStatus")inletexportArn=(Option.map~f:ExportArn.of_xml)(Xml.childxml_arg0"exportArn")inmake?domainName?requestedAt?exportStatus?exportArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomainName=field_mapjson__"domainName"DomainName.of_jsoninletrequestedAt=field_mapjson__"requestedAt"RequestedAt.of_jsoninletexportStatus=field_mapjson__"exportStatus"ExportStatus.of_jsoninletexportArn=field_mapjson__"exportArn"ExportArn.of_jsoninmake?domainName?requestedAt?exportStatus?exportArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about an export, including its unique identifier, current status, creation time, and the domain being exported."]moduleConflictException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Indicates a conflict with one or more parameters of the request."]moduleIdempotencyToken=structtypenonrect=stringletcontext_="IdempotencyToken"letmakei=letopenResultinok_or_failwith(check_string_mini~min:1);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"IdempotencyToken"jletto_json=simple_to_jsonto_valueendmoduleInvalidParameterCombinationException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Parameters that must not be used together were used together in the request."]moduleInvalidParameterValueException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The specified parameter value is not valid."]moduleNoSuchDomainException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The specified domain does not exist."]moduleNumberExportsLimitExceeded=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Cannot start export as export quota limit was exceeded"]moduleAwsAccountId=structtypenonrect=stringletcontext_="AwsAccountId"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:"AwsAccountId"jletto_json=simple_to_jsonto_valueendmoduleS3BucketName=structtypenonrect=stringletcontext_="S3BucketName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:3)>>=(fun()->(check_string_maxi~max:255)>>=(fun()->check_patterni~pattern:"[a-z0-9A-Z]+[\\.\\-\\w]*[a-z0-9A-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:"S3BucketName"jletto_json=simple_to_jsonto_valueendmoduleS3KeyPrefix=structtypenonrect=stringletcontext_="S3KeyPrefix"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:850)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"S3KeyPrefix"jletto_json=simple_to_jsonto_valueendmoduleS3SseAlgorithm=structtypenonrect=|AES256|KMS|Non_static_idofstringletmakei=iletto_string=function|AES256->"AES256"|KMS->"KMS"|Non_static_ids->sletof_string=function|"AES256"->AES256|"KMS"->KMS|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 S3SseAlgorithm"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"S3SseAlgorithm"j)letto_json=simple_to_jsonto_valueendmoduleS3SseKmsKeyId=structtypenonrect=stringletcontext_="S3SseKmsKeyId"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"S3SseKmsKeyId"jletto_json=simple_to_jsonto_valueendmoduleExportSummaries=structtypenonrect=ExportSummary.tlistletmakei=letopenResultinok_or_failwith(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:ExportSummary.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:ExportSummary.of_xml)letof_jsonj=list_of_json~kind:"ExportSummaries"~of_json:ExportSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInvalidNextTokenException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The specified next token is not valid."]moduleNextToken=structtypenonrect=string[@@ocaml.doc"A pagination token used for retrieving subsequent pages of results."]letcontext_="NextToken"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:2048)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NextToken"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"A pagination token used for retrieving subsequent pages of results."]moduleMaxResults=structtypenonrect=int[@@ocaml.doc"The maximum number of results to return in a single response. Note: The actual number of results returned might be less than the specified maxResults."]letmakei=letopenResultinok_or_failwith(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_valueend[@@ocaml.doc"The maximum number of results to return in a single response. Note: The actual number of results returned might be less than the specified maxResults."]moduleExportDataCutoffTime=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_valueendmoduleExportManifestSummary=structtypenonrect=stringletcontext_="ExportManifestSummary"letmakei=letopenResultinok_or_failwith(check_string_mini~min:1);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ExportManifestSummary"jletto_json=simple_to_jsonto_valueendmoduleFailureCode=structtypenonrect=stringletcontext_="FailureCode"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(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:"FailureCode"jletto_json=simple_to_jsonto_valueendmoduleFailureMessage=structtypenonrect=stringletcontext_="FailureMessage"letmakei=letopenResultinok_or_failwith(check_string_mini~min:1);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FailureMessage"jletto_json=simple_to_jsonto_valueendmoduleItemsCount=structtypenonrect=Int64.tletmakei=letopenResultinok_or_failwith(check_int64_mini~min:0L);iletof_string=Int64.of_stringletto_valuex=`Longxletto_queryv=to_queryto_valuevletto_headerx=Int64.to_stringxletof_xmlxml_arg0=Int64.of_string(string_of_xml~kind:"a long"xml_arg0)letof_jsonj=Int64.of_float(float_of_json~kind:"a long"j)letto_json=simple_to_jsonto_valueendmoduleNoSuchExportException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Export with specified ARN does not exist."]moduleStartDomainExportResponse=structtypenonrect={clientToken:IdempotencyToken.toption[@ocaml.doc"The client token that was provided in the request."];exportArn:ExportArn.toption[@ocaml.doc"Unique ARN identifier of the export."];requestedAt:RequestedAt.toption[@ocaml.doc"Timestamp when the export request was received by the service."]}typenonrecerror=[`ConflictExceptionofConflictException.t|`InvalidParameterCombinationExceptionofInvalidParameterCombinationException.t|`InvalidParameterValueExceptionofInvalidParameterValueException.t|`NoSuchDomainExceptionofNoSuchDomainException.t|`NumberExportsLimitExceededofNumberExportsLimitExceeded.t|`Unknown_operation_errorof(string*stringoption)]letmake?clientToken=fun?exportArn->fun?requestedAt->fun()->{clientToken;exportArn;requestedAt}leterror_of_jsonnamejson=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InvalidParameterCombinationException"->`InvalidParameterCombinationException(InvalidParameterCombinationException.of_jsonjson)|"InvalidParameterValueException"->`InvalidParameterValueException(InvalidParameterValueException.of_jsonjson)|"NoSuchDomainException"->`NoSuchDomainException(NoSuchDomainException.of_jsonjson)|"NumberExportsLimitExceeded"->`NumberExportsLimitExceeded(NumberExportsLimitExceeded.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InvalidParameterCombinationException"->`InvalidParameterCombinationException(InvalidParameterCombinationException.of_xmlxml)|"InvalidParameterValueException"->`InvalidParameterValueException(InvalidParameterValueException.of_xmlxml)|"NoSuchDomainException"->`NoSuchDomainException(NoSuchDomainException.of_xmlxml)|"NumberExportsLimitExceeded"->`NumberExportsLimitExceeded(NumberExportsLimitExceeded.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InvalidParameterCombinationExceptione->`Assoc[("error",(`String"InvalidParameterCombinationException"));("details",(InvalidParameterCombinationException.to_jsone))]|`InvalidParameterValueExceptione->`Assoc[("error",(`String"InvalidParameterValueException"));("details",(InvalidParameterValueException.to_jsone))]|`NoSuchDomainExceptione->`Assoc[("error",(`String"NoSuchDomainException"));("details",(NoSuchDomainException.to_jsone))]|`NumberExportsLimitExceedede->`Assoc[("error",(`String"NumberExportsLimitExceeded"));("details",(NumberExportsLimitExceeded.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:IdempotencyToken.to_value));("exportArn",(Option.mapx.exportArn~f:ExportArn.to_value));("requestedAt",(Option.mapx.requestedAt~f:RequestedAt.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrequestedAt=(Option.map~f:RequestedAt.of_xml)(Xml.childxml_arg0"requestedAt")inletexportArn=(Option.map~f:ExportArn.of_xml)(Xml.childxml_arg0"exportArn")inletclientToken=(Option.map~f:IdempotencyToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?requestedAt?exportArn?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrequestedAt=field_mapjson__"requestedAt"RequestedAt.of_jsoninletexportArn=field_mapjson__"exportArn"ExportArn.of_jsoninletclientToken=field_mapjson__"clientToken"IdempotencyToken.of_jsoninmake?requestedAt?exportArn?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Initiates the export of a SimpleDB domain to an S3 bucket."]moduleStartDomainExportRequest=structtypenonrect={clientToken:IdempotencyToken.toption[@ocaml.doc"Providing a ClientToken makes the call to StartDomainExport API idempotent, meaning that multiple identical calls have the same effect as one single call. A client token is valid for 8 hours after the first request that uses it is completed. After 8 hours, any request with the same client token is treated as a new request. Do not resubmit the same request with the same client token for more than 8 hours, or the result might not be idempotent. If you submit a request with the same client token but a change in other parameters within the 8-hour idempotency window, a ConflictException will be returned."];domainName:DomainName.t[@ocaml.doc"The name of the domain to export."];s3Bucket:S3BucketName.t[@ocaml.doc"The name of the S3 bucket where the domain data will be exported."];s3KeyPrefix:S3KeyPrefix.toption[@ocaml.doc"The prefix string to be used to generate the S3 object keys for export artifacts."];s3SseAlgorithm:S3SseAlgorithm.toption[@ocaml.doc"The server-side encryption algorithm to use for the exported data in S3. Valid values are: AES256 (SSE-S3) and KMS (SSE-KMS). If not specified, bucket's default encryption will apply."];s3SseKmsKeyId:S3SseKmsKeyId.toption[@ocaml.doc"The KMS key ID to use for server-side encryption with AWS KMS-managed keys (SSE-KMS). This parameter is only expected with KMS as the S3 SSE algorithm."];s3BucketOwner:AwsAccountId.toption[@ocaml.doc"The ID of the AWS account that owns the bucket the export will be stored in."]}letcontext_="StartDomainExportRequest"letmake?clientToken=fun?s3KeyPrefix->fun?s3SseAlgorithm->fun?s3SseKmsKeyId->fun?s3BucketOwner->fun~domainName->fun~s3Bucket->fun()->{clientToken;s3KeyPrefix;s3SseAlgorithm;s3SseKmsKeyId;s3BucketOwner;domainName;s3Bucket}letto_valuex=structure_to_value[("clientToken",(Option.mapx.clientToken~f:IdempotencyToken.to_value));("domainName",(Some(DomainName.to_valuex.domainName)));("s3Bucket",(Some(S3BucketName.to_valuex.s3Bucket)));("s3KeyPrefix",(Option.mapx.s3KeyPrefix~f:S3KeyPrefix.to_value));("s3SseAlgorithm",(Option.mapx.s3SseAlgorithm~f:S3SseAlgorithm.to_value));("s3SseKmsKeyId",(Option.mapx.s3SseKmsKeyId~f:S3SseKmsKeyId.to_value));("s3BucketOwner",(Option.mapx.s3BucketOwner~f:AwsAccountId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lets3BucketOwner=(Option.map~f:AwsAccountId.of_xml)(Xml.childxml_arg0"s3BucketOwner")inlets3SseKmsKeyId=(Option.map~f:S3SseKmsKeyId.of_xml)(Xml.childxml_arg0"s3SseKmsKeyId")inlets3SseAlgorithm=(Option.map~f:S3SseAlgorithm.of_xml)(Xml.childxml_arg0"s3SseAlgorithm")inlets3KeyPrefix=(Option.map~f:S3KeyPrefix.of_xml)(Xml.childxml_arg0"s3KeyPrefix")inlets3Bucket=S3BucketName.of_xml(Xml.child_exn~context:context_xml_arg0"s3Bucket")inletdomainName=DomainName.of_xml(Xml.child_exn~context:context_xml_arg0"domainName")inletclientToken=(Option.map~f:IdempotencyToken.of_xml)(Xml.childxml_arg0"clientToken")inmake?s3BucketOwner?s3SseKmsKeyId?s3SseAlgorithm?s3KeyPrefix~s3Bucket~domainName?clientToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lets3BucketOwner=field_mapjson__"s3BucketOwner"AwsAccountId.of_jsoninlets3SseKmsKeyId=field_mapjson__"s3SseKmsKeyId"S3SseKmsKeyId.of_jsoninlets3SseAlgorithm=field_mapjson__"s3SseAlgorithm"S3SseAlgorithm.of_jsoninlets3KeyPrefix=field_mapjson__"s3KeyPrefix"S3KeyPrefix.of_jsoninlets3Bucket=field_map_exnjson__"s3Bucket"S3BucketName.of_jsoninletdomainName=field_map_exnjson__"domainName"DomainName.of_jsoninletclientToken=field_mapjson__"clientToken"IdempotencyToken.of_jsoninmake?s3BucketOwner?s3SseKmsKeyId?s3SseAlgorithm?s3KeyPrefix~s3Bucket~domainName?clientToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Initiates the export of a SimpleDB domain to an S3 bucket."]moduleListExportsResponse=structtypenonrect={exportSummaries:ExportSummaries.toption[@ocaml.doc"List of export summaries containing export ARN, status, request timestamp, and associated domain name."];nextToken:NextToken.toption[@ocaml.doc"A pagination token indicating that more results are available. To retrieve the next page of results, provide this token in a subsequent ListExports request. If null or empty, there are no more results to retrieve."]}typenonrecerror=[`InvalidNextTokenExceptionofInvalidNextTokenException.t|`InvalidParameterValueExceptionofInvalidParameterValueException.t|`NoSuchDomainExceptionofNoSuchDomainException.t|`Unknown_operation_errorof(string*stringoption)]letmake?exportSummaries=fun?nextToken->fun()->{exportSummaries;nextToken}leterror_of_jsonnamejson=matchnamewith|"InvalidNextTokenException"->`InvalidNextTokenException(InvalidNextTokenException.of_jsonjson)|"InvalidParameterValueException"->`InvalidParameterValueException(InvalidParameterValueException.of_jsonjson)|"NoSuchDomainException"->`NoSuchDomainException(NoSuchDomainException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidNextTokenException"->`InvalidNextTokenException(InvalidNextTokenException.of_xmlxml)|"InvalidParameterValueException"->`InvalidParameterValueException(InvalidParameterValueException.of_xmlxml)|"NoSuchDomainException"->`NoSuchDomainException(NoSuchDomainException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidNextTokenExceptione->`Assoc[("error",(`String"InvalidNextTokenException"));("details",(InvalidNextTokenException.to_jsone))]|`InvalidParameterValueExceptione->`Assoc[("error",(`String"InvalidParameterValueException"));("details",(InvalidParameterValueException.to_jsone))]|`NoSuchDomainExceptione->`Assoc[("error",(`String"NoSuchDomainException"));("details",(NoSuchDomainException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("exportSummaries",(Option.mapx.exportSummaries~f:ExportSummaries.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletexportSummaries=(Option.map~f:ExportSummaries.of_xml)(Xml.childxml_arg0"exportSummaries")inmake?nextToken?exportSummaries()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletexportSummaries=field_mapjson__"exportSummaries"ExportSummaries.of_jsoninmake?nextToken?exportSummaries()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all exports that were created. The results are paginated and can be filtered by domain name."]moduleListExportsRequest=structtypenonrect={domainName:DomainName.toption[@ocaml.doc"The name of the domain to filter exports. If not provided, exports for all the domains will be listed."];maxResults:MaxResults.toption[@ocaml.doc"The maximum number of exports to return in a single response."];nextToken:NextToken.toption[@ocaml.doc"A pagination token used to retrieve the next page of results. This token is obtained from the nextToken field in the previous ListExportsResponse. Leave empty for the first request."]}letmake?domainName=fun?maxResults->fun?nextToken->fun()->{domainName;maxResults;nextToken}letto_valuex=structure_to_value[("domainName",(Option.mapx.domainName~f:DomainName.to_value));("maxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("nextToken",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"maxResults")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inmake?nextToken?maxResults?domainName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletdomainName=field_mapjson__"domainName"DomainName.of_jsoninmake?nextToken?maxResults?domainName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all exports that were created. The results are paginated and can be filtered by domain name."]moduleGetExportResponse=structtypenonrect={exportArn:ExportArn.toption[@ocaml.doc"Unique ARN identifier of the export."];clientToken:IdempotencyToken.toption[@ocaml.doc"The client token provided for this export."];exportStatus:ExportStatus.toption[@ocaml.doc"The current state of the export. Current possible values include : PENDING - export request received, IN_PROGRESS - export is being processed, SUCCEEDED - export completed successfully, and FAILED - export encountered an error."];domainName:DomainName.toption[@ocaml.doc"The name of the domain that was exported."];requestedAt:RequestedAt.toption[@ocaml.doc"Timestamp when the export request was received by the service."];s3Bucket:S3BucketName.toption[@ocaml.doc"The name of the S3 bucket for this export."];s3KeyPrefix:S3KeyPrefix.toption[@ocaml.doc"The S3 key prefix provided in the corresponding StartDomainExport request."];s3SseAlgorithm:S3SseAlgorithm.toption[@ocaml.doc"The S3 SSE encryption algorithm for this export."];s3SseKmsKeyId:S3SseKmsKeyId.toption[@ocaml.doc"The KMS key ID for this export."];s3BucketOwner:AwsAccountId.toption[@ocaml.doc"The S3 bucket owner account ID for this export."];failureCode:FailureCode.toption[@ocaml.doc"Failure code for the result of the failed export."];failureMessage:FailureMessage.toption[@ocaml.doc"Export failure reason description."];exportManifest:ExportManifestSummary.toption[@ocaml.doc"The name of the manifest summary file for the export."];itemsCount:ItemsCount.toption[@ocaml.doc"Total number of exported items."];exportDataCutoffTime:ExportDataCutoffTime.toption[@ocaml.doc"The timestamp indicating the cutoff point for data inclusion in the export. All data inserted or modified before this time will be present in the exported data. Data insertions or modifications after this timestamp may or may not be present in the export."]}typenonrecerror=[`InvalidParameterValueExceptionofInvalidParameterValueException.t|`NoSuchExportExceptionofNoSuchExportException.t|`Unknown_operation_errorof(string*stringoption)]letmake?exportArn=fun?clientToken->fun?exportStatus->fun?domainName->fun?requestedAt->fun?s3Bucket->fun?s3KeyPrefix->fun?s3SseAlgorithm->fun?s3SseKmsKeyId->fun?s3BucketOwner->fun?failureCode->fun?failureMessage->fun?exportManifest->fun?itemsCount->fun?exportDataCutoffTime->fun()->{exportArn;clientToken;exportStatus;domainName;requestedAt;s3Bucket;s3KeyPrefix;s3SseAlgorithm;s3SseKmsKeyId;s3BucketOwner;failureCode;failureMessage;exportManifest;itemsCount;exportDataCutoffTime}leterror_of_jsonnamejson=matchnamewith|"InvalidParameterValueException"->`InvalidParameterValueException(InvalidParameterValueException.of_jsonjson)|"NoSuchExportException"->`NoSuchExportException(NoSuchExportException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InvalidParameterValueException"->`InvalidParameterValueException(InvalidParameterValueException.of_xmlxml)|"NoSuchExportException"->`NoSuchExportException(NoSuchExportException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InvalidParameterValueExceptione->`Assoc[("error",(`String"InvalidParameterValueException"));("details",(InvalidParameterValueException.to_jsone))]|`NoSuchExportExceptione->`Assoc[("error",(`String"NoSuchExportException"));("details",(NoSuchExportException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("exportArn",(Option.mapx.exportArn~f:ExportArn.to_value));("clientToken",(Option.mapx.clientToken~f:IdempotencyToken.to_value));("exportStatus",(Option.mapx.exportStatus~f:ExportStatus.to_value));("domainName",(Option.mapx.domainName~f:DomainName.to_value));("requestedAt",(Option.mapx.requestedAt~f:RequestedAt.to_value));("s3Bucket",(Option.mapx.s3Bucket~f:S3BucketName.to_value));("s3KeyPrefix",(Option.mapx.s3KeyPrefix~f:S3KeyPrefix.to_value));("s3SseAlgorithm",(Option.mapx.s3SseAlgorithm~f:S3SseAlgorithm.to_value));("s3SseKmsKeyId",(Option.mapx.s3SseKmsKeyId~f:S3SseKmsKeyId.to_value));("s3BucketOwner",(Option.mapx.s3BucketOwner~f:AwsAccountId.to_value));("failureCode",(Option.mapx.failureCode~f:FailureCode.to_value));("failureMessage",(Option.mapx.failureMessage~f:FailureMessage.to_value));("exportManifest",(Option.mapx.exportManifest~f:ExportManifestSummary.to_value));("itemsCount",(Option.mapx.itemsCount~f:ItemsCount.to_value));("exportDataCutoffTime",(Option.mapx.exportDataCutoffTime~f:ExportDataCutoffTime.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexportDataCutoffTime=(Option.map~f:ExportDataCutoffTime.of_xml)(Xml.childxml_arg0"exportDataCutoffTime")inletitemsCount=(Option.map~f:ItemsCount.of_xml)(Xml.childxml_arg0"itemsCount")inletexportManifest=(Option.map~f:ExportManifestSummary.of_xml)(Xml.childxml_arg0"exportManifest")inletfailureMessage=(Option.map~f:FailureMessage.of_xml)(Xml.childxml_arg0"failureMessage")inletfailureCode=(Option.map~f:FailureCode.of_xml)(Xml.childxml_arg0"failureCode")inlets3BucketOwner=(Option.map~f:AwsAccountId.of_xml)(Xml.childxml_arg0"s3BucketOwner")inlets3SseKmsKeyId=(Option.map~f:S3SseKmsKeyId.of_xml)(Xml.childxml_arg0"s3SseKmsKeyId")inlets3SseAlgorithm=(Option.map~f:S3SseAlgorithm.of_xml)(Xml.childxml_arg0"s3SseAlgorithm")inlets3KeyPrefix=(Option.map~f:S3KeyPrefix.of_xml)(Xml.childxml_arg0"s3KeyPrefix")inlets3Bucket=(Option.map~f:S3BucketName.of_xml)(Xml.childxml_arg0"s3Bucket")inletrequestedAt=(Option.map~f:RequestedAt.of_xml)(Xml.childxml_arg0"requestedAt")inletdomainName=(Option.map~f:DomainName.of_xml)(Xml.childxml_arg0"domainName")inletexportStatus=(Option.map~f:ExportStatus.of_xml)(Xml.childxml_arg0"exportStatus")inletclientToken=(Option.map~f:IdempotencyToken.of_xml)(Xml.childxml_arg0"clientToken")inletexportArn=(Option.map~f:ExportArn.of_xml)(Xml.childxml_arg0"exportArn")inmake?exportDataCutoffTime?itemsCount?exportManifest?failureMessage?failureCode?s3BucketOwner?s3SseKmsKeyId?s3SseAlgorithm?s3KeyPrefix?s3Bucket?requestedAt?domainName?exportStatus?clientToken?exportArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexportDataCutoffTime=field_mapjson__"exportDataCutoffTime"ExportDataCutoffTime.of_jsoninletitemsCount=field_mapjson__"itemsCount"ItemsCount.of_jsoninletexportManifest=field_mapjson__"exportManifest"ExportManifestSummary.of_jsoninletfailureMessage=field_mapjson__"failureMessage"FailureMessage.of_jsoninletfailureCode=field_mapjson__"failureCode"FailureCode.of_jsoninlets3BucketOwner=field_mapjson__"s3BucketOwner"AwsAccountId.of_jsoninlets3SseKmsKeyId=field_mapjson__"s3SseKmsKeyId"S3SseKmsKeyId.of_jsoninlets3SseAlgorithm=field_mapjson__"s3SseAlgorithm"S3SseAlgorithm.of_jsoninlets3KeyPrefix=field_mapjson__"s3KeyPrefix"S3KeyPrefix.of_jsoninlets3Bucket=field_mapjson__"s3Bucket"S3BucketName.of_jsoninletrequestedAt=field_mapjson__"requestedAt"RequestedAt.of_jsoninletdomainName=field_mapjson__"domainName"DomainName.of_jsoninletexportStatus=field_mapjson__"exportStatus"ExportStatus.of_jsoninletclientToken=field_mapjson__"clientToken"IdempotencyToken.of_jsoninletexportArn=field_mapjson__"exportArn"ExportArn.of_jsoninmake?exportDataCutoffTime?itemsCount?exportManifest?failureMessage?failureCode?s3BucketOwner?s3SseKmsKeyId?s3SseAlgorithm?s3KeyPrefix?s3Bucket?requestedAt?domainName?exportStatus?clientToken?exportArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information for an existing domain export."]moduleGetExportRequest=structtypenonrect={exportArn:ExportArn.t[@ocaml.doc"Unique ARN identifier of the export."]}letcontext_="GetExportRequest"letmake~exportArn=fun()->{exportArn}letto_valuex=structure_to_value[("exportArn",(Some(ExportArn.to_valuex.exportArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexportArn=ExportArn.of_xml(Xml.child_exn~context:context_xml_arg0"exportArn")inmake~exportArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexportArn=field_map_exnjson__"exportArn"ExportArn.of_jsoninmake~exportArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Returns information for an existing domain export."]