123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757(* 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.appconfigdataletapiVersion="2021-11-11"letendpointPrefix="appconfigdata"letserviceFullName="AWS AppConfig Data"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[]))])moduleInvalidParameterProblem=structtypenonrect=|Corrupted|Expired|PollIntervalNotSatisfied|Non_static_idofstringletmakei=iletto_string=function|Corrupted->"Corrupted"|Expired->"Expired"|PollIntervalNotSatisfied->"PollIntervalNotSatisfied"|Non_static_ids->sletof_string=function|"Corrupted"->Corrupted|"Expired"->Expired|"PollIntervalNotSatisfied"->PollIntervalNotSatisfied|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 InvalidParameterProblem"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"InvalidParameterProblem"j)letto_json=simple_to_jsonto_valueendmoduleInvalidParameterDetail=structtypenonrect={problem:InvalidParameterProblem.toption[@ocaml.doc"The reason the parameter is invalid."]}letmake?problem=fun()->{problem}letto_valuex=structure_to_value[("Problem",(Option.mapx.problem~f:InvalidParameterProblem.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letproblem=(Option.map~f:InvalidParameterProblem.of_xml)(Xml.childxml_arg0"Problem")inmake?problem()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letproblem=field_mapjson__"Problem"InvalidParameterProblem.of_jsoninmake?problem()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Information about an invalid parameter."]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_valueendmoduleInvalidParameterMap=structtypenonrect=(String_.t*InvalidParameterDetail.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types String InvalidParameterDetail"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(InvalidParameterDetail.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:InvalidParameterDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBadRequestDetails=structtypenonrect={invalidParameters:InvalidParameterMap.toption[@ocaml.doc"One or more specified parameters are not valid for the call."]}letmake?invalidParameters=fun()->{invalidParameters}letto_valuex=structure_to_value[("InvalidParameters",(Option.mapx.invalidParameters~f:InvalidParameterMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinvalidParameters=(Option.map~f:InvalidParameterMap.of_xml)(Xml.childxml_arg0"InvalidParameters")inmake?invalidParameters()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinvalidParameters=field_mapjson__"InvalidParameters"InvalidParameterMap.of_jsoninmake?invalidParameters()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Detailed information about the input that failed to satisfy the constraints specified by a call."]moduleBadRequestReason=structtypenonrect=|InvalidParameters|Non_static_idofstringletmakei=iletto_string=function|InvalidParameters->"InvalidParameters"|Non_static_ids->sletof_string=function|"InvalidParameters"->InvalidParameters|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 BadRequestReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"BadRequestReason"j)letto_json=simple_to_jsonto_valueendmoduleResourceType=structtypenonrect=|Application|ConfigurationProfile|Deployment|Environment|Configuration|Non_static_idofstringletmakei=iletto_string=function|Application->"Application"|ConfigurationProfile->"ConfigurationProfile"|Deployment->"Deployment"|Environment->"Environment"|Configuration->"Configuration"|Non_static_ids->sletof_string=function|"Application"->Application|"ConfigurationProfile"->ConfigurationProfile|"Deployment"->Deployment|"Environment"->Environment|"Configuration"->Configuration|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 ResourceType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ResourceType"j)letto_json=simple_to_jsonto_valueendmoduleStringMap=structtypenonrect=(String_.t*String_.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((String_.of_stringchopped),(String_.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(String_.to_valuex)|>(funx->(String_.to_valuey)|>(funy->(x,y))))))|>(funx->`Mapx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for Map_shape objects"()letof_xml_=failwith"of_xml_converter_of_shape: Map_shape case not implemented"letof_jsonj=object_of_json~key_of_string:String_.of_string~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBadRequestException=structtypenonrect={message:String_.toption;reason:BadRequestReason.toption[@ocaml.doc"Code indicating the reason the request was invalid."];details:BadRequestDetails.toption[@ocaml.doc"Details describing why the request was invalid."]}letmake?message=fun?reason->fun?details->fun()->{message;reason;details}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("Reason",(Option.mapx.reason~f:BadRequestReason.to_value));("Details",(Option.mapx.details~f:BadRequestDetails.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdetails=(Option.map~f:BadRequestDetails.of_xml)(Xml.childxml_arg0"Details")inletreason=(Option.map~f:BadRequestReason.of_xml)(Xml.childxml_arg0"Reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?details?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdetails=field_mapjson__"Details"BadRequestDetails.of_jsoninletreason=field_mapjson__"Reason"BadRequestReason.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?details?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the constraints specified by the service."]moduleInternalServerException=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"There was an internal failure in the service."]moduleResourceNotFoundException=structtypenonrect={message:String_.toption;resourceType:ResourceType.toption[@ocaml.doc"The type of resource that was not found."];referencedBy:StringMap.toption[@ocaml.doc"A map indicating which parameters in the request reference the resource that was not found."]}letmake?message=fun?resourceType->fun?referencedBy->fun()->{message;resourceType;referencedBy}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("ResourceType",(Option.mapx.resourceType~f:ResourceType.to_value));("ReferencedBy",(Option.mapx.referencedBy~f:StringMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreferencedBy=(Option.map~f:StringMap.of_xml)(Xml.childxml_arg0"ReferencedBy")inletresourceType=(Option.map~f:ResourceType.of_xml)(Xml.childxml_arg0"ResourceType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?referencedBy?resourceType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreferencedBy=field_mapjson__"ReferencedBy"StringMap.of_jsoninletresourceType=field_mapjson__"ResourceType"ResourceType.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?referencedBy?resourceType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The requested resource could not be found."]moduleThrottlingException=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 request was denied due to request throttling."]moduleToken=structtypenonrect=stringletcontext_="Token"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"\\S{1,8192}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Token"jletto_json=simple_to_jsonto_valueendmoduleIdentifier=structtypenonrect=stringletcontext_="Identifier"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Identifier"jletto_json=simple_to_jsonto_valueendmoduleOptionalPollSeconds=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:86400)>>=(fun()->check_int_mini~min:15));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 OptionalPollSeconds"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleSensitiveBlob=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Blobxletto_queryv=to_queryto_valuevletto_headerx=xletof_xmlxml_arg0=string_of_xml~kind:"a blob"xml_arg0letof_jsonj=string_of_json~kind:"a blob"jletto_json=simple_to_jsonto_valueendmoduleStartConfigurationSessionResponse=structtypenonrect={initialConfigurationToken:Token.toption[@ocaml.doc"Token encapsulating state about the configuration session. Provide this token to the GetLatestConfiguration API to retrieve configuration data. This token should only be used once in your first call to GetLatestConfiguration. You must use the new token in the GetLatestConfiguration response (NextPollConfigurationToken) in each subsequent call to GetLatestConfiguration. The InitialConfigurationToken and NextPollConfigurationToken should only be used once. To support long poll use cases, the tokens are valid for up to 24 hours. If a GetLatestConfiguration call uses an expired token, the system returns BadRequestException."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`Unknown_operation_errorof(string*stringoption)]letmake?initialConfigurationToken=fun()->{initialConfigurationToken}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("InitialConfigurationToken",(Option.mapx.initialConfigurationToken~f:Token.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letinitialConfigurationToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"InitialConfigurationToken")inmake?initialConfigurationToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letinitialConfigurationToken=field_mapjson__"InitialConfigurationToken"Token.of_jsoninmake?initialConfigurationToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts a configuration session used to retrieve a deployed configuration. For more information about this API action and to view example CLI commands that show how to use it with the GetLatestConfiguration API action, see Retrieving the configuration in the AppConfig User Guide."]moduleStartConfigurationSessionRequest=structtypenonrect={applicationIdentifier:Identifier.t[@ocaml.doc"The application ID or the application name."];environmentIdentifier:Identifier.t[@ocaml.doc"The environment ID or the environment name."];configurationProfileIdentifier:Identifier.t[@ocaml.doc"The configuration profile ID or the configuration profile name."];requiredMinimumPollIntervalInSeconds:OptionalPollSeconds.toption[@ocaml.doc"Sets a constraint on a session. If you specify a value of, for example, 60 seconds, then the client that established the session can't call GetLatestConfiguration more frequently than every 60 seconds."]}letcontext_="StartConfigurationSessionRequest"letmake?requiredMinimumPollIntervalInSeconds=fun~applicationIdentifier->fun~environmentIdentifier->fun~configurationProfileIdentifier->fun()->{requiredMinimumPollIntervalInSeconds;applicationIdentifier;environmentIdentifier;configurationProfileIdentifier}letto_valuex=structure_to_value[("ApplicationIdentifier",(Some(Identifier.to_valuex.applicationIdentifier)));("EnvironmentIdentifier",(Some(Identifier.to_valuex.environmentIdentifier)));("ConfigurationProfileIdentifier",(Some(Identifier.to_valuex.configurationProfileIdentifier)));("RequiredMinimumPollIntervalInSeconds",(Option.mapx.requiredMinimumPollIntervalInSeconds~f:OptionalPollSeconds.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letrequiredMinimumPollIntervalInSeconds=(Option.map~f:OptionalPollSeconds.of_xml)(Xml.childxml_arg0"RequiredMinimumPollIntervalInSeconds")inletconfigurationProfileIdentifier=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"ConfigurationProfileIdentifier")inletenvironmentIdentifier=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"EnvironmentIdentifier")inletapplicationIdentifier=Identifier.of_xml(Xml.child_exn~context:context_xml_arg0"ApplicationIdentifier")inmake?requiredMinimumPollIntervalInSeconds~configurationProfileIdentifier~environmentIdentifier~applicationIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letrequiredMinimumPollIntervalInSeconds=field_mapjson__"RequiredMinimumPollIntervalInSeconds"OptionalPollSeconds.of_jsoninletconfigurationProfileIdentifier=field_map_exnjson__"ConfigurationProfileIdentifier"Identifier.of_jsoninletenvironmentIdentifier=field_map_exnjson__"EnvironmentIdentifier"Identifier.of_jsoninletapplicationIdentifier=field_map_exnjson__"ApplicationIdentifier"Identifier.of_jsoninmake?requiredMinimumPollIntervalInSeconds~configurationProfileIdentifier~environmentIdentifier~applicationIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Starts a configuration session used to retrieve a deployed configuration. For more information about this API action and to view example CLI commands that show how to use it with the GetLatestConfiguration API action, see Retrieving the configuration in the AppConfig User Guide."]moduleGetLatestConfigurationResponse=structtypenonrect={nextPollConfigurationToken:Token.toption[@ocaml.doc"The latest token describing the current state of the configuration session. This must be provided to the next call to GetLatestConfiguration. This token should only be used once. To support long poll use cases, the token is valid for up to 24 hours. If a GetLatestConfiguration call uses an expired token, the system returns BadRequestException."];nextPollIntervalInSeconds:Integer.toption[@ocaml.doc"The amount of time the client should wait before polling for configuration updates again. Use RequiredMinimumPollIntervalInSeconds to set the desired poll interval."];contentType:String_.toption[@ocaml.doc"A standard MIME type describing the format of the configuration content."];configuration:SensitiveBlob.toption[@ocaml.doc"The data of the configuration. This may be empty if the client already has the latest version of configuration."];versionLabel:String_.toption[@ocaml.doc"The user-defined label for the AppConfig hosted configuration version. This attribute doesn't apply if the configuration is not from an AppConfig hosted configuration version. If the client already has the latest version of the configuration data, this value is empty."]}typenonrecerror=[`BadRequestExceptionofBadRequestException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextPollConfigurationToken=fun?nextPollIntervalInSeconds->fun?contentType->fun?configuration->fun?versionLabel->fun()->{nextPollConfigurationToken;nextPollIntervalInSeconds;contentType;configuration;versionLabel}leterror_of_jsonnamejson=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letof_header_and_body=((fun(xs,pipe)->make?nextPollConfigurationToken:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Next-Poll-Configuration-Token")~f:Token.of_string)?nextPollIntervalInSeconds:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Next-Poll-Interval-In-Seconds")~f:Integer.of_string)?contentType:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Content-Type")~f:String_.of_string)?configuration:(Somepipe)?versionLabel:(Option.map((List.Assoc.find~equal:String.Caseless.equal)xs"Version-Label")~f:String_.of_string)())[@warning"-27"])letto_valuex=structure_to_value[("Next-Poll-Configuration-Token",(Option.mapx.nextPollConfigurationToken~f:Token.to_value));("Next-Poll-Interval-In-Seconds",(Option.mapx.nextPollIntervalInSeconds~f:Integer.to_value));("Content-Type",(Option.mapx.contentType~f:String_.to_value));("Configuration",(Option.mapx.configuration~f:SensitiveBlob.to_value));("Version-Label",(Option.mapx.versionLabel~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letversionLabel=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Version-Label")inletconfiguration=(Option.map~f:SensitiveBlob.of_xml)(Xml.childxml_arg0"Configuration")inletcontentType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Content-Type")inletnextPollIntervalInSeconds=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"Next-Poll-Interval-In-Seconds")inletnextPollConfigurationToken=(Option.map~f:Token.of_xml)(Xml.childxml_arg0"Next-Poll-Configuration-Token")inmake?versionLabel?configuration?contentType?nextPollIntervalInSeconds?nextPollConfigurationToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letversionLabel=field_mapjson__"VersionLabel"String_.of_jsoninletconfiguration=field_mapjson__"Configuration"SensitiveBlob.of_jsoninletcontentType=field_mapjson__"ContentType"String_.of_jsoninletnextPollIntervalInSeconds=field_mapjson__"NextPollIntervalInSeconds"Integer.of_jsoninletnextPollConfigurationToken=field_mapjson__"NextPollConfigurationToken"Token.of_jsoninmake?versionLabel?configuration?contentType?nextPollIntervalInSeconds?nextPollConfigurationToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the latest deployed configuration. This API may return empty configuration data if the client already has the latest version. For more information about this API action and to view example CLI commands that show how to use it with the StartConfigurationSession API action, see Retrieving the configuration in the AppConfig User Guide. Note the following important information. Each configuration token is only valid for one call to GetLatestConfiguration. The GetLatestConfiguration response includes a NextPollConfigurationToken that should always replace the token used for the just-completed call in preparation for the next one. GetLatestConfiguration is a priced call. For more information, see Pricing."]moduleGetLatestConfigurationRequest=structtypenonrect={configurationToken:Token.t[@ocaml.doc"Token describing the current state of the configuration session. To obtain a token, first call the StartConfigurationSession API. Note that every call to GetLatestConfiguration will return a new ConfigurationToken (NextPollConfigurationToken in the response) and must be provided to subsequent GetLatestConfiguration API calls. This token should only be used once. To support long poll use cases, the token is valid for up to 24 hours. If a GetLatestConfiguration call uses an expired token, the system returns BadRequestException."]}letcontext_="GetLatestConfigurationRequest"letmake~configurationToken=fun()->{configurationToken}letto_valuex=structure_to_value[("configuration_token",(Some(Token.to_valuex.configurationToken)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconfigurationToken=Token.of_xml(Xml.child_exn~context:context_xml_arg0"configuration_token")inmake~configurationToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconfigurationToken=field_map_exnjson__"ConfigurationToken"Token.of_jsoninmake~configurationToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the latest deployed configuration. This API may return empty configuration data if the client already has the latest version. For more information about this API action and to view example CLI commands that show how to use it with the StartConfigurationSession API action, see Retrieving the configuration in the AppConfig User Guide. Note the following important information. Each configuration token is only valid for one call to GetLatestConfiguration. The GetLatestConfiguration response includes a NextPollConfigurationToken that should always replace the token used for the just-completed call in preparation for the next one. GetLatestConfiguration is a priced call. For more information, see Pricing."]