123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358(* 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.pca_connector_scepletapiVersion="2018-05-10"letendpointPrefix="pca-connector-scep"letserviceFullName="Private CA Connector for SCEP"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[]))])moduleAzureApplicationId=structtypenonrect=stringletcontext_="AzureApplicationId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:15)>>=(fun()->(check_string_maxi~max:100)>>=(fun()->check_patterni~pattern:"[a-zA-Z0-9]{2,15}-[a-zA-Z0-9]{2,15}-[a-zA-Z0-9]{2,15}-[a-zA-Z0-9]{2,15}-[a-zA-Z0-9]{2,15}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AzureApplicationId"jletto_json=simple_to_jsonto_valueendmoduleAzureDomain=structtypenonrect=stringletcontext_="AzureDomain"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(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:"AzureDomain"jletto_json=simple_to_jsonto_valueendmoduleIntuneConfiguration=structtypenonrect={azureApplicationId:AzureApplicationId.t[@ocaml.doc"The directory (tenant) ID from your Microsoft Entra ID app registration."];domain:AzureDomain.t[@ocaml.doc"The primary domain from your Microsoft Entra ID app registration."]}letcontext_="IntuneConfiguration"letmake~azureApplicationId=fun~domain->fun()->{azureApplicationId;domain}letto_valuex=structure_to_value[("AzureApplicationId",(Some(AzureApplicationId.to_valuex.azureApplicationId)));("Domain",(Some(AzureDomain.to_valuex.domain)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdomain=AzureDomain.of_xml(Xml.child_exn~context:context_xml_arg0"Domain")inletazureApplicationId=AzureApplicationId.of_xml(Xml.child_exn~context:context_xml_arg0"AzureApplicationId")inmake~domain~azureApplicationId()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdomain=field_map_exnjson__"Domain"AzureDomain.of_jsoninletazureApplicationId=field_map_exnjson__"AzureApplicationId"AzureApplicationId.of_jsoninmake~domain~azureApplicationId()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains configuration details for use with Microsoft Intune. For information about using Connector for SCEP for Microsoft Intune, see Using Connector for SCEP for Microsoft Intune. When you use Connector for SCEP for Microsoft Intune, certain functionalities are enabled by accessing Microsoft Intune through the Microsoft API. Your use of the Connector for SCEP and accompanying Amazon Web Services services doesn't remove your need to have a valid license for your use of the Microsoft Intune service. You should also review the Microsoft Intune\194\174 App Protection Policies."]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_valueendmoduleCertificateAuthorityArn=structtypenonrect=stringletcontext_="CertificateAuthorityArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:5)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"arn:aws(-[a-z]+)*:acm-pca:[a-z]+(-[a-z]+)+-[1-9]\\d*:\\d{12}:certificate-authority\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{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:"CertificateAuthorityArn"jletto_json=simple_to_jsonto_valueendmoduleConnectorArn=structtypenonrect=stringletcontext_="ConnectorArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:5)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"arn:aws(-[a-z]+)*:pca-connector-scep:[a-z]+(-[a-z]+)+-[1-9]\\d*:\\d{12}:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{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:"ConnectorArn"jletto_json=simple_to_jsonto_valueendmoduleConnectorStatus=structtypenonrect=|CREATING|ACTIVE|DELETING|FAILED|Non_static_idofstringletmakei=iletto_string=function|CREATING->"CREATING"|ACTIVE->"ACTIVE"|DELETING->"DELETING"|FAILED->"FAILED"|Non_static_ids->sletof_string=function|"CREATING"->CREATING|"ACTIVE"->ACTIVE|"DELETING"->DELETING|"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 ConnectorStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ConnectorStatus"j)letto_json=simple_to_jsonto_valueendmoduleConnectorStatusReason=structtypenonrect=|INTERNAL_FAILURE|PRIVATECA_ACCESS_DENIED|PRIVATECA_INVALID_STATE|PRIVATECA_RESOURCE_NOT_FOUND|VPC_ENDPOINT_RESOURCE_NOT_FOUND|VPC_ENDPOINT_DNS_ENTRIES_NOT_FOUND|Non_static_idofstringletmakei=iletto_string=function|INTERNAL_FAILURE->"INTERNAL_FAILURE"|PRIVATECA_ACCESS_DENIED->"PRIVATECA_ACCESS_DENIED"|PRIVATECA_INVALID_STATE->"PRIVATECA_INVALID_STATE"|PRIVATECA_RESOURCE_NOT_FOUND->"PRIVATECA_RESOURCE_NOT_FOUND"|VPC_ENDPOINT_RESOURCE_NOT_FOUND->"VPC_ENDPOINT_RESOURCE_NOT_FOUND"|VPC_ENDPOINT_DNS_ENTRIES_NOT_FOUND->"VPC_ENDPOINT_DNS_ENTRIES_NOT_FOUND"|Non_static_ids->sletof_string=function|"INTERNAL_FAILURE"->INTERNAL_FAILURE|"PRIVATECA_ACCESS_DENIED"->PRIVATECA_ACCESS_DENIED|"PRIVATECA_INVALID_STATE"->PRIVATECA_INVALID_STATE|"PRIVATECA_RESOURCE_NOT_FOUND"->PRIVATECA_RESOURCE_NOT_FOUND|"VPC_ENDPOINT_RESOURCE_NOT_FOUND"->VPC_ENDPOINT_RESOURCE_NOT_FOUND|"VPC_ENDPOINT_DNS_ENTRIES_NOT_FOUND"->VPC_ENDPOINT_DNS_ENTRIES_NOT_FOUND|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 ConnectorStatusReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ConnectorStatusReason"j)letto_json=simple_to_jsonto_valueendmoduleConnectorType=structtypenonrect=|GENERAL_PURPOSE|INTUNE|Non_static_idofstringletmakei=iletto_string=function|GENERAL_PURPOSE->"GENERAL_PURPOSE"|INTUNE->"INTUNE"|Non_static_ids->sletof_string=function|"GENERAL_PURPOSE"->GENERAL_PURPOSE|"INTUNE"->INTUNE|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 ConnectorType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ConnectorType"j)letto_json=simple_to_jsonto_valueendmoduleMobileDeviceManagement=structtypenonrect={intune:IntuneConfiguration.toption[@ocaml.doc"Configuration settings for use with Microsoft Intune. For information about using Connector for SCEP for Microsoft Intune, see Using Connector for SCEP for Microsoft Intune."]}letmake?intune=fun()->{intune}letto_valuex=structure_to_value[("Intune",(Option.mapx.intune~f:IntuneConfiguration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letintune=(Option.map~f:IntuneConfiguration.of_xml)(Xml.childxml_arg0"Intune")inmake?intune()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letintune=field_mapjson__"Intune"IntuneConfiguration.of_jsoninmake?intune()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"If you don't supply a value, by default Connector for SCEP creates a connector for general-purpose use. A general-purpose connector is designed to work with clients or endpoints that support the SCEP protocol, except Connector for SCEP for Microsoft Intune. For information about considerations and limitations with using Connector for SCEP, see Considerations and Limitations. If you provide an IntuneConfiguration, Connector for SCEP creates a connector for use with Microsoft Intune, and you manage the challenge passwords using Microsoft Intune. For more information, see Using Connector for SCEP for Microsoft Intune."]moduleOpenIdConfiguration=structtypenonrect={issuer:String_.toption[@ocaml.doc"The issuer value to copy into your Microsoft Entra app registration's OIDC."];subject:String_.toption[@ocaml.doc"The subject value to copy into your Microsoft Entra app registration's OIDC."];audience:String_.toption[@ocaml.doc"The audience value to copy into your Microsoft Entra app registration's OIDC."]}letmake?issuer=fun?subject->fun?audience->fun()->{issuer;subject;audience}letto_valuex=structure_to_value[("Issuer",(Option.mapx.issuer~f:String_.to_value));("Subject",(Option.mapx.subject~f:String_.to_value));("Audience",(Option.mapx.audience~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letaudience=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Audience")inletsubject=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Subject")inletissuer=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Issuer")inmake?audience?subject?issuer()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letaudience=field_mapjson__"Audience"String_.of_jsoninletsubject=field_mapjson__"Subject"String_.of_jsoninletissuer=field_mapjson__"Issuer"String_.of_jsoninmake?audience?subject?issuer()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains OpenID Connect (OIDC) parameters for use with Microsoft Intune. For more information about using Connector for SCEP for Microsoft Intune, see Using Connector for SCEP for Microsoft Intune."]moduleTimestamp=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_valueendmoduleChallengeArn=structtypenonrect=stringletcontext_="ChallengeArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:5)>>=(fun()->(check_string_maxi~max:200)>>=(fun()->check_patterni~pattern:"arn:aws(-[a-z]+)*:pca-connector-scep:[a-z]+(-[a-z]+)+-[1-9]\\d*:\\d{12}:connector\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}\\/challenge\\/[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{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:"ChallengeArn"jletto_json=simple_to_jsonto_valueendmoduleValidationExceptionReason=structtypenonrect=|CA_CERT_VALIDITY_TOO_SHORT|INVALID_CA_USAGE_MODE|INVALID_CONNECTOR_TYPE|INVALID_STATE|NO_CLIENT_TOKEN|UNKNOWN_OPERATION|OTHER|Non_static_idofstringletmakei=iletto_string=function|CA_CERT_VALIDITY_TOO_SHORT->"CA_CERT_VALIDITY_TOO_SHORT"|INVALID_CA_USAGE_MODE->"INVALID_CA_USAGE_MODE"|INVALID_CONNECTOR_TYPE->"INVALID_CONNECTOR_TYPE"|INVALID_STATE->"INVALID_STATE"|NO_CLIENT_TOKEN->"NO_CLIENT_TOKEN"|UNKNOWN_OPERATION->"UNKNOWN_OPERATION"|OTHER->"OTHER"|Non_static_ids->sletof_string=function|"CA_CERT_VALIDITY_TOO_SHORT"->CA_CERT_VALIDITY_TOO_SHORT|"INVALID_CA_USAGE_MODE"->INVALID_CA_USAGE_MODE|"INVALID_CONNECTOR_TYPE"->INVALID_CONNECTOR_TYPE|"INVALID_STATE"->INVALID_STATE|"NO_CLIENT_TOKEN"->NO_CLIENT_TOKEN|"UNKNOWN_OPERATION"->UNKNOWN_OPERATION|"OTHER"->OTHER|x->Non_static_idxletto_valuex=`Enum(to_stringx)letto_queryv=to_queryto_valuevletto_headerx=to_stringxletof_xmlxml_arg0=of_string(string_of_xml~kind:"enumeration ValidationExceptionReason"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ValidationExceptionReason"j)letto_json=simple_to_jsonto_valueendmoduleConnectorSummary=structtypenonrect={arn:ConnectorArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the connector."];certificateAuthorityArn:CertificateAuthorityArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the connector's associated certificate authority."];type_:ConnectorType.toption[@ocaml.doc"The connector type."];mobileDeviceManagement:MobileDeviceManagement.toption[@ocaml.doc"Contains settings relevant to the mobile device management system that you chose for the connector. If you didn't configure MobileDeviceManagement, then the connector is for general-purpose use and this object is empty."];openIdConfiguration:OpenIdConfiguration.toption[@ocaml.doc"Contains OpenID Connect (OIDC) parameters for use with Microsoft Intune."];status:ConnectorStatus.toption[@ocaml.doc"The connector's status. Status can be creating, active, deleting, or failed."];statusReason:ConnectorStatusReason.toption[@ocaml.doc"Information about why connector creation failed, if status is FAILED."];endpoint:String_.toption[@ocaml.doc"The connector's HTTPS public SCEP URL."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the challenge was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time that the challenge was updated."]}letmake?arn=fun?certificateAuthorityArn->fun?type_->fun?mobileDeviceManagement->fun?openIdConfiguration->fun?status->fun?statusReason->fun?endpoint->fun?createdAt->fun?updatedAt->fun()->{arn;certificateAuthorityArn;type_;mobileDeviceManagement;openIdConfiguration;status;statusReason;endpoint;createdAt;updatedAt}letto_valuex=structure_to_value[("Arn",(Option.mapx.arn~f:ConnectorArn.to_value));("CertificateAuthorityArn",(Option.mapx.certificateAuthorityArn~f:CertificateAuthorityArn.to_value));("Type",(Option.mapx.type_~f:ConnectorType.to_value));("MobileDeviceManagement",(Option.mapx.mobileDeviceManagement~f:MobileDeviceManagement.to_value));("OpenIdConfiguration",(Option.mapx.openIdConfiguration~f:OpenIdConfiguration.to_value));("Status",(Option.mapx.status~f:ConnectorStatus.to_value));("StatusReason",(Option.mapx.statusReason~f:ConnectorStatusReason.to_value));("Endpoint",(Option.mapx.endpoint~f:String_.to_value));("CreatedAt",(Option.mapx.createdAt~f:Timestamp.to_value));("UpdatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"UpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedAt")inletendpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Endpoint")inletstatusReason=(Option.map~f:ConnectorStatusReason.of_xml)(Xml.childxml_arg0"StatusReason")inletstatus=(Option.map~f:ConnectorStatus.of_xml)(Xml.childxml_arg0"Status")inletopenIdConfiguration=(Option.map~f:OpenIdConfiguration.of_xml)(Xml.childxml_arg0"OpenIdConfiguration")inletmobileDeviceManagement=(Option.map~f:MobileDeviceManagement.of_xml)(Xml.childxml_arg0"MobileDeviceManagement")inlettype_=(Option.map~f:ConnectorType.of_xml)(Xml.childxml_arg0"Type")inletcertificateAuthorityArn=(Option.map~f:CertificateAuthorityArn.of_xml)(Xml.childxml_arg0"CertificateAuthorityArn")inletarn=(Option.map~f:ConnectorArn.of_xml)(Xml.childxml_arg0"Arn")inmake?updatedAt?createdAt?endpoint?statusReason?status?openIdConfiguration?mobileDeviceManagement?type_?certificateAuthorityArn?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"UpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"CreatedAt"Timestamp.of_jsoninletendpoint=field_mapjson__"Endpoint"String_.of_jsoninletstatusReason=field_mapjson__"StatusReason"ConnectorStatusReason.of_jsoninletstatus=field_mapjson__"Status"ConnectorStatus.of_jsoninletopenIdConfiguration=field_mapjson__"OpenIdConfiguration"OpenIdConfiguration.of_jsoninletmobileDeviceManagement=field_mapjson__"MobileDeviceManagement"MobileDeviceManagement.of_jsoninlettype_=field_mapjson__"Type"ConnectorType.of_jsoninletcertificateAuthorityArn=field_mapjson__"CertificateAuthorityArn"CertificateAuthorityArn.of_jsoninletarn=field_mapjson__"Arn"ConnectorArn.of_jsoninmake?updatedAt?createdAt?endpoint?statusReason?status?openIdConfiguration?mobileDeviceManagement?type_?certificateAuthorityArn?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the Amazon Web Services Private CA SCEP connectors belonging to your Amazon Web Services account."]moduleChallengeMetadataSummary=structtypenonrect={arn:ChallengeArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the challenge."];connectorArn:ConnectorArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the connector."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the challenge was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time that the challenge was updated."]}letmake?arn=fun?connectorArn->fun?createdAt->fun?updatedAt->fun()->{arn;connectorArn;createdAt;updatedAt}letto_valuex=structure_to_value[("Arn",(Option.mapx.arn~f:ChallengeArn.to_value));("ConnectorArn",(Option.mapx.connectorArn~f:ConnectorArn.to_value));("CreatedAt",(Option.mapx.createdAt~f:Timestamp.to_value));("UpdatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"UpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedAt")inletconnectorArn=(Option.map~f:ConnectorArn.of_xml)(Xml.childxml_arg0"ConnectorArn")inletarn=(Option.map~f:ChallengeArn.of_xml)(Xml.childxml_arg0"Arn")inmake?updatedAt?createdAt?connectorArn?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"UpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"CreatedAt"Timestamp.of_jsoninletconnectorArn=field_mapjson__"ConnectorArn"ConnectorArn.of_jsoninletarn=field_mapjson__"Arn"ChallengeArn.of_jsoninmake?updatedAt?createdAt?connectorArn?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Details about the specified challenge, returned by the GetChallengeMetadata action."]moduleSensitiveString=structtypenonrect=stringletcontext_="SensitiveString"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:"SensitiveString"jletto_json=simple_to_jsonto_valueendmoduleTagKeyList=structtypenonrect=String_.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:String_.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:String_.of_xml)letof_jsonj=list_of_json~kind:"TagKeyList"~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTags=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_valuevendmoduleAccessDeniedException=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"You can receive this error if you attempt to perform an operation and you don't have the required permissions. This can be caused by insufficient permissions in policies attached to your Amazon Web Services Identity and Access Management (IAM) principal. It can also happen because of restrictions in place from an Amazon Web Services Organizations service control policy (SCP) that affects your Amazon Web Services account."]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"The request processing has failed because of an unknown error, exception or failure with an internal server."]moduleResourceNotFoundException=structtypenonrect={message:String_.toption;resourceId:String_.toption[@ocaml.doc"The identifier of the Amazon Web Services resource."];resourceType:String_.toption[@ocaml.doc"The resource type, which can be either Connector or Challenge."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("ResourceId",(Option.mapx.resourceId~f:String_.to_value));("ResourceType",(Option.mapx.resourceType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"ResourceType"String_.of_jsoninletresourceId=field_mapjson__"ResourceId"String_.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The operation tried to access a nonexistent resource. The resource might be incorrectly specified, or it might have a status other than ACTIVE."]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 limit on the number of requests per second was exceeded."]moduleValidationException=structtypenonrect={message:String_.toption;reason:ValidationExceptionReason.toption[@ocaml.doc"The reason for the validation error, if available. The service doesn't return a reason for every validation exception."]}letmake?message=fun?reason->fun()->{message;reason}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("Reason",(Option.mapx.reason~f:ValidationExceptionReason.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letreason=(Option.map~f:ValidationExceptionReason.of_xml)(Xml.childxml_arg0"Reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letreason=field_mapjson__"Reason"ValidationExceptionReason.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An input validation error occurred. For example, invalid characters in a name tag, or an invalid pagination token."]moduleConnectorList=structtypenonrect=ConnectorSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ConnectorSummary.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:ConnectorSummary.of_xml)letof_jsonj=list_of_json~kind:"ConnectorList"~of_json:ConnectorSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleNextToken=structtypenonrect=stringletcontext_="NextToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1000)>>=(fun()->check_patterni~pattern:"(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2}==|[A-Za-z0-9_-]{3}=)?")));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_valueendmoduleMaxResults=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:1000)>>=(fun()->check_int_mini~min:1));iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for MaxResults"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleChallengeMetadataList=structtypenonrect=ChallengeMetadataSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ChallengeMetadataSummary.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:ChallengeMetadataSummary.of_xml)letof_jsonj=list_of_json~kind:"ChallengeMetadataList"~of_json:ChallengeMetadataSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleConnector=structtypenonrect={arn:ConnectorArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the connector."];certificateAuthorityArn:CertificateAuthorityArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the certificate authority associated with the connector."];type_:ConnectorType.toption[@ocaml.doc"The connector type."];mobileDeviceManagement:MobileDeviceManagement.toption[@ocaml.doc"Contains settings relevant to the mobile device management system that you chose for the connector. If you didn't configure MobileDeviceManagement, then the connector is for general-purpose use and this object is empty."];openIdConfiguration:OpenIdConfiguration.toption[@ocaml.doc"Contains OpenID Connect (OIDC) parameters for use with Connector for SCEP for Microsoft Intune. For more information about using Connector for SCEP for Microsoft Intune, see Using Connector for SCEP for Microsoft Intune."];status:ConnectorStatus.toption[@ocaml.doc"The connector's status."];statusReason:ConnectorStatusReason.toption[@ocaml.doc"Information about why connector creation failed, if status is FAILED."];endpoint:String_.toption[@ocaml.doc"The connector's HTTPS public SCEP URL."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the connector was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time that the connector was updated."]}letmake?arn=fun?certificateAuthorityArn->fun?type_->fun?mobileDeviceManagement->fun?openIdConfiguration->fun?status->fun?statusReason->fun?endpoint->fun?createdAt->fun?updatedAt->fun()->{arn;certificateAuthorityArn;type_;mobileDeviceManagement;openIdConfiguration;status;statusReason;endpoint;createdAt;updatedAt}letto_valuex=structure_to_value[("Arn",(Option.mapx.arn~f:ConnectorArn.to_value));("CertificateAuthorityArn",(Option.mapx.certificateAuthorityArn~f:CertificateAuthorityArn.to_value));("Type",(Option.mapx.type_~f:ConnectorType.to_value));("MobileDeviceManagement",(Option.mapx.mobileDeviceManagement~f:MobileDeviceManagement.to_value));("OpenIdConfiguration",(Option.mapx.openIdConfiguration~f:OpenIdConfiguration.to_value));("Status",(Option.mapx.status~f:ConnectorStatus.to_value));("StatusReason",(Option.mapx.statusReason~f:ConnectorStatusReason.to_value));("Endpoint",(Option.mapx.endpoint~f:String_.to_value));("CreatedAt",(Option.mapx.createdAt~f:Timestamp.to_value));("UpdatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"UpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedAt")inletendpoint=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Endpoint")inletstatusReason=(Option.map~f:ConnectorStatusReason.of_xml)(Xml.childxml_arg0"StatusReason")inletstatus=(Option.map~f:ConnectorStatus.of_xml)(Xml.childxml_arg0"Status")inletopenIdConfiguration=(Option.map~f:OpenIdConfiguration.of_xml)(Xml.childxml_arg0"OpenIdConfiguration")inletmobileDeviceManagement=(Option.map~f:MobileDeviceManagement.of_xml)(Xml.childxml_arg0"MobileDeviceManagement")inlettype_=(Option.map~f:ConnectorType.of_xml)(Xml.childxml_arg0"Type")inletcertificateAuthorityArn=(Option.map~f:CertificateAuthorityArn.of_xml)(Xml.childxml_arg0"CertificateAuthorityArn")inletarn=(Option.map~f:ConnectorArn.of_xml)(Xml.childxml_arg0"Arn")inmake?updatedAt?createdAt?endpoint?statusReason?status?openIdConfiguration?mobileDeviceManagement?type_?certificateAuthorityArn?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"UpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"CreatedAt"Timestamp.of_jsoninletendpoint=field_mapjson__"Endpoint"String_.of_jsoninletstatusReason=field_mapjson__"StatusReason"ConnectorStatusReason.of_jsoninletstatus=field_mapjson__"Status"ConnectorStatus.of_jsoninletopenIdConfiguration=field_mapjson__"OpenIdConfiguration"OpenIdConfiguration.of_jsoninletmobileDeviceManagement=field_mapjson__"MobileDeviceManagement"MobileDeviceManagement.of_jsoninlettype_=field_mapjson__"Type"ConnectorType.of_jsoninletcertificateAuthorityArn=field_mapjson__"CertificateAuthorityArn"CertificateAuthorityArn.of_jsoninletarn=field_mapjson__"Arn"ConnectorArn.of_jsoninmake?updatedAt?createdAt?endpoint?statusReason?status?openIdConfiguration?mobileDeviceManagement?type_?certificateAuthorityArn?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Connector for SCEP is a service that links Amazon Web Services Private Certificate Authority to your SCEP-enabled devices. The connector brokers the exchange of certificates from Amazon Web Services Private CA to your SCEP-enabled devices and mobile device management systems. The connector is a complex type that contains the connector's configuration settings."]moduleChallengeMetadata=structtypenonrect={arn:ChallengeArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the challenge."];connectorArn:ConnectorArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the connector."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the connector was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time that the connector was updated."]}letmake?arn=fun?connectorArn->fun?createdAt->fun?updatedAt->fun()->{arn;connectorArn;createdAt;updatedAt}letto_valuex=structure_to_value[("Arn",(Option.mapx.arn~f:ChallengeArn.to_value));("ConnectorArn",(Option.mapx.connectorArn~f:ConnectorArn.to_value));("CreatedAt",(Option.mapx.createdAt~f:Timestamp.to_value));("UpdatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"UpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedAt")inletconnectorArn=(Option.map~f:ConnectorArn.of_xml)(Xml.childxml_arg0"ConnectorArn")inletarn=(Option.map~f:ChallengeArn.of_xml)(Xml.childxml_arg0"Arn")inmake?updatedAt?createdAt?connectorArn?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"UpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"CreatedAt"Timestamp.of_jsoninletconnectorArn=field_mapjson__"ConnectorArn"ConnectorArn.of_jsoninletarn=field_mapjson__"Arn"ChallengeArn.of_jsoninmake?updatedAt?createdAt?connectorArn?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains details about the connector's challenge."]moduleConflictException=structtypenonrect={message:String_.toption;resourceId:String_.toption[@ocaml.doc"The identifier of the Amazon Web Services resource."];resourceType:String_.toption[@ocaml.doc"The resource type, which can be either Connector or Challenge."]}letmake?message=fun?resourceId->fun?resourceType->fun()->{message;resourceId;resourceType}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("ResourceId",(Option.mapx.resourceId~f:String_.to_value));("ResourceType",(Option.mapx.resourceType~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceType")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?resourceType?resourceId?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceType=field_mapjson__"ResourceType"String_.of_jsoninletresourceId=field_mapjson__"ResourceId"String_.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"This request can't be completed for one of the following reasons because the requested resource was being concurrently modified by another request."]moduleServiceQuotaExceededException=structtypenonrect={message:String_.toption;resourceType:String_.toption[@ocaml.doc"The resource type, which can be either Connector or Challenge."];serviceCode:String_.toption[@ocaml.doc"Identifies the originating service."];quotaCode:String_.toption[@ocaml.doc"The quota identifier."]}letmake?message=fun?resourceType->fun?serviceCode->fun?quotaCode->fun()->{message;resourceType;serviceCode;quotaCode}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:String_.to_value));("ResourceType",(Option.mapx.resourceType~f:String_.to_value));("ServiceCode",(Option.mapx.serviceCode~f:String_.to_value));("QuotaCode",(Option.mapx.quotaCode~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letquotaCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"QuotaCode")inletserviceCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ServiceCode")inletresourceType=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"ResourceType")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"Message")inmake?quotaCode?serviceCode?resourceType?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letquotaCode=field_mapjson__"QuotaCode"String_.of_jsoninletserviceCode=field_mapjson__"ServiceCode"String_.of_jsoninletresourceType=field_mapjson__"ResourceType"String_.of_jsoninletmessage=field_mapjson__"Message"String_.of_jsoninmake?quotaCode?serviceCode?resourceType?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request would cause a service quota to be exceeded."]moduleClientToken=structtypenonrect=stringletcontext_="ClientToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(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:"ClientToken"jletto_json=simple_to_jsonto_valueendmoduleVpcEndpointId=structtypenonrect=stringletcontext_="VpcEndpointId"letmakei=letopenResultinok_or_failwith((check_string_mini~min:13)>>=(fun()->(check_string_maxi~max:22)>>=(fun()->check_patterni~pattern:"vpce-[0-9a-f]{8}([0-9a-f]{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:"VpcEndpointId"jletto_json=simple_to_jsonto_valueendmoduleBadRequestException=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 is malformed or contains an error such as an invalid parameter value or a missing required parameter."]moduleChallenge=structtypenonrect={arn:ChallengeArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the challenge."];connectorArn:ConnectorArn.toption[@ocaml.doc"The Amazon Resource Name (ARN) of the connector."];createdAt:Timestamp.toption[@ocaml.doc"The date and time that the challenge was created."];updatedAt:Timestamp.toption[@ocaml.doc"The date and time that the challenge was updated."];password:SensitiveString.toption[@ocaml.doc"The SCEP challenge password, in UUID format."]}letmake?arn=fun?connectorArn->fun?createdAt->fun?updatedAt->fun?password->fun()->{arn;connectorArn;createdAt;updatedAt;password}letto_valuex=structure_to_value[("Arn",(Option.mapx.arn~f:ChallengeArn.to_value));("ConnectorArn",(Option.mapx.connectorArn~f:ConnectorArn.to_value));("CreatedAt",(Option.mapx.createdAt~f:Timestamp.to_value));("UpdatedAt",(Option.mapx.updatedAt~f:Timestamp.to_value));("Password",(Option.mapx.password~f:SensitiveString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpassword=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"Password")inletupdatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"UpdatedAt")inletcreatedAt=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"CreatedAt")inletconnectorArn=(Option.map~f:ConnectorArn.of_xml)(Xml.childxml_arg0"ConnectorArn")inletarn=(Option.map~f:ChallengeArn.of_xml)(Xml.childxml_arg0"Arn")inmake?password?updatedAt?createdAt?connectorArn?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpassword=field_mapjson__"Password"SensitiveString.of_jsoninletupdatedAt=field_mapjson__"UpdatedAt"Timestamp.of_jsoninletcreatedAt=field_mapjson__"CreatedAt"Timestamp.of_jsoninletconnectorArn=field_mapjson__"ConnectorArn"ConnectorArn.of_jsoninletarn=field_mapjson__"Arn"ChallengeArn.of_jsoninmake?password?updatedAt?createdAt?connectorArn?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"For Connector for SCEP for general-purpose. An object containing information about the specified connector's SCEP challenge passwords."]moduleUntagResourceRequest=structtypenonrect={resourceArn:String_.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];tagKeys:TagKeyList.t[@ocaml.doc"Specifies a list of tag keys that you want to remove from the specified resources."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("ResourceArn",(Some(String_.to_valuex.resourceArn)));("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")inletresourceArn=String_.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~tagKeys~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettagKeys=field_map_exnjson__"TagKeys"TagKeyList.of_jsoninletresourceArn=field_map_exnjson__"ResourceArn"String_.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes one or more tags from your resource."]moduleTagResourceRequest=structtypenonrect={resourceArn:String_.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."];tags:Tags.t[@ocaml.doc"The key-value pairs to associate with the resource."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("ResourceArn",(Some(String_.to_valuex.resourceArn)));("Tags",(Some(Tags.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=Tags.of_xml(Xml.child_exn~context:context_xml_arg0"Tags")inletresourceArn=String_.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~tags~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_map_exnjson__"Tags"Tags.of_jsoninletresourceArn=field_map_exnjson__"ResourceArn"String_.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Adds one or more tags to your resource."]moduleListTagsForResourceResponse=structtypenonrect={tags:Tags.toption[@ocaml.doc"The key-value pairs to associate with the resource."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"Tags")inmake?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"Tags.of_jsoninmake?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the tags associated with the specified resource. Tags are key-value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:String_.t[@ocaml.doc"The Amazon Resource Name (ARN) of the resource."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("ResourceArn",(Some(String_.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=String_.of_xml(Xml.child_exn~context:context_xml_arg0"ResourceArn")inmake~resourceArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letresourceArn=field_map_exnjson__"ResourceArn"String_.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the tags associated with the specified resource. Tags are key-value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each Amazon Web Services resource, up to 50 tags for a resource."]moduleListConnectorsResponse=structtypenonrect={connectors:ConnectorList.toption[@ocaml.doc"The connectors belonging to your Amazon Web Services account."];nextToken:NextToken.toption[@ocaml.doc"When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Connector for SCEP returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?connectors=fun?nextToken->fun()->{connectors;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Connectors",(Option.mapx.connectors~f:ConnectorList.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")inletconnectors=(Option.map~f:ConnectorList.of_xml)(Xml.childxml_arg0"Connectors")inmake?nextToken?connectors()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletconnectors=field_mapjson__"Connectors"ConnectorList.of_jsoninmake?nextToken?connectors()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the connectors belonging to your Amazon Web Services account."]moduleListConnectorsRequest=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum number of objects that you want Connector for SCEP to return for this request. If more objects are available, in the response, Connector for SCEP provides a NextToken value that you can use in a subsequent call to get the next batch of objects."];nextToken:NextToken.toption[@ocaml.doc"When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Connector for SCEP returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request."]}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: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")inmake?nextToken?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninmake?nextToken?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists the connectors belonging to your Amazon Web Services account."]moduleListChallengeMetadataResponse=structtypenonrect={challenges:ChallengeMetadataList.toption[@ocaml.doc"The challenge metadata for the challenges belonging to your Amazon Web Services account."];nextToken:NextToken.toption[@ocaml.doc"When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Connector for SCEP returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?challenges=fun?nextToken->fun()->{challenges;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Challenges",(Option.mapx.challenges~f:ChallengeMetadataList.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")inletchallenges=(Option.map~f:ChallengeMetadataList.of_xml)(Xml.childxml_arg0"Challenges")inmake?nextToken?challenges()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletchallenges=field_mapjson__"Challenges"ChallengeMetadataList.of_jsoninmake?nextToken?challenges()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the challenge metadata for the specified ARN."]moduleListChallengeMetadataRequest=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"The maximum number of objects that you want Connector for SCEP to return for this request. If more objects are available, in the response, Connector for SCEP provides a NextToken value that you can use in a subsequent call to get the next batch of objects."];nextToken:NextToken.toption[@ocaml.doc"When you request a list of objects with a MaxResults setting, if the number of objects that are still available for retrieval exceeds the maximum you requested, Connector for SCEP returns a NextToken value in the response. To retrieve the next batch of objects, use the token returned from the prior request in your next request."];connectorArn:ConnectorArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the connector."]}letcontext_="ListChallengeMetadataRequest"letmake?maxResults=fun?nextToken->fun~connectorArn->fun()->{maxResults;nextToken;connectorArn}letto_valuex=structure_to_value[("MaxResults",(Option.mapx.maxResults~f:MaxResults.to_value));("NextToken",(Option.mapx.nextToken~f:NextToken.to_value));("ConnectorArn",(Some(ConnectorArn.to_valuex.connectorArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconnectorArn=ConnectorArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectorArn")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"NextToken")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"MaxResults")inmake~connectorArn?nextToken?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconnectorArn=field_map_exnjson__"ConnectorArn"ConnectorArn.of_jsoninletnextToken=field_mapjson__"NextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"MaxResults"MaxResults.of_jsoninmake~connectorArn?nextToken?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the challenge metadata for the specified ARN."]moduleGetConnectorResponse=structtypenonrect={connector:Connector.toption[@ocaml.doc"The properties of the connector."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?connector=fun()->{connector}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Connector",(Option.mapx.connector~f:Connector.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconnector=(Option.map~f:Connector.of_xml)(Xml.childxml_arg0"Connector")inmake?connector()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconnector=field_mapjson__"Connector"Connector.of_jsoninmake?connector()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves details about the specified Connector. Calling this action returns important details about the connector, such as the public SCEP URL where your clients can request certificates."]moduleGetConnectorRequest=structtypenonrect={connectorArn:ConnectorArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the connector."]}letcontext_="GetConnectorRequest"letmake~connectorArn=fun()->{connectorArn}letto_valuex=structure_to_value[("ConnectorArn",(Some(ConnectorArn.to_valuex.connectorArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconnectorArn=ConnectorArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectorArn")inmake~connectorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconnectorArn=field_map_exnjson__"ConnectorArn"ConnectorArn.of_jsoninmake~connectorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves details about the specified Connector. Calling this action returns important details about the connector, such as the public SCEP URL where your clients can request certificates."]moduleGetChallengePasswordResponse=structtypenonrect={password:SensitiveString.toption[@ocaml.doc"The SCEP challenge password."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?password=fun()->{password}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Password",(Option.mapx.password~f:SensitiveString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpassword=(Option.map~f:SensitiveString.of_xml)(Xml.childxml_arg0"Password")inmake?password()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpassword=field_mapjson__"Password"SensitiveString.of_jsoninmake?password()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the challenge password for the specified Challenge."]moduleGetChallengePasswordRequest=structtypenonrect={challengeArn:ChallengeArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the challenge."]}letcontext_="GetChallengePasswordRequest"letmake~challengeArn=fun()->{challengeArn}letto_valuex=structure_to_value[("ChallengeArn",(Some(ChallengeArn.to_valuex.challengeArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchallengeArn=ChallengeArn.of_xml(Xml.child_exn~context:context_xml_arg0"ChallengeArn")inmake~challengeArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchallengeArn=field_map_exnjson__"ChallengeArn"ChallengeArn.of_jsoninmake~challengeArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the challenge password for the specified Challenge."]moduleGetChallengeMetadataResponse=structtypenonrect={challengeMetadata:ChallengeMetadata.toption[@ocaml.doc"The metadata for the challenge."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?challengeMetadata=fun()->{challengeMetadata}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ChallengeMetadata",(Option.mapx.challengeMetadata~f:ChallengeMetadata.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchallengeMetadata=(Option.map~f:ChallengeMetadata.of_xml)(Xml.childxml_arg0"ChallengeMetadata")inmake?challengeMetadata()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchallengeMetadata=field_mapjson__"ChallengeMetadata"ChallengeMetadata.of_jsoninmake?challengeMetadata()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the metadata for the specified Challenge."]moduleGetChallengeMetadataRequest=structtypenonrect={challengeArn:ChallengeArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the challenge."]}letcontext_="GetChallengeMetadataRequest"letmake~challengeArn=fun()->{challengeArn}letto_valuex=structure_to_value[("ChallengeArn",(Some(ChallengeArn.to_valuex.challengeArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchallengeArn=ChallengeArn.of_xml(Xml.child_exn~context:context_xml_arg0"ChallengeArn")inmake~challengeArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchallengeArn=field_map_exnjson__"ChallengeArn"ChallengeArn.of_jsoninmake~challengeArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the metadata for the specified Challenge."]moduleDeleteConnectorRequest=structtypenonrect={connectorArn:ConnectorArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the connector to delete."]}letcontext_="DeleteConnectorRequest"letmake~connectorArn=fun()->{connectorArn}letto_valuex=structure_to_value[("ConnectorArn",(Some(ConnectorArn.to_valuex.connectorArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconnectorArn=ConnectorArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectorArn")inmake~connectorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconnectorArn=field_map_exnjson__"ConnectorArn"ConnectorArn.of_jsoninmake~connectorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified Connector. This operation also deletes any challenges associated with the connector."]moduleDeleteChallengeRequest=structtypenonrect={challengeArn:ChallengeArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the challenge password to delete."]}letcontext_="DeleteChallengeRequest"letmake~challengeArn=fun()->{challengeArn}letto_valuex=structure_to_value[("ChallengeArn",(Some(ChallengeArn.to_valuex.challengeArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchallengeArn=ChallengeArn.of_xml(Xml.child_exn~context:context_xml_arg0"ChallengeArn")inmake~challengeArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchallengeArn=field_map_exnjson__"ChallengeArn"ChallengeArn.of_jsoninmake~challengeArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified Challenge."]moduleCreateConnectorResponse=structtypenonrect={connectorArn:ConnectorArn.toption[@ocaml.doc"Returns the Amazon Resource Name (ARN) of the connector."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?connectorArn=fun()->{connectorArn}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("ConnectorArn",(Option.mapx.connectorArn~f:ConnectorArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letconnectorArn=(Option.map~f:ConnectorArn.of_xml)(Xml.childxml_arg0"ConnectorArn")inmake?connectorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letconnectorArn=field_mapjson__"ConnectorArn"ConnectorArn.of_jsoninmake?connectorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a SCEP connector. A SCEP connector links Amazon Web Services Private Certificate Authority to your SCEP-compatible devices and mobile device management (MDM) systems. Before you create a connector, you must complete a set of prerequisites, including creation of a private certificate authority (CA) to use with this connector. For more information, see Connector for SCEP prerequisites."]moduleCreateConnectorRequest=structtypenonrect={certificateAuthorityArn:CertificateAuthorityArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the Amazon Web Services Private Certificate Authority certificate authority to use with this connector. Due to security vulnerabilities present in the SCEP protocol, we recommend using a private CA that's dedicated for use with the connector. To retrieve the private CAs associated with your account, you can call ListCertificateAuthorities using the Amazon Web Services Private CA API."];mobileDeviceManagement:MobileDeviceManagement.toption[@ocaml.doc"If you don't supply a value, by default Connector for SCEP creates a connector for general-purpose use. A general-purpose connector is designed to work with clients or endpoints that support the SCEP protocol, except Connector for SCEP for Microsoft Intune. With connectors for general-purpose use, you manage SCEP challenge passwords using Connector for SCEP. For information about considerations and limitations with using Connector for SCEP, see Considerations and Limitations. If you provide an IntuneConfiguration, Connector for SCEP creates a connector for use with Microsoft Intune, and you manage the challenge passwords using Microsoft Intune. For more information, see Using Connector for SCEP for Microsoft Intune."];vpcEndpointId:VpcEndpointId.toption[@ocaml.doc"If you don't supply a value, by default Connector for SCEP creates a connector accessible over the public internet. If you provide a VPC endpoint ID, creates a connector accessible only through that specific VPC endpoint."];clientToken:ClientToken.toption[@ocaml.doc"Custom string that can be used to distinguish between calls to the CreateChallenge action. Client tokens for CreateChallenge time out after five minutes. Therefore, if you call CreateChallenge multiple times with the same client token within five minutes, Connector for SCEP recognizes that you are requesting only one challenge and will only respond with one. If you change the client token for each call, Connector for SCEP recognizes that you are requesting multiple challenge passwords."];tags:Tags.toption[@ocaml.doc"The key-value pairs to associate with the resource."]}letcontext_="CreateConnectorRequest"letmake?mobileDeviceManagement=fun?vpcEndpointId->fun?clientToken->fun?tags->fun~certificateAuthorityArn->fun()->{mobileDeviceManagement;vpcEndpointId;clientToken;tags;certificateAuthorityArn}letto_valuex=structure_to_value[("CertificateAuthorityArn",(Some(CertificateAuthorityArn.to_valuex.certificateAuthorityArn)));("MobileDeviceManagement",(Option.mapx.mobileDeviceManagement~f:MobileDeviceManagement.to_value));("VpcEndpointId",(Option.mapx.vpcEndpointId~f:VpcEndpointId.to_value));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("Tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"Tags")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inletvpcEndpointId=(Option.map~f:VpcEndpointId.of_xml)(Xml.childxml_arg0"VpcEndpointId")inletmobileDeviceManagement=(Option.map~f:MobileDeviceManagement.of_xml)(Xml.childxml_arg0"MobileDeviceManagement")inletcertificateAuthorityArn=CertificateAuthorityArn.of_xml(Xml.child_exn~context:context_xml_arg0"CertificateAuthorityArn")inmake?tags?clientToken?vpcEndpointId?mobileDeviceManagement~certificateAuthorityArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"Tags.of_jsoninletclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninletvpcEndpointId=field_mapjson__"VpcEndpointId"VpcEndpointId.of_jsoninletmobileDeviceManagement=field_mapjson__"MobileDeviceManagement"MobileDeviceManagement.of_jsoninletcertificateAuthorityArn=field_map_exnjson__"CertificateAuthorityArn"CertificateAuthorityArn.of_jsoninmake?tags?clientToken?vpcEndpointId?mobileDeviceManagement~certificateAuthorityArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a SCEP connector. A SCEP connector links Amazon Web Services Private Certificate Authority to your SCEP-compatible devices and mobile device management (MDM) systems. Before you create a connector, you must complete a set of prerequisites, including creation of a private certificate authority (CA) to use with this connector. For more information, see Connector for SCEP prerequisites."]moduleCreateChallengeResponse=structtypenonrect={challenge:Challenge.toption[@ocaml.doc"Returns the challenge details for the specified connector."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`BadRequestExceptionofBadRequestException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?challenge=fun()->{challenge}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"BadRequestException"->`BadRequestException(BadRequestException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|"ValidationException"->`ValidationException(ValidationException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"BadRequestException"->`BadRequestException(BadRequestException.of_xmlxml)|"ConflictException"->`ConflictException(ConflictException.of_xmlxml)|"InternalServerException"->`InternalServerException(InternalServerException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|"ValidationException"->`ValidationException(ValidationException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessDeniedExceptione->`Assoc[("error",(`String"AccessDeniedException"));("details",(AccessDeniedException.to_jsone))]|`BadRequestExceptione->`Assoc[("error",(`String"BadRequestException"));("details",(BadRequestException.to_jsone))]|`ConflictExceptione->`Assoc[("error",(`String"ConflictException"));("details",(ConflictException.to_jsone))]|`InternalServerExceptione->`Assoc[("error",(`String"InternalServerException"));("details",(InternalServerException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`ValidationExceptione->`Assoc[("error",(`String"ValidationException"));("details",(ValidationException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Challenge",(Option.mapx.challenge~f:Challenge.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letchallenge=(Option.map~f:Challenge.of_xml)(Xml.childxml_arg0"Challenge")inmake?challenge()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letchallenge=field_mapjson__"Challenge"Challenge.of_jsoninmake?challenge()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"For general-purpose connectors. Creates a challenge password for the specified connector. The SCEP protocol uses a challenge password to authenticate a request before issuing a certificate from a certificate authority (CA). Your SCEP clients include the challenge password as part of their certificate request to Connector for SCEP. To retrieve the connector Amazon Resource Names (ARNs) for the connectors in your account, call ListConnectors. To create additional challenge passwords for the connector, call CreateChallenge again. We recommend frequently rotating your challenge passwords."]moduleCreateChallengeRequest=structtypenonrect={connectorArn:ConnectorArn.t[@ocaml.doc"The Amazon Resource Name (ARN) of the connector that you want to create a challenge for."];clientToken:ClientToken.toption[@ocaml.doc"Custom string that can be used to distinguish between calls to the CreateChallenge action. Client tokens for CreateChallenge time out after five minutes. Therefore, if you call CreateChallenge multiple times with the same client token within five minutes, Connector for SCEP recognizes that you are requesting only one challenge and will only respond with one. If you change the client token for each call, Connector for SCEP recognizes that you are requesting multiple challenge passwords."];tags:Tags.toption[@ocaml.doc"The key-value pairs to associate with the resource."]}letcontext_="CreateChallengeRequest"letmake?clientToken=fun?tags->fun~connectorArn->fun()->{clientToken;tags;connectorArn}letto_valuex=structure_to_value[("ConnectorArn",(Some(ConnectorArn.to_valuex.connectorArn)));("ClientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("Tags",(Option.mapx.tags~f:Tags.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:Tags.of_xml)(Xml.childxml_arg0"Tags")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"ClientToken")inletconnectorArn=ConnectorArn.of_xml(Xml.child_exn~context:context_xml_arg0"ConnectorArn")inmake?tags?clientToken~connectorArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"Tags"Tags.of_jsoninletclientToken=field_mapjson__"ClientToken"ClientToken.of_jsoninletconnectorArn=field_map_exnjson__"ConnectorArn"ConnectorArn.of_jsoninmake?tags?clientToken~connectorArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"For general-purpose connectors. Creates a challenge password for the specified connector. The SCEP protocol uses a challenge password to authenticate a request before issuing a certificate from a certificate authority (CA). Your SCEP clients include the challenge password as part of their certificate request to Connector for SCEP. To retrieve the connector Amazon Resource Names (ARNs) for the connectors in your account, call ListConnectors. To create additional challenge passwords for the connector, call CreateChallenge again. We recommend frequently rotating your challenge passwords."]