1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853(* 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.dsqlletapiVersion="2018-05-10"letendpointPrefix="dsql"letserviceFullName="Amazon Aurora DSQL"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[]))])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_valueendmoduleValidationExceptionField=structtypenonrect={name:String_.toption[@ocaml.doc"The name of the field."];message:String_.toption[@ocaml.doc"A message describing why this field failed validation."]}letmake?name=fun?message->fun()->{name;message}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:String_.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")inletname=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"name")inmake?message?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninletname=field_mapjson__"name"String_.of_jsoninmake?message?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Stores information about a field passed inside a request that resulted in an validation error."]moduleClusterArn=structtypenonrect=string[@@ocaml.doc"The Amazon Resource Name of the cluster."]letcontext_="ClusterArn"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"arn:aws(-[^:]+)?:dsql:[a-z0-9-]{1,20}:[0-9]{12}:cluster/[a-z0-9]{26}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ClusterArn"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The Amazon Resource Name of the cluster."]moduleClusterId=structtypenonrect=string[@@ocaml.doc"The ID of the cluster."]letcontext_="ClusterId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-z0-9]{26}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ClusterId"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The ID of the cluster."]moduleStreamArn=structtypenonrect=string[@@ocaml.doc"The Amazon Resource Name (ARN) of the stream."]letcontext_="StreamArn"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"arn:aws(-[^:]+)?:dsql:[a-z0-9-]{1,20}:[0-9]{12}:cluster/[a-z0-9]{26}/stream/[a-z0-9]{26}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StreamArn"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The Amazon Resource Name (ARN) of the stream."]moduleStreamCreationTime=structtypenonrect=string[@@ocaml.doc"The timestamp when the stream was created."]letmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The timestamp when the stream was created."]moduleStreamId=structtypenonrect=string[@@ocaml.doc"The ID of the stream."]letcontext_="StreamId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-z0-9]{26}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"StreamId"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The ID of the stream."]moduleStreamStatus=structtypenonrect=|CREATING|ACTIVE|DELETING|DELETED|FAILED|IMPAIRED|Non_static_idofstringletmakei=iletto_string=function|CREATING->"CREATING"|ACTIVE->"ACTIVE"|DELETING->"DELETING"|DELETED->"DELETED"|FAILED->"FAILED"|IMPAIRED->"IMPAIRED"|Non_static_ids->sletof_string=function|"CREATING"->CREATING|"ACTIVE"->ACTIVE|"DELETING"->DELETING|"DELETED"->DELETED|"FAILED"->FAILED|"IMPAIRED"->IMPAIRED|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 StreamStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"StreamStatus"j)letto_json=simple_to_jsonto_valueendmoduleKinesisStreamArn=structtypenonrect=string[@@ocaml.doc"The Amazon Resource Name (ARN) of an Amazon Kinesis Data Stream."]letcontext_="KinesisStreamArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:aws.*:kinesis:.*:\\d{12}:stream/\\S+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"KinesisStreamArn"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The Amazon Resource Name (ARN) of an Amazon Kinesis Data Stream."]moduleRoleArn=structtypenonrect=string[@@ocaml.doc"The Amazon Resource Name (ARN) of an IAM role."]letcontext_="RoleArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:20)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"arn:aws(-[^:]+)?:iam::[0-9]{12}:role(/[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:"RoleArn"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The Amazon Resource Name (ARN) of an IAM role."]moduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleValidationExceptionFieldList=structtypenonrect=ValidationExceptionField.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ValidationExceptionField.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:ValidationExceptionField.of_xml)letof_jsonj=list_of_json~kind:"ValidationExceptionFieldList"~of_json:ValidationExceptionField.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleValidationExceptionReason=structtypenonrect=|UnknownOperation|CannotParse|FieldValidationFailed|DeletionProtectionEnabled|Other|Non_static_idofstringletmakei=iletto_string=function|UnknownOperation->"unknownOperation"|CannotParse->"cannotParse"|FieldValidationFailed->"fieldValidationFailed"|DeletionProtectionEnabled->"deletionProtectionEnabled"|Other->"other"|Non_static_ids->sletof_string=function|"unknownOperation"->UnknownOperation|"cannotParse"->CannotParse|"fieldValidationFailed"->FieldValidationFailed|"deletionProtectionEnabled"->DeletionProtectionEnabled|"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_valueendmoduleClusterArnList=structtypenonrect=ClusterArn.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ClusterArn.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:ClusterArn.of_xml)letof_jsonj=list_of_json~kind:"ClusterArnList"~of_json:ClusterArn.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRegion=structtypenonrect=string[@@ocaml.doc"Region name."]letcontext_="Region"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:50)>>=(fun()->check_string_mini~min:0));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Region"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Region name."]moduleTagKey=structtypenonrect=string[@@ocaml.doc"Unique tag key, maximum 128 Unicode characters in UTF-8."]letcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(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:"TagKey"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Unique tag key, maximum 128 Unicode characters in UTF-8."]moduleTagValue=structtypenonrect=string[@@ocaml.doc"Tag value, maximum 256 Unicode characters in UTF-8."]letcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(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:"TagValue"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Tag value, maximum 256 Unicode characters in UTF-8."]moduleStreamSummary=structtypenonrect={clusterIdentifier:ClusterId.toption[@ocaml.doc"The ID of the cluster."];streamIdentifier:StreamId.toption[@ocaml.doc"The ID of the stream."];arn:StreamArn.toption[@ocaml.doc"The ARN of the stream."];creationTime:StreamCreationTime.toption[@ocaml.doc"The timestamp when the stream was created."];status:StreamStatus.toption[@ocaml.doc"The current status of the stream."]}letmake?clusterIdentifier=fun?streamIdentifier->fun?arn->fun?creationTime->fun?status->fun()->{clusterIdentifier;streamIdentifier;arn;creationTime;status}letto_valuex=structure_to_value[("clusterIdentifier",(Option.mapx.clusterIdentifier~f:ClusterId.to_value));("streamIdentifier",(Option.mapx.streamIdentifier~f:StreamId.to_value));("arn",(Option.mapx.arn~f:StreamArn.to_value));("creationTime",(Option.mapx.creationTime~f:StreamCreationTime.to_value));("status",(Option.mapx.status~f:StreamStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:StreamStatus.of_xml)(Xml.childxml_arg0"status")inletcreationTime=(Option.map~f:StreamCreationTime.of_xml)(Xml.childxml_arg0"creationTime")inletarn=(Option.map~f:StreamArn.of_xml)(Xml.childxml_arg0"arn")inletstreamIdentifier=(Option.map~f:StreamId.of_xml)(Xml.childxml_arg0"streamIdentifier")inletclusterIdentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"clusterIdentifier")inmake?status?creationTime?arn?streamIdentifier?clusterIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"StreamStatus.of_jsoninletcreationTime=field_mapjson__"creationTime"StreamCreationTime.of_jsoninletarn=field_mapjson__"arn"StreamArn.of_jsoninletstreamIdentifier=field_mapjson__"streamIdentifier"StreamId.of_jsoninletclusterIdentifier=field_mapjson__"clusterIdentifier"ClusterId.of_jsoninmake?status?creationTime?arn?streamIdentifier?clusterIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Summary information about a stream."]moduleClusterSummary=structtypenonrect={identifier:ClusterId.toption[@ocaml.doc"The ID of the cluster."];arn:ClusterArn.toption[@ocaml.doc"The ARN of the cluster."]}letmake?identifier=fun?arn->fun()->{identifier;arn}letto_valuex=structure_to_value[("identifier",(Option.mapx.identifier~f:ClusterId.to_value));("arn",(Option.mapx.arn~f:ClusterArn.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letarn=(Option.map~f:ClusterArn.of_xml)(Xml.childxml_arg0"arn")inletidentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"identifier")inmake?arn?identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letarn=field_mapjson__"arn"ClusterArn.of_jsoninletidentifier=field_mapjson__"identifier"ClusterId.of_jsoninmake?arn?identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A summary of the properties of a cluster."]moduleStreamFailureErrorCode=structtypenonrect=|KINESIS_THROUGHPUT_EXCEEDED|KINESIS_STREAM_NOT_FOUND|ROLE_ACCESS_DENIED|KINESIS_ACCESS_DENIED|KINESIS_KMS_ACCESS_DENIED|KINESIS_OVERSIZE_RECORD|CLUSTER_CMK_INACCESSIBLE|INTERNAL_ERROR|Non_static_idofstringletmakei=iletto_string=function|KINESIS_THROUGHPUT_EXCEEDED->"KINESIS_THROUGHPUT_EXCEEDED"|KINESIS_STREAM_NOT_FOUND->"KINESIS_STREAM_NOT_FOUND"|ROLE_ACCESS_DENIED->"ROLE_ACCESS_DENIED"|KINESIS_ACCESS_DENIED->"KINESIS_ACCESS_DENIED"|KINESIS_KMS_ACCESS_DENIED->"KINESIS_KMS_ACCESS_DENIED"|KINESIS_OVERSIZE_RECORD->"KINESIS_OVERSIZE_RECORD"|CLUSTER_CMK_INACCESSIBLE->"CLUSTER_CMK_INACCESSIBLE"|INTERNAL_ERROR->"INTERNAL_ERROR"|Non_static_ids->sletof_string=function|"KINESIS_THROUGHPUT_EXCEEDED"->KINESIS_THROUGHPUT_EXCEEDED|"KINESIS_STREAM_NOT_FOUND"->KINESIS_STREAM_NOT_FOUND|"ROLE_ACCESS_DENIED"->ROLE_ACCESS_DENIED|"KINESIS_ACCESS_DENIED"->KINESIS_ACCESS_DENIED|"KINESIS_KMS_ACCESS_DENIED"->KINESIS_KMS_ACCESS_DENIED|"KINESIS_OVERSIZE_RECORD"->KINESIS_OVERSIZE_RECORD|"CLUSTER_CMK_INACCESSIBLE"->CLUSTER_CMK_INACCESSIBLE|"INTERNAL_ERROR"->INTERNAL_ERROR|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 StreamFailureErrorCode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"StreamFailureErrorCode"j)letto_json=simple_to_jsonto_valueendmoduleTimestamp=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_valueendmoduleKinesisTargetDefinition=structtypenonrect={streamArn:KinesisStreamArn.t[@ocaml.doc"The ARN of the Kinesis stream."];roleArn:RoleArn.t[@ocaml.doc"The ARN of the IAM role that grants permission to write to the Kinesis stream. This can be a standard role (arn:aws:iam::account-id:role/role-name) or a role with a path prefix (arn:aws:iam::account-id:role/service-role/role-name), such as roles auto-created by the console."]}letcontext_="KinesisTargetDefinition"letmake~streamArn=fun~roleArn->fun()->{streamArn;roleArn}letto_valuex=structure_to_value[("streamArn",(Some(KinesisStreamArn.to_valuex.streamArn)));("roleArn",(Some(RoleArn.to_valuex.roleArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letroleArn=RoleArn.of_xml(Xml.child_exn~context:context_xml_arg0"roleArn")inletstreamArn=KinesisStreamArn.of_xml(Xml.child_exn~context:context_xml_arg0"streamArn")inmake~roleArn~streamArn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letroleArn=field_map_exnjson__"roleArn"RoleArn.of_jsoninletstreamArn=field_map_exnjson__"streamArn"KinesisStreamArn.of_jsoninmake~roleArn~streamArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Kinesis stream target configuration."]moduleEncryptionStatus=structtypenonrect=|ENABLED|UPDATING|KMS_KEY_INACCESSIBLE|ENABLING|Non_static_idofstringletmakei=iletto_string=function|ENABLED->"ENABLED"|UPDATING->"UPDATING"|KMS_KEY_INACCESSIBLE->"KMS_KEY_INACCESSIBLE"|ENABLING->"ENABLING"|Non_static_ids->sletof_string=function|"ENABLED"->ENABLED|"UPDATING"->UPDATING|"KMS_KEY_INACCESSIBLE"->KMS_KEY_INACCESSIBLE|"ENABLING"->ENABLING|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 EncryptionStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EncryptionStatus"j)letto_json=simple_to_jsonto_valueendmoduleEncryptionType=structtypenonrect=|AWS_OWNED_KMS_KEY|CUSTOMER_MANAGED_KMS_KEY|Non_static_idofstringletmakei=iletto_string=function|AWS_OWNED_KMS_KEY->"AWS_OWNED_KMS_KEY"|CUSTOMER_MANAGED_KMS_KEY->"CUSTOMER_MANAGED_KMS_KEY"|Non_static_ids->sletof_string=function|"AWS_OWNED_KMS_KEY"->AWS_OWNED_KMS_KEY|"CUSTOMER_MANAGED_KMS_KEY"->CUSTOMER_MANAGED_KMS_KEY|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 EncryptionType"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"EncryptionType"j)letto_json=simple_to_jsonto_valueendmoduleKmsKeyArn=structtypenonrect=stringletcontext_="KmsKeyArn"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:"KmsKeyArn"jletto_json=simple_to_jsonto_valueendmoduleAccessDeniedException=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 do not have sufficient access to perform this action."]moduleClusterCreationTime=structtypenonrect=string[@@ocaml.doc"The timestamp when the cluster was created."]letmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The timestamp when the cluster was created."]moduleClusterStatus=structtypenonrect=|CREATING|ACTIVE|IDLE|INACTIVE|UPDATING|DELETING|DELETED|FAILED|PENDING_SETUP|PENDING_DELETE|Non_static_idofstringletmakei=iletto_string=function|CREATING->"CREATING"|ACTIVE->"ACTIVE"|IDLE->"IDLE"|INACTIVE->"INACTIVE"|UPDATING->"UPDATING"|DELETING->"DELETING"|DELETED->"DELETED"|FAILED->"FAILED"|PENDING_SETUP->"PENDING_SETUP"|PENDING_DELETE->"PENDING_DELETE"|Non_static_ids->sletof_string=function|"CREATING"->CREATING|"ACTIVE"->ACTIVE|"IDLE"->IDLE|"INACTIVE"->INACTIVE|"UPDATING"->UPDATING|"DELETING"->DELETING|"DELETED"->DELETED|"FAILED"->FAILED|"PENDING_SETUP"->PENDING_SETUP|"PENDING_DELETE"->PENDING_DELETE|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 ClusterStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ClusterStatus"j)letto_json=simple_to_jsonto_valueendmoduleConflictException=structtypenonrect={message:String_.toption;resourceId:String_.toption[@ocaml.doc"Resource Id"];resourceType:String_.toption[@ocaml.doc"Resource Type"]}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 submitted action has conflicts."]moduleInternalServerException=structtypenonrect={message:String_.toption;retryAfterSeconds:Integer.toption[@ocaml.doc"Retry after seconds."]}letmake?message=fun?retryAfterSeconds->fun()->{message;retryAfterSeconds}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("Retry-After",(Option.mapx.retryAfterSeconds~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letretryAfterSeconds=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"Retry-After")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?retryAfterSeconds?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letretryAfterSeconds=field_mapjson__"retryAfterSeconds"Integer.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?retryAfterSeconds?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request processing has failed because of an unknown error, exception or failure."]moduleResourceNotFoundException=structtypenonrect={message:String_.toption;resourceId:String_.toption[@ocaml.doc"The resource ID could not be found."];resourceType:String_.toption[@ocaml.doc"The resource type could not be found."]}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 resource could not be found."]moduleThrottlingException=structtypenonrect={message:String_.toption[@ocaml.doc"The message that the request was denied due to request throttling."];serviceCode:String_.toption[@ocaml.doc"The request exceeds a service quota."];quotaCode:String_.toption[@ocaml.doc"The request exceeds a request rate quota."];retryAfterSeconds:Integer.toption[@ocaml.doc"The request exceeds a request rate quota. Retry after seconds."]}letmake?message=fun?serviceCode->fun?quotaCode->fun?retryAfterSeconds->fun()->{message;serviceCode;quotaCode;retryAfterSeconds}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("serviceCode",(Option.mapx.serviceCode~f:String_.to_value));("quotaCode",(Option.mapx.quotaCode~f:String_.to_value));("Retry-After",(Option.mapx.retryAfterSeconds~f:Integer.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letretryAfterSeconds=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"Retry-After")inletquotaCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"quotaCode")inletserviceCode=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"serviceCode")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?retryAfterSeconds?quotaCode?serviceCode?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letretryAfterSeconds=field_mapjson__"retryAfterSeconds"Integer.of_jsoninletquotaCode=field_mapjson__"quotaCode"String_.of_jsoninletserviceCode=field_mapjson__"serviceCode"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?retryAfterSeconds?quotaCode?serviceCode?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was denied due to request throttling."]moduleValidationException=structtypenonrect={message:String_.toption;reason:ValidationExceptionReason.toption[@ocaml.doc"The reason for the validation exception."];fieldList:ValidationExceptionFieldList.toption[@ocaml.doc"A list of fields that didn't validate."]}letmake?message=fun?reason->fun?fieldList->fun()->{message;reason;fieldList}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value));("reason",(Option.mapx.reason~f:ValidationExceptionReason.to_value));("fieldList",(Option.mapx.fieldList~f:ValidationExceptionFieldList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfieldList=(Option.map~f:ValidationExceptionFieldList.of_xml)(Xml.childxml_arg0"fieldList")inletreason=(Option.map~f:ValidationExceptionReason.of_xml)(Xml.childxml_arg0"reason")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?fieldList?reason?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfieldList=field_mapjson__"fieldList"ValidationExceptionFieldList.of_jsoninletreason=field_mapjson__"reason"ValidationExceptionReason.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?fieldList?reason?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input failed to satisfy the constraints specified by an Amazon Web Services service."]moduleClientToken=structtypenonrect=string[@@ocaml.doc"Idempotency token so a request is only processed once."]letcontext_="ClientToken"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"[!-~]+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ClientToken"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Idempotency token so a request is only processed once."]moduleDeletionProtectionEnabled=structtypenonrect=bool[@@ocaml.doc"Indicates whether deletion protection is enabled for a cluster."]letmakei=iletof_string=Bool.of_stringletto_valuex=`Booleanxletto_queryv=to_queryto_valuevletto_headerx=Bool.to_stringxletof_xmlxml_arg0=Bool.of_string(string_of_xml~kind:"a boolean"xml_arg0)letof_json=bool_of_jsonletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Indicates whether deletion protection is enabled for a cluster."]moduleKmsEncryptionKey=structtypenonrect=stringletcontext_="KmsEncryptionKey"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(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:"KmsEncryptionKey"jletto_json=simple_to_jsonto_valueendmoduleMultiRegionProperties=structtypenonrect={witnessRegion:Region.toption[@ocaml.doc"The Region that serves as the witness region for a multi-Region cluster. The witness Region helps maintain cluster consistency and quorum."];clusters:ClusterArnList.toption[@ocaml.doc"The set of peered clusters that form the multi-Region cluster configuration. Each peered cluster represents a database instance in a different Region."]}letmake?witnessRegion=fun?clusters->fun()->{witnessRegion;clusters}letto_valuex=structure_to_value[("witnessRegion",(Option.mapx.witnessRegion~f:Region.to_value));("clusters",(Option.mapx.clusters~f:ClusterArnList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclusters=(Option.map~f:ClusterArnList.of_xml)(Xml.childxml_arg0"clusters")inletwitnessRegion=(Option.map~f:Region.of_xml)(Xml.childxml_arg0"witnessRegion")inmake?clusters?witnessRegion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclusters=field_mapjson__"clusters"ClusterArnList.of_jsoninletwitnessRegion=field_mapjson__"witnessRegion"Region.of_jsoninmake?clusters?witnessRegion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Defines the structure for multi-Region cluster configurations, containing the witness region and linked cluster settings."]moduleArn=structtypenonrect=string[@@ocaml.doc"Amazon Resource Name."]letcontext_="Arn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:1011)>>=(fun()->check_patterni~pattern:"arn:.+")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Arn"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Amazon Resource Name."]moduleTagKeyList=structtypenonrect=TagKey.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:0));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TagKey.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:TagKey.of_xml)letof_jsonj=list_of_json~kind:"TagKeyList"~of_json:TagKey.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagMap=structtypenonrect=(TagKey.t*TagValue.t)listletmakei=letopenResultinok_or_failwith((check_list_maxi~max:200)>>=(fun()->check_list_mini~min:0));iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->((TagKey.of_stringchopped),(TagValue.of_stringv))))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(TagKey.to_valuex)|>(funx->(TagValue.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:TagKey.of_string~of_json:TagValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePolicyVersion=structtypenonrect=stringletcontext_="PolicyVersion"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:"PolicyVersion"jletto_json=simple_to_jsonto_valueendmoduleBypassPolicyLockoutSafetyCheck=structtypenonrect=boolletmakei=iletof_string=Bool.of_stringletto_valuex=`Booleanxletto_queryv=to_queryto_valuevletto_headerx=Bool.to_stringxletof_xmlxml_arg0=Bool.of_string(string_of_xml~kind:"a boolean"xml_arg0)letof_json=bool_of_jsonletto_json=simple_to_jsonto_valueendmodulePolicyDocument=structtypenonrect=string[@@ocaml.doc"A resource-based policy document in JSON format. Length constraints: Minimum length of 1. Maximum length of 20480 characters (approximately 20KB)."]letcontext_="PolicyDocument"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:20480)>>=(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:"PolicyDocument"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"A resource-based policy document in JSON format. Length constraints: Minimum length of 1. Maximum length of 20480 characters (approximately 20KB)."]moduleNextToken=structtypenonrect=string[@@ocaml.doc"Token used to retrieve next page."]letcontext_="NextToken"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:"NextToken"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"Token used to retrieve next page."]moduleStreamList=structtypenonrect=StreamSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:StreamSummary.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:StreamSummary.of_xml)letof_jsonj=list_of_json~kind:"StreamList"~of_json:StreamSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleMaxResults=structtypenonrect=int[@@ocaml.doc"Max results that will be returned per page."]letmakei=letopenResultinok_or_failwith((check_int_maxi~max:100)>>=(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_valueend[@@ocaml.doc"Max results that will be returned per page."]moduleClusterList=structtypenonrect=ClusterSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ClusterSummary.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:ClusterSummary.of_xml)letof_jsonj=list_of_json~kind:"ClusterList"~of_json:ClusterSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleClusterVpcEndpoint=structtypenonrect=stringletcontext_="ClusterVpcEndpoint"letmakei=letopenResultinok_or_failwith(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:"ClusterVpcEndpoint"jletto_json=simple_to_jsonto_valueendmoduleServiceName=structtypenonrect=string[@@ocaml.doc"The name of the VPC endpoint service that provides access to your cluster. Use this endpoint to establish a private connection between your VPC and the cluster."]letcontext_="ServiceName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:128)>>=(fun()->check_patterni~pattern:"com\\.amazonaws\\.[a-z0-9-]+\\.dsql-[a-f0-9]{6}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ServiceName"jletto_json=simple_to_jsonto_valueend[@@ocaml.doc"The name of the VPC endpoint service that provides access to your cluster. Use this endpoint to establish a private connection between your VPC and the cluster."]moduleStatusReason=structtypenonrect={error:StreamFailureErrorCode.toption[@ocaml.doc"The error code for the stream failure."];updatedAt:Timestamp.toption[@ocaml.doc"The timestamp when the status was updated."]}letmake?error=fun?updatedAt->fun()->{error;updatedAt}letto_valuex=structure_to_value[("error",(Option.mapx.error~f:StreamFailureErrorCode.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")inleterror=(Option.map~f:StreamFailureErrorCode.of_xml)(Xml.childxml_arg0"error")inmake?updatedAt?error()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letupdatedAt=field_mapjson__"updatedAt"Timestamp.of_jsoninleterror=field_mapjson__"error"StreamFailureErrorCode.of_jsoninmake?updatedAt?error()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Stream status reason with error and timestamp."]moduleStreamFormat=structtypenonrect=|JSON|Non_static_idofstringletmakei=iletto_string=function|JSON->"JSON"|Non_static_ids->sletof_string=function|"JSON"->JSON|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 StreamFormat"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"StreamFormat"j)letto_json=simple_to_jsonto_valueendmoduleStreamOrdering=structtypenonrect=|UNORDERED|Non_static_idofstringletmakei=iletto_string=function|UNORDERED->"UNORDERED"|Non_static_ids->sletof_string=function|"UNORDERED"->UNORDERED|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 StreamOrdering"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"StreamOrdering"j)letto_json=simple_to_jsonto_valueendmoduleTargetDefinition=structtypenonrect={kinesis:KinesisTargetDefinition.toption[@ocaml.doc"Kinesis stream target configuration."]}letmake?kinesis=fun()->{kinesis}letto_valuex=structure_to_value[("kinesis",(Option.mapx.kinesis~f:KinesisTargetDefinition.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letkinesis=(Option.map~f:KinesisTargetDefinition.of_xml)(Xml.childxml_arg0"kinesis")inmake?kinesis()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letkinesis=field_mapjson__"kinesis"KinesisTargetDefinition.of_jsoninmake?kinesis()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Target definition for stream destination."]moduleEncryptionDetails=structtypenonrect={encryptionType:EncryptionType.toption[@ocaml.doc"The type of encryption that protects the data on your cluster."];kmsKeyArn:KmsKeyArn.toption[@ocaml.doc"The ARN of the KMS key that encrypts data in the cluster."];encryptionStatus:EncryptionStatus.toption[@ocaml.doc"The status of encryption for the cluster."]}letmake?encryptionType=fun?kmsKeyArn->fun?encryptionStatus->fun()->{encryptionType;kmsKeyArn;encryptionStatus}letto_valuex=structure_to_value[("encryptionType",(Option.mapx.encryptionType~f:EncryptionType.to_value));("kmsKeyArn",(Option.mapx.kmsKeyArn~f:KmsKeyArn.to_value));("encryptionStatus",(Option.mapx.encryptionStatus~f:EncryptionStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letencryptionStatus=(Option.map~f:EncryptionStatus.of_xml)(Xml.childxml_arg0"encryptionStatus")inletkmsKeyArn=(Option.map~f:KmsKeyArn.of_xml)(Xml.childxml_arg0"kmsKeyArn")inletencryptionType=(Option.map~f:EncryptionType.of_xml)(Xml.childxml_arg0"encryptionType")inmake?encryptionStatus?kmsKeyArn?encryptionType()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letencryptionStatus=field_mapjson__"encryptionStatus"EncryptionStatus.of_jsoninletkmsKeyArn=field_mapjson__"kmsKeyArn"KmsKeyArn.of_jsoninletencryptionType=field_mapjson__"encryptionType"EncryptionType.of_jsoninmake?encryptionStatus?kmsKeyArn?encryptionType()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Configuration details about encryption for the cluster including the KMS key ARN, encryption type, and encryption status."]moduleEndpoint=structtypenonrect=stringletcontext_="Endpoint"letmakei=letopenResultinok_or_failwith(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:"Endpoint"jletto_json=simple_to_jsonto_valueendmoduleServiceQuotaExceededException=structtypenonrect={message:String_.toption[@ocaml.doc"The service exception for exceeding a quota."];resourceId:String_.toption[@ocaml.doc"The resource ID exceeds a quota."];resourceType:String_.toption[@ocaml.doc"The resource type exceeds a quota."];serviceCode:String_.toption[@ocaml.doc"The request exceeds a service quota."];quotaCode:String_.toption[@ocaml.doc"The service exceeds a quota."]}letmake?message=fun?resourceId->fun?resourceType->fun?serviceCode->fun?quotaCode->fun()->{message;resourceId;resourceType;serviceCode;quotaCode}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));("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")inletresourceId=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"resourceId")inletmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?quotaCode?serviceCode?resourceType?resourceId?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_jsoninletresourceId=field_mapjson__"resourceId"String_.of_jsoninletmessage=field_mapjson__"message"String_.of_jsoninmake?quotaCode?serviceCode?resourceType?resourceId?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The service limit was exceeded."]moduleUpdateClusterOutput=structtypenonrect={identifier:ClusterId.toption[@ocaml.doc"The ID of the cluster to update."];arn:ClusterArn.toption[@ocaml.doc"The ARN of the updated cluster."];status:ClusterStatus.toption[@ocaml.doc"The status of the updated cluster."];creationTime:ClusterCreationTime.toption[@ocaml.doc"The time of when the cluster was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?identifier=fun?arn->fun?status->fun?creationTime->fun()->{identifier;arn;status;creationTime}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.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)|"ConflictException"->`ConflictException(ConflictException.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))]|`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))]|`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[("identifier",(Option.mapx.identifier~f:ClusterId.to_value));("arn",(Option.mapx.arn~f:ClusterArn.to_value));("status",(Option.mapx.status~f:ClusterStatus.to_value));("creationTime",(Option.mapx.creationTime~f:ClusterCreationTime.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreationTime=(Option.map~f:ClusterCreationTime.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:ClusterStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ClusterArn.of_xml)(Xml.childxml_arg0"arn")inletidentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"identifier")inmake?creationTime?status?arn?identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreationTime=field_mapjson__"creationTime"ClusterCreationTime.of_jsoninletstatus=field_mapjson__"status"ClusterStatus.of_jsoninletarn=field_mapjson__"arn"ClusterArn.of_jsoninletidentifier=field_mapjson__"identifier"ClusterId.of_jsoninmake?creationTime?status?arn?identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The details of the cluster after it has been updated."]moduleUpdateClusterInput=structtypenonrect={identifier:ClusterId.t[@ocaml.doc"The ID of the cluster you want to update."];deletionProtectionEnabled:DeletionProtectionEnabled.toption[@ocaml.doc"Specifies whether to enable deletion protection in your cluster."];kmsEncryptionKey:KmsEncryptionKey.toption[@ocaml.doc"The KMS key that encrypts and protects the data on your cluster. You can specify the ARN, ID, or alias of an existing key or have Amazon Web Services create a default key for you."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the Amazon Web Services SDK automatically generates one."];multiRegionProperties:MultiRegionProperties.toption[@ocaml.doc"The new multi-Region cluster configuration settings to be applied during an update operation."]}letcontext_="UpdateClusterInput"letmake?deletionProtectionEnabled=fun?kmsEncryptionKey->fun?clientToken->fun?multiRegionProperties->fun~identifier->fun()->{deletionProtectionEnabled;kmsEncryptionKey;clientToken;multiRegionProperties;identifier}letto_valuex=structure_to_value[("identifier",(Some(ClusterId.to_valuex.identifier)));("deletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:DeletionProtectionEnabled.to_value));("kmsEncryptionKey",(Option.mapx.kmsEncryptionKey~f:KmsEncryptionKey.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("multiRegionProperties",(Option.mapx.multiRegionProperties~f:MultiRegionProperties.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmultiRegionProperties=(Option.map~f:MultiRegionProperties.of_xml)(Xml.childxml_arg0"multiRegionProperties")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletkmsEncryptionKey=(Option.map~f:KmsEncryptionKey.of_xml)(Xml.childxml_arg0"kmsEncryptionKey")inletdeletionProtectionEnabled=(Option.map~f:DeletionProtectionEnabled.of_xml)(Xml.childxml_arg0"deletionProtectionEnabled")inletidentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"identifier")inmake?multiRegionProperties?clientToken?kmsEncryptionKey?deletionProtectionEnabled~identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmultiRegionProperties=field_mapjson__"multiRegionProperties"MultiRegionProperties.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletkmsEncryptionKey=field_mapjson__"kmsEncryptionKey"KmsEncryptionKey.of_jsoninletdeletionProtectionEnabled=field_mapjson__"deletionProtectionEnabled"DeletionProtectionEnabled.of_jsoninletidentifier=field_map_exnjson__"identifier"ClusterId.of_jsoninmake?multiRegionProperties?clientToken?kmsEncryptionKey?deletionProtectionEnabled~identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The UpdateCluster API allows you to modify both single-Region and multi-Region cluster configurations. With the multiRegionProperties parameter, you can add or modify witness Region support and manage peer relationships with clusters in other Regions. Note that updating multi-Region clusters requires additional IAM permissions beyond those needed for standard cluster updates, as detailed in the Permissions section. Required permissions dsql:UpdateCluster Permission to update a DSQL cluster. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:PutMultiRegionProperties Permission to configure multi-Region properties for a cluster. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:GetCluster Permission to retrieve cluster information. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:AddPeerCluster Permission to add peer clusters. Resources: Local cluster: arn:aws:dsql:region:account-id:cluster/cluster-id Each peer cluster: exact ARN of each specified peer cluster dsql:RemovePeerCluster Permission to remove peer clusters. The dsql:RemovePeerCluster permission uses a wildcard ARN pattern to simplify permission management during updates. Resources: arn:aws:dsql:*:account-id:cluster/* dsql:PutWitnessRegion Permission to set a witness Region. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id Condition Keys: dsql:WitnessRegion (matching the specified witness Region) This permission is checked both in the cluster Region and in the witness Region. The witness region specified in multiRegionProperties.witnessRegion cannot be the same as the cluster's Region. When updating clusters with peer relationships, permissions are checked for both adding and removing peers. The dsql:RemovePeerCluster permission uses a wildcard ARN pattern to simplify permission management during updates."]moduleUntagResourceInput=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The ARN of the resource from which to remove tags."];tagKeys:TagKeyList.t[@ocaml.doc"The array of keys of the tags that you want to remove."]}letcontext_="UntagResourceInput"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.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=Arn.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"Arn.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Removes a tag from a resource."]moduleTagResourceInput=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The ARN of the resource that you want to tag."];tags:TagMap.t[@ocaml.doc"A map of key and value pairs to use to tag your resource."]}letcontext_="TagResourceInput"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)));("tags",(Some(TagMap.to_valuex.tags)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=TagMap.of_xml(Xml.child_exn~context:context_xml_arg0"tags")inletresourceArn=Arn.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"TagMap.of_jsoninletresourceArn=field_map_exnjson__"resourceArn"Arn.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Tags a resource with a map of key and value pairs."]modulePutClusterPolicyOutput=structtypenonrect={policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the policy after it has been updated or created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?policyVersion=fun()->{policyVersion}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.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)|"ConflictException"->`ConflictException(ConflictException.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))]|`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))]|`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[("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inmake?policyVersion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninmake?policyVersion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Attaches a resource-based policy to a cluster. This policy defines access permissions and conditions for the cluster, allowing you to control which principals can perform actions on the cluster."]modulePutClusterPolicyInput=structtypenonrect={identifier:ClusterId.t;policy:PolicyDocument.t[@ocaml.doc"The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions."];bypassPolicyLockoutSafetyCheck:BypassPolicyLockoutSafetyCheck.toption[@ocaml.doc"A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution."];expectedPolicyVersion:PolicyVersion.toption[@ocaml.doc"The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts."];clientToken:ClientToken.toption}letcontext_="PutClusterPolicyInput"letmake?bypassPolicyLockoutSafetyCheck=fun?expectedPolicyVersion->fun?clientToken->fun~identifier->fun~policy->fun()->{bypassPolicyLockoutSafetyCheck;expectedPolicyVersion;clientToken;identifier;policy}letto_valuex=structure_to_value[("identifier",(Some(ClusterId.to_valuex.identifier)));("policy",(Some(PolicyDocument.to_valuex.policy)));("bypassPolicyLockoutSafetyCheck",(Option.mapx.bypassPolicyLockoutSafetyCheck~f:BypassPolicyLockoutSafetyCheck.to_value));("expectedPolicyVersion",(Option.mapx.expectedPolicyVersion~f:PolicyVersion.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inletexpectedPolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"expectedPolicyVersion")inletbypassPolicyLockoutSafetyCheck=(Option.map~f:BypassPolicyLockoutSafetyCheck.of_xml)(Xml.childxml_arg0"bypassPolicyLockoutSafetyCheck")inletpolicy=PolicyDocument.of_xml(Xml.child_exn~context:context_xml_arg0"policy")inletidentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"identifier")inmake?clientToken?expectedPolicyVersion?bypassPolicyLockoutSafetyCheck~policy~identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletexpectedPolicyVersion=field_mapjson__"expectedPolicyVersion"PolicyVersion.of_jsoninletbypassPolicyLockoutSafetyCheck=field_mapjson__"bypassPolicyLockoutSafetyCheck"BypassPolicyLockoutSafetyCheck.of_jsoninletpolicy=field_map_exnjson__"policy"PolicyDocument.of_jsoninletidentifier=field_map_exnjson__"identifier"ClusterId.of_jsoninmake?clientToken?expectedPolicyVersion?bypassPolicyLockoutSafetyCheck~policy~identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Attaches a resource-based policy to a cluster. This policy defines access permissions and conditions for the cluster, allowing you to control which principals can perform actions on the cluster."]moduleListTagsForResourceOutput=structtypenonrect={tags:TagMap.toption[@ocaml.doc"A map of key and value pairs that you used to tag your 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:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inmake?tags()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninmake?tags()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all of the tags for a resource."]moduleListTagsForResourceInput=structtypenonrect={resourceArn:Arn.t[@ocaml.doc"The ARN of the resource for which you want to list the tags."]}letcontext_="ListTagsForResourceInput"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(Arn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=Arn.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"Arn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Lists all of the tags for a resource."]moduleListStreamsOutput=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token."];streams:StreamList.toption[@ocaml.doc"An array of the returned streams."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?streams->fun()->{nextToken;streams}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[("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("streams",(Option.mapx.streams~f:StreamList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstreams=(Option.map~f:StreamList.of_xml)(Xml.childxml_arg0"streams")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?streams?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstreams=field_mapjson__"streams"StreamList.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninmake?streams?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about a list of streams for a cluster."]moduleListStreamsInput=structtypenonrect={clusterIdentifier:ClusterId.t[@ocaml.doc"The ID of the cluster for which to list streams."];maxResults:MaxResults.toption[@ocaml.doc"An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results. Default: 10."];nextToken:NextToken.toption[@ocaml.doc"If your initial ListStreams operation returns a nextToken, you can include the returned nextToken in following ListStreams operations, which returns results in the next page."]}letcontext_="ListStreamsInput"letmake?maxResults=fun?nextToken->fun~clusterIdentifier->fun()->{maxResults;nextToken;clusterIdentifier}letto_valuex=structure_to_value[("clusterIdentifier",(Some(ClusterId.to_valuex.clusterIdentifier)));("max-results",(Option.mapx.maxResults~f:MaxResults.to_value));("next-token",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"next-token")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"max-results")inletclusterIdentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"clusterIdentifier")inmake?nextToken?maxResults~clusterIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"NextToken.of_jsoninletmaxResults=field_mapjson__"maxResults"MaxResults.of_jsoninletclusterIdentifier=field_map_exnjson__"clusterIdentifier"ClusterId.of_jsoninmake?nextToken?maxResults~clusterIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about a list of streams for a cluster."]moduleListClustersOutput=structtypenonrect={nextToken:NextToken.toption[@ocaml.doc"If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, make the call again using the returned token."];clusters:ClusterList.toption[@ocaml.doc"An array of the returned clusters."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?nextToken=fun?clusters->fun()->{nextToken;clusters}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[("nextToken",(Option.mapx.nextToken~f:NextToken.to_value));("clusters",(Option.mapx.clusters~f:ClusterList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclusters=(Option.map~f:ClusterList.of_xml)(Xml.childxml_arg0"clusters")inletnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"nextToken")inmake?clusters?nextToken()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclusters=field_mapjson__"clusters"ClusterList.of_jsoninletnextToken=field_mapjson__"nextToken"NextToken.of_jsoninmake?clusters?nextToken()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about a list of clusters."]moduleListClustersInput=structtypenonrect={maxResults:MaxResults.toption[@ocaml.doc"An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results."];nextToken:NextToken.toption[@ocaml.doc"If your initial ListClusters operation returns a nextToken, you can include the returned nextToken in following ListClusters operations, which returns results in the next page."]}letmake?maxResults=fun?nextToken->fun()->{maxResults;nextToken}letto_valuex=structure_to_value[("max-results",(Option.mapx.maxResults~f:MaxResults.to_value));("next-token",(Option.mapx.nextToken~f:NextToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NextToken.of_xml)(Xml.childxml_arg0"next-token")inletmaxResults=(Option.map~f:MaxResults.of_xml)(Xml.childxml_arg0"max-results")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"Retrieves information about a list of clusters."]moduleGetVpcEndpointServiceNameOutput=structtypenonrect={serviceName:ServiceName.toption[@ocaml.doc"The VPC endpoint service name."];clusterVpcEndpoint:ClusterVpcEndpoint.toption[@ocaml.doc"The VPC connection endpoint for the cluster."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?serviceName=fun?clusterVpcEndpoint->fun()->{serviceName;clusterVpcEndpoint}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[("serviceName",(Option.mapx.serviceName~f:ServiceName.to_value));("clusterVpcEndpoint",(Option.mapx.clusterVpcEndpoint~f:ClusterVpcEndpoint.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclusterVpcEndpoint=(Option.map~f:ClusterVpcEndpoint.of_xml)(Xml.childxml_arg0"clusterVpcEndpoint")inletserviceName=(Option.map~f:ServiceName.of_xml)(Xml.childxml_arg0"serviceName")inmake?clusterVpcEndpoint?serviceName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclusterVpcEndpoint=field_mapjson__"clusterVpcEndpoint"ClusterVpcEndpoint.of_jsoninletserviceName=field_mapjson__"serviceName"ServiceName.of_jsoninmake?clusterVpcEndpoint?serviceName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the VPC endpoint service name."]moduleGetVpcEndpointServiceNameInput=structtypenonrect={identifier:ClusterId.t[@ocaml.doc"The ID of the cluster to retrieve."]}letcontext_="GetVpcEndpointServiceNameInput"letmake~identifier=fun()->{identifier}letto_valuex=structure_to_value[("identifier",(Some(ClusterId.to_valuex.identifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letidentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"identifier")inmake~identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letidentifier=field_map_exnjson__"identifier"ClusterId.of_jsoninmake~identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the VPC endpoint service name."]moduleGetStreamOutput=structtypenonrect={clusterIdentifier:ClusterId.toption[@ocaml.doc"The ID of the cluster for the retrieved stream."];streamIdentifier:StreamId.toption[@ocaml.doc"The ID of the retrieved stream."];arn:StreamArn.toption[@ocaml.doc"The ARN of the retrieved stream."];status:StreamStatus.toption[@ocaml.doc"The current status of the retrieved stream."];creationTime:StreamCreationTime.toption[@ocaml.doc"The time when the stream was created."];ordering:StreamOrdering.toption[@ocaml.doc"The ordering mode of the stream."];format:StreamFormat.toption[@ocaml.doc"The format of the stream records."];targetDefinition:TargetDefinition.toption[@ocaml.doc"The target definition for the stream destination."];statusReason:StatusReason.toption[@ocaml.doc"Stream status reason with error code and timestamp (if applicable)."];tags:TagMap.toption[@ocaml.doc"A map of tags associated with the stream."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?clusterIdentifier=fun?streamIdentifier->fun?arn->fun?status->fun?creationTime->fun?ordering->fun?format->fun?targetDefinition->fun?statusReason->fun?tags->fun()->{clusterIdentifier;streamIdentifier;arn;status;creationTime;ordering;format;targetDefinition;statusReason;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[("clusterIdentifier",(Option.mapx.clusterIdentifier~f:ClusterId.to_value));("streamIdentifier",(Option.mapx.streamIdentifier~f:StreamId.to_value));("arn",(Option.mapx.arn~f:StreamArn.to_value));("status",(Option.mapx.status~f:StreamStatus.to_value));("creationTime",(Option.mapx.creationTime~f:StreamCreationTime.to_value));("ordering",(Option.mapx.ordering~f:StreamOrdering.to_value));("format",(Option.mapx.format~f:StreamFormat.to_value));("targetDefinition",(Option.mapx.targetDefinition~f:TargetDefinition.to_value));("statusReason",(Option.mapx.statusReason~f:StatusReason.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=lettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletstatusReason=(Option.map~f:StatusReason.of_xml)(Xml.childxml_arg0"statusReason")inlettargetDefinition=(Option.map~f:TargetDefinition.of_xml)(Xml.childxml_arg0"targetDefinition")inletformat=(Option.map~f:StreamFormat.of_xml)(Xml.childxml_arg0"format")inletordering=(Option.map~f:StreamOrdering.of_xml)(Xml.childxml_arg0"ordering")inletcreationTime=(Option.map~f:StreamCreationTime.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:StreamStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:StreamArn.of_xml)(Xml.childxml_arg0"arn")inletstreamIdentifier=(Option.map~f:StreamId.of_xml)(Xml.childxml_arg0"streamIdentifier")inletclusterIdentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"clusterIdentifier")inmake?tags?statusReason?targetDefinition?format?ordering?creationTime?status?arn?streamIdentifier?clusterIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletstatusReason=field_mapjson__"statusReason"StatusReason.of_jsoninlettargetDefinition=field_mapjson__"targetDefinition"TargetDefinition.of_jsoninletformat=field_mapjson__"format"StreamFormat.of_jsoninletordering=field_mapjson__"ordering"StreamOrdering.of_jsoninletcreationTime=field_mapjson__"creationTime"StreamCreationTime.of_jsoninletstatus=field_mapjson__"status"StreamStatus.of_jsoninletarn=field_mapjson__"arn"StreamArn.of_jsoninletstreamIdentifier=field_mapjson__"streamIdentifier"StreamId.of_jsoninletclusterIdentifier=field_mapjson__"clusterIdentifier"ClusterId.of_jsoninmake?tags?statusReason?targetDefinition?format?ordering?creationTime?status?arn?streamIdentifier?clusterIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The output of a retrieved stream."]moduleGetStreamInput=structtypenonrect={clusterIdentifier:ClusterId.t[@ocaml.doc"The ID of the cluster containing the stream to retrieve."];streamIdentifier:StreamId.t[@ocaml.doc"The ID of the stream to retrieve."]}letcontext_="GetStreamInput"letmake~clusterIdentifier=fun~streamIdentifier->fun()->{clusterIdentifier;streamIdentifier}letto_valuex=structure_to_value[("clusterIdentifier",(Some(ClusterId.to_valuex.clusterIdentifier)));("streamIdentifier",(Some(StreamId.to_valuex.streamIdentifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstreamIdentifier=StreamId.of_xml(Xml.child_exn~context:context_xml_arg0"streamIdentifier")inletclusterIdentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"clusterIdentifier")inmake~streamIdentifier~clusterIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstreamIdentifier=field_map_exnjson__"streamIdentifier"StreamId.of_jsoninletclusterIdentifier=field_map_exnjson__"clusterIdentifier"ClusterId.of_jsoninmake~streamIdentifier~clusterIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about a stream."]moduleGetClusterPolicyOutput=structtypenonrect={policy:PolicyDocument.toption[@ocaml.doc"The resource-based policy document attached to the cluster, returned as a JSON string."];policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the policy document. This version number is incremented each time the policy is updated."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?policy=fun?policyVersion->fun()->{policy;policyVersion}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[("policy",(Option.mapx.policy~f:PolicyDocument.to_value));("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inletpolicy=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"policy")inmake?policyVersion?policy()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninletpolicy=field_mapjson__"policy"PolicyDocument.of_jsoninmake?policyVersion?policy()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the resource-based policy document attached to a cluster. This policy defines the access permissions and conditions for the cluster."]moduleGetClusterPolicyInput=structtypenonrect={identifier:ClusterId.t[@ocaml.doc"The ID of the cluster to retrieve the policy from."]}letcontext_="GetClusterPolicyInput"letmake~identifier=fun()->{identifier}letto_valuex=structure_to_value[("identifier",(Some(ClusterId.to_valuex.identifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letidentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"identifier")inmake~identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letidentifier=field_map_exnjson__"identifier"ClusterId.of_jsoninmake~identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves the resource-based policy document attached to a cluster. This policy defines the access permissions and conditions for the cluster."]moduleGetClusterOutput=structtypenonrect={identifier:ClusterId.toption[@ocaml.doc"The ID of the retrieved cluster."];arn:ClusterArn.toption[@ocaml.doc"The ARN of the retrieved cluster."];status:ClusterStatus.toption[@ocaml.doc"The status of the retrieved cluster."];creationTime:ClusterCreationTime.toption[@ocaml.doc"The time of when the cluster was created."];deletionProtectionEnabled:DeletionProtectionEnabled.toption[@ocaml.doc"Whether deletion protection is enabled in this cluster."];multiRegionProperties:MultiRegionProperties.toption[@ocaml.doc"Returns the current multi-Region cluster configuration, including witness region and linked cluster information."];tags:TagMap.toption;encryptionDetails:EncryptionDetails.toption[@ocaml.doc"The current encryption configuration details for the cluster."];endpoint:Endpoint.toption[@ocaml.doc"The connection endpoint for the cluster."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?identifier=fun?arn->fun?status->fun?creationTime->fun?deletionProtectionEnabled->fun?multiRegionProperties->fun?tags->fun?encryptionDetails->fun?endpoint->fun()->{identifier;arn;status;creationTime;deletionProtectionEnabled;multiRegionProperties;tags;encryptionDetails;endpoint}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[("identifier",(Option.mapx.identifier~f:ClusterId.to_value));("arn",(Option.mapx.arn~f:ClusterArn.to_value));("status",(Option.mapx.status~f:ClusterStatus.to_value));("creationTime",(Option.mapx.creationTime~f:ClusterCreationTime.to_value));("deletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:DeletionProtectionEnabled.to_value));("multiRegionProperties",(Option.mapx.multiRegionProperties~f:MultiRegionProperties.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value));("encryptionDetails",(Option.mapx.encryptionDetails~f:EncryptionDetails.to_value));("endpoint",(Option.mapx.endpoint~f:Endpoint.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendpoint=(Option.map~f:Endpoint.of_xml)(Xml.childxml_arg0"endpoint")inletencryptionDetails=(Option.map~f:EncryptionDetails.of_xml)(Xml.childxml_arg0"encryptionDetails")inlettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletmultiRegionProperties=(Option.map~f:MultiRegionProperties.of_xml)(Xml.childxml_arg0"multiRegionProperties")inletdeletionProtectionEnabled=(Option.map~f:DeletionProtectionEnabled.of_xml)(Xml.childxml_arg0"deletionProtectionEnabled")inletcreationTime=(Option.map~f:ClusterCreationTime.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:ClusterStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ClusterArn.of_xml)(Xml.childxml_arg0"arn")inletidentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"identifier")inmake?endpoint?encryptionDetails?tags?multiRegionProperties?deletionProtectionEnabled?creationTime?status?arn?identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendpoint=field_mapjson__"endpoint"Endpoint.of_jsoninletencryptionDetails=field_mapjson__"encryptionDetails"EncryptionDetails.of_jsoninlettags=field_mapjson__"tags"TagMap.of_jsoninletmultiRegionProperties=field_mapjson__"multiRegionProperties"MultiRegionProperties.of_jsoninletdeletionProtectionEnabled=field_mapjson__"deletionProtectionEnabled"DeletionProtectionEnabled.of_jsoninletcreationTime=field_mapjson__"creationTime"ClusterCreationTime.of_jsoninletstatus=field_mapjson__"status"ClusterStatus.of_jsoninletarn=field_mapjson__"arn"ClusterArn.of_jsoninletidentifier=field_mapjson__"identifier"ClusterId.of_jsoninmake?endpoint?encryptionDetails?tags?multiRegionProperties?deletionProtectionEnabled?creationTime?status?arn?identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The output of a cluster."]moduleGetClusterInput=structtypenonrect={identifier:ClusterId.t[@ocaml.doc"The ID of the cluster to retrieve."]}letcontext_="GetClusterInput"letmake~identifier=fun()->{identifier}letto_valuex=structure_to_value[("identifier",(Some(ClusterId.to_valuex.identifier)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letidentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"identifier")inmake~identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letidentifier=field_map_exnjson__"identifier"ClusterId.of_jsoninmake~identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about a cluster."]moduleDeleteStreamOutput=structtypenonrect={clusterIdentifier:ClusterId.toption[@ocaml.doc"The ID of the cluster for the deleted stream."];streamIdentifier:StreamId.toption[@ocaml.doc"The ID of the deleted stream."];arn:StreamArn.toption[@ocaml.doc"The ARN of the deleted stream."];status:StreamStatus.toption[@ocaml.doc"The status of the stream."];creationTime:StreamCreationTime.toption[@ocaml.doc"The time when the stream was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?clusterIdentifier=fun?streamIdentifier->fun?arn->fun?status->fun?creationTime->fun()->{clusterIdentifier;streamIdentifier;arn;status;creationTime}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.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)|"ConflictException"->`ConflictException(ConflictException.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))]|`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))]|`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[("clusterIdentifier",(Option.mapx.clusterIdentifier~f:ClusterId.to_value));("streamIdentifier",(Option.mapx.streamIdentifier~f:StreamId.to_value));("arn",(Option.mapx.arn~f:StreamArn.to_value));("status",(Option.mapx.status~f:StreamStatus.to_value));("creationTime",(Option.mapx.creationTime~f:StreamCreationTime.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreationTime=(Option.map~f:StreamCreationTime.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:StreamStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:StreamArn.of_xml)(Xml.childxml_arg0"arn")inletstreamIdentifier=(Option.map~f:StreamId.of_xml)(Xml.childxml_arg0"streamIdentifier")inletclusterIdentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"clusterIdentifier")inmake?creationTime?status?arn?streamIdentifier?clusterIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreationTime=field_mapjson__"creationTime"StreamCreationTime.of_jsoninletstatus=field_mapjson__"status"StreamStatus.of_jsoninletarn=field_mapjson__"arn"StreamArn.of_jsoninletstreamIdentifier=field_mapjson__"streamIdentifier"StreamId.of_jsoninletclusterIdentifier=field_mapjson__"clusterIdentifier"ClusterId.of_jsoninmake?creationTime?status?arn?streamIdentifier?clusterIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The output from a deleted stream."]moduleDeleteStreamInput=structtypenonrect={clusterIdentifier:ClusterId.t[@ocaml.doc"The ID of the cluster containing the stream to delete."];streamIdentifier:StreamId.t[@ocaml.doc"The ID of the stream to delete."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the Amazon Web Services SDK automatically generates one."]}letcontext_="DeleteStreamInput"letmake?clientToken=fun~clusterIdentifier->fun~streamIdentifier->fun()->{clientToken;clusterIdentifier;streamIdentifier}letto_valuex=structure_to_value[("clusterIdentifier",(Some(ClusterId.to_valuex.clusterIdentifier)));("streamIdentifier",(Some(StreamId.to_valuex.streamIdentifier)));("client-token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"client-token")inletstreamIdentifier=StreamId.of_xml(Xml.child_exn~context:context_xml_arg0"streamIdentifier")inletclusterIdentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"clusterIdentifier")inmake?clientToken~streamIdentifier~clusterIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletstreamIdentifier=field_map_exnjson__"streamIdentifier"StreamId.of_jsoninletclusterIdentifier=field_map_exnjson__"clusterIdentifier"ClusterId.of_jsoninmake?clientToken~streamIdentifier~clusterIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a stream from a cluster."]moduleDeleteClusterPolicyOutput=structtypenonrect={policyVersion:PolicyVersion.toption[@ocaml.doc"The version of the policy that was deleted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?policyVersion=fun()->{policyVersion}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.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)|"ConflictException"->`ConflictException(ConflictException.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))]|`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))]|`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[("policyVersion",(Option.mapx.policyVersion~f:PolicyVersion.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letpolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"policyVersion")inmake?policyVersion()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letpolicyVersion=field_mapjson__"policyVersion"PolicyVersion.of_jsoninmake?policyVersion()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the resource-based policy attached to a cluster. This removes all access permissions defined by the policy, reverting to default access controls."]moduleDeleteClusterPolicyInput=structtypenonrect={identifier:ClusterId.t;expectedPolicyVersion:PolicyVersion.toption[@ocaml.doc"The expected version of the policy to delete. This parameter ensures that you're deleting the correct version of the policy and helps prevent accidental deletions."];clientToken:ClientToken.toption}letcontext_="DeleteClusterPolicyInput"letmake?expectedPolicyVersion=fun?clientToken->fun~identifier->fun()->{expectedPolicyVersion;clientToken;identifier}letto_valuex=structure_to_value[("identifier",(Some(ClusterId.to_valuex.identifier)));("expected-policy-version",(Option.mapx.expectedPolicyVersion~f:PolicyVersion.to_value));("client-token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"client-token")inletexpectedPolicyVersion=(Option.map~f:PolicyVersion.of_xml)(Xml.childxml_arg0"expected-policy-version")inletidentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"identifier")inmake?clientToken?expectedPolicyVersion~identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletexpectedPolicyVersion=field_mapjson__"expectedPolicyVersion"PolicyVersion.of_jsoninletidentifier=field_map_exnjson__"identifier"ClusterId.of_jsoninmake?clientToken?expectedPolicyVersion~identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the resource-based policy attached to a cluster. This removes all access permissions defined by the policy, reverting to default access controls."]moduleDeleteClusterOutput=structtypenonrect={identifier:ClusterId.toption[@ocaml.doc"The ID of the deleted cluster."];arn:ClusterArn.toption[@ocaml.doc"The ARN of the deleted cluster."];status:ClusterStatus.toption[@ocaml.doc"The status of the cluster."];creationTime:ClusterCreationTime.toption[@ocaml.doc"The time of when the cluster was created."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?identifier=fun?arn->fun?status->fun?creationTime->fun()->{identifier;arn;status;creationTime}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.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)|"ConflictException"->`ConflictException(ConflictException.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))]|`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))]|`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[("identifier",(Option.mapx.identifier~f:ClusterId.to_value));("arn",(Option.mapx.arn~f:ClusterArn.to_value));("status",(Option.mapx.status~f:ClusterStatus.to_value));("creationTime",(Option.mapx.creationTime~f:ClusterCreationTime.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcreationTime=(Option.map~f:ClusterCreationTime.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:ClusterStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ClusterArn.of_xml)(Xml.childxml_arg0"arn")inletidentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"identifier")inmake?creationTime?status?arn?identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcreationTime=field_mapjson__"creationTime"ClusterCreationTime.of_jsoninletstatus=field_mapjson__"status"ClusterStatus.of_jsoninletarn=field_mapjson__"arn"ClusterArn.of_jsoninletidentifier=field_mapjson__"identifier"ClusterId.of_jsoninmake?creationTime?status?arn?identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The output from a deleted cluster."]moduleDeleteClusterInput=structtypenonrect={identifier:ClusterId.t[@ocaml.doc"The ID of the cluster to delete."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the Amazon Web Services SDK automatically generates one."]}letcontext_="DeleteClusterInput"letmake?clientToken=fun~identifier->fun()->{clientToken;identifier}letto_valuex=structure_to_value[("identifier",(Some(ClusterId.to_valuex.identifier)));("client-token",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"client-token")inletidentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"identifier")inmake?clientToken~identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninletidentifier=field_map_exnjson__"identifier"ClusterId.of_jsoninmake?clientToken~identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a cluster in Amazon Aurora DSQL."]moduleCreateStreamOutput=structtypenonrect={clusterIdentifier:ClusterId.toption[@ocaml.doc"The ID of the cluster for the created stream."];streamIdentifier:StreamId.toption[@ocaml.doc"The ID of the created stream."];arn:StreamArn.toption[@ocaml.doc"The ARN of the created stream."];status:StreamStatus.toption[@ocaml.doc"The status of the created stream."];creationTime:StreamCreationTime.toption[@ocaml.doc"The time when created the stream."];ordering:StreamOrdering.toption[@ocaml.doc"The ordering mode of the created stream."];format:StreamFormat.toption[@ocaml.doc"The format of the created stream records."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?clusterIdentifier=fun?streamIdentifier->fun?arn->fun?status->fun?creationTime->fun?ordering->fun?format->fun()->{clusterIdentifier;streamIdentifier;arn;status;creationTime;ordering;format}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[("clusterIdentifier",(Option.mapx.clusterIdentifier~f:ClusterId.to_value));("streamIdentifier",(Option.mapx.streamIdentifier~f:StreamId.to_value));("arn",(Option.mapx.arn~f:StreamArn.to_value));("status",(Option.mapx.status~f:StreamStatus.to_value));("creationTime",(Option.mapx.creationTime~f:StreamCreationTime.to_value));("ordering",(Option.mapx.ordering~f:StreamOrdering.to_value));("format",(Option.mapx.format~f:StreamFormat.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letformat=(Option.map~f:StreamFormat.of_xml)(Xml.childxml_arg0"format")inletordering=(Option.map~f:StreamOrdering.of_xml)(Xml.childxml_arg0"ordering")inletcreationTime=(Option.map~f:StreamCreationTime.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:StreamStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:StreamArn.of_xml)(Xml.childxml_arg0"arn")inletstreamIdentifier=(Option.map~f:StreamId.of_xml)(Xml.childxml_arg0"streamIdentifier")inletclusterIdentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"clusterIdentifier")inmake?format?ordering?creationTime?status?arn?streamIdentifier?clusterIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letformat=field_mapjson__"format"StreamFormat.of_jsoninletordering=field_mapjson__"ordering"StreamOrdering.of_jsoninletcreationTime=field_mapjson__"creationTime"StreamCreationTime.of_jsoninletstatus=field_mapjson__"status"StreamStatus.of_jsoninletarn=field_mapjson__"arn"StreamArn.of_jsoninletstreamIdentifier=field_mapjson__"streamIdentifier"StreamId.of_jsoninletclusterIdentifier=field_mapjson__"clusterIdentifier"ClusterId.of_jsoninmake?format?ordering?creationTime?status?arn?streamIdentifier?clusterIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The output of a created stream."]moduleCreateStreamInput=structtypenonrect={clusterIdentifier:ClusterId.t[@ocaml.doc"The ID of the cluster for which to create the stream."];targetDefinition:TargetDefinition.t[@ocaml.doc"The target destination configuration for the stream. Contains Kinesis stream configuration including stream ARN and IAM role ARN."];ordering:StreamOrdering.t[@ocaml.doc"The ordering mode for the stream. Determines how change events are ordered when delivered to the target."];format:StreamFormat.t[@ocaml.doc"The format of the stream records."];tags:TagMap.toption[@ocaml.doc"A map of key and value pairs to use to tag your stream."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the Amazon Web Services SDK automatically generates one."]}letcontext_="CreateStreamInput"letmake?tags=fun?clientToken->fun~clusterIdentifier->fun~targetDefinition->fun~ordering->fun~format->fun()->{tags;clientToken;clusterIdentifier;targetDefinition;ordering;format}letto_valuex=structure_to_value[("clusterIdentifier",(Some(ClusterId.to_valuex.clusterIdentifier)));("targetDefinition",(Some(TargetDefinition.to_valuex.targetDefinition)));("ordering",(Some(StreamOrdering.to_valuex.ordering)));("format",(Some(StreamFormat.to_valuex.format)));("tags",(Option.mapx.tags~f:TagMap.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inlettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletformat=StreamFormat.of_xml(Xml.child_exn~context:context_xml_arg0"format")inletordering=StreamOrdering.of_xml(Xml.child_exn~context:context_xml_arg0"ordering")inlettargetDefinition=TargetDefinition.of_xml(Xml.child_exn~context:context_xml_arg0"targetDefinition")inletclusterIdentifier=ClusterId.of_xml(Xml.child_exn~context:context_xml_arg0"clusterIdentifier")inmake?clientToken?tags~format~ordering~targetDefinition~clusterIdentifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninlettags=field_mapjson__"tags"TagMap.of_jsoninletformat=field_map_exnjson__"format"StreamFormat.of_jsoninletordering=field_map_exnjson__"ordering"StreamOrdering.of_jsoninlettargetDefinition=field_map_exnjson__"targetDefinition"TargetDefinition.of_jsoninletclusterIdentifier=field_map_exnjson__"clusterIdentifier"ClusterId.of_jsoninmake?clientToken?tags~format~ordering~targetDefinition~clusterIdentifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a new change data capture (CDC) stream for a cluster. The stream captures database changes and delivers them to the specified target destination. Required permissions dsql:CreateStream Permission to create a new stream. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id iam:PassRole Permission to pass the IAM role specified in the target definition to the service. Resources: ARN of the IAM role specified in targetDefinition.kinesis.roleArn kms:Decrypt Required when the cluster uses a customer managed KMS key (CMK). Permission to decrypt data using the cluster's CMK. Resources: ARN of the KMS key used by the cluster"]moduleCreateClusterOutput=structtypenonrect={identifier:ClusterId.toption[@ocaml.doc"The ID of the created cluster."];arn:ClusterArn.toption[@ocaml.doc"The ARN of the created cluster."];status:ClusterStatus.toption[@ocaml.doc"The status of the created cluster."];creationTime:ClusterCreationTime.toption[@ocaml.doc"The time of when created the cluster."];multiRegionProperties:MultiRegionProperties.toption[@ocaml.doc"The multi-Region cluster configuration details that were set during cluster creation"];encryptionDetails:EncryptionDetails.toption[@ocaml.doc"The encryption configuration for the cluster that was specified during the creation process, including the KMS key identifier and encryption state."];deletionProtectionEnabled:DeletionProtectionEnabled.toption[@ocaml.doc"Whether deletion protection is enabled on this cluster."];endpoint:Endpoint.toption[@ocaml.doc"The connection endpoint for the created cluster."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerExceptionofInternalServerException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`ThrottlingExceptionofThrottlingException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?identifier=fun?arn->fun?status->fun?creationTime->fun?multiRegionProperties->fun?encryptionDetails->fun?deletionProtectionEnabled->fun?endpoint->fun()->{identifier;arn;status;creationTime;multiRegionProperties;encryptionDetails;deletionProtectionEnabled;endpoint}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerException"->`InternalServerException(InternalServerException.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)|"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))]|`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[("identifier",(Option.mapx.identifier~f:ClusterId.to_value));("arn",(Option.mapx.arn~f:ClusterArn.to_value));("status",(Option.mapx.status~f:ClusterStatus.to_value));("creationTime",(Option.mapx.creationTime~f:ClusterCreationTime.to_value));("multiRegionProperties",(Option.mapx.multiRegionProperties~f:MultiRegionProperties.to_value));("encryptionDetails",(Option.mapx.encryptionDetails~f:EncryptionDetails.to_value));("deletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:DeletionProtectionEnabled.to_value));("endpoint",(Option.mapx.endpoint~f:Endpoint.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letendpoint=(Option.map~f:Endpoint.of_xml)(Xml.childxml_arg0"endpoint")inletdeletionProtectionEnabled=(Option.map~f:DeletionProtectionEnabled.of_xml)(Xml.childxml_arg0"deletionProtectionEnabled")inletencryptionDetails=(Option.map~f:EncryptionDetails.of_xml)(Xml.childxml_arg0"encryptionDetails")inletmultiRegionProperties=(Option.map~f:MultiRegionProperties.of_xml)(Xml.childxml_arg0"multiRegionProperties")inletcreationTime=(Option.map~f:ClusterCreationTime.of_xml)(Xml.childxml_arg0"creationTime")inletstatus=(Option.map~f:ClusterStatus.of_xml)(Xml.childxml_arg0"status")inletarn=(Option.map~f:ClusterArn.of_xml)(Xml.childxml_arg0"arn")inletidentifier=(Option.map~f:ClusterId.of_xml)(Xml.childxml_arg0"identifier")inmake?endpoint?deletionProtectionEnabled?encryptionDetails?multiRegionProperties?creationTime?status?arn?identifier()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letendpoint=field_mapjson__"endpoint"Endpoint.of_jsoninletdeletionProtectionEnabled=field_mapjson__"deletionProtectionEnabled"DeletionProtectionEnabled.of_jsoninletencryptionDetails=field_mapjson__"encryptionDetails"EncryptionDetails.of_jsoninletmultiRegionProperties=field_mapjson__"multiRegionProperties"MultiRegionProperties.of_jsoninletcreationTime=field_mapjson__"creationTime"ClusterCreationTime.of_jsoninletstatus=field_mapjson__"status"ClusterStatus.of_jsoninletarn=field_mapjson__"arn"ClusterArn.of_jsoninletidentifier=field_mapjson__"identifier"ClusterId.of_jsoninmake?endpoint?deletionProtectionEnabled?encryptionDetails?multiRegionProperties?creationTime?status?arn?identifier()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The output of a created cluster."]moduleCreateClusterInput=structtypenonrect={deletionProtectionEnabled:DeletionProtectionEnabled.toption[@ocaml.doc"If enabled, you can't delete your cluster. You must first disable this property before you can delete your cluster."];kmsEncryptionKey:KmsEncryptionKey.toption[@ocaml.doc"The KMS key that encrypts and protects the data on your cluster. You can specify the ARN, ID, or alias of an existing key or have Amazon Web Services create a default key for you."];tags:TagMap.toption[@ocaml.doc"A map of key and value pairs to use to tag your cluster."];clientToken:ClientToken.toption[@ocaml.doc"A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the Amazon Web Services SDK automatically generates one."];multiRegionProperties:MultiRegionProperties.toption[@ocaml.doc"The configuration settings when creating a multi-Region cluster, including the witness region and linked cluster properties."];policy:PolicyDocument.toption[@ocaml.doc"An optional resource-based policy document in JSON format that defines access permissions for the cluster."];bypassPolicyLockoutSafetyCheck:BypassPolicyLockoutSafetyCheck.toption[@ocaml.doc"An optional field that controls whether to bypass the lockout prevention check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution."]}letmake?deletionProtectionEnabled=fun?kmsEncryptionKey->fun?tags->fun?clientToken->fun?multiRegionProperties->fun?policy->fun?bypassPolicyLockoutSafetyCheck->fun()->{deletionProtectionEnabled;kmsEncryptionKey;tags;clientToken;multiRegionProperties;policy;bypassPolicyLockoutSafetyCheck}letto_valuex=structure_to_value[("deletionProtectionEnabled",(Option.mapx.deletionProtectionEnabled~f:DeletionProtectionEnabled.to_value));("kmsEncryptionKey",(Option.mapx.kmsEncryptionKey~f:KmsEncryptionKey.to_value));("tags",(Option.mapx.tags~f:TagMap.to_value));("clientToken",(Option.mapx.clientToken~f:ClientToken.to_value));("multiRegionProperties",(Option.mapx.multiRegionProperties~f:MultiRegionProperties.to_value));("policy",(Option.mapx.policy~f:PolicyDocument.to_value));("bypassPolicyLockoutSafetyCheck",(Option.mapx.bypassPolicyLockoutSafetyCheck~f:BypassPolicyLockoutSafetyCheck.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letbypassPolicyLockoutSafetyCheck=(Option.map~f:BypassPolicyLockoutSafetyCheck.of_xml)(Xml.childxml_arg0"bypassPolicyLockoutSafetyCheck")inletpolicy=(Option.map~f:PolicyDocument.of_xml)(Xml.childxml_arg0"policy")inletmultiRegionProperties=(Option.map~f:MultiRegionProperties.of_xml)(Xml.childxml_arg0"multiRegionProperties")inletclientToken=(Option.map~f:ClientToken.of_xml)(Xml.childxml_arg0"clientToken")inlettags=(Option.map~f:TagMap.of_xml)(Xml.childxml_arg0"tags")inletkmsEncryptionKey=(Option.map~f:KmsEncryptionKey.of_xml)(Xml.childxml_arg0"kmsEncryptionKey")inletdeletionProtectionEnabled=(Option.map~f:DeletionProtectionEnabled.of_xml)(Xml.childxml_arg0"deletionProtectionEnabled")inmake?bypassPolicyLockoutSafetyCheck?policy?multiRegionProperties?clientToken?tags?kmsEncryptionKey?deletionProtectionEnabled()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letbypassPolicyLockoutSafetyCheck=field_mapjson__"bypassPolicyLockoutSafetyCheck"BypassPolicyLockoutSafetyCheck.of_jsoninletpolicy=field_mapjson__"policy"PolicyDocument.of_jsoninletmultiRegionProperties=field_mapjson__"multiRegionProperties"MultiRegionProperties.of_jsoninletclientToken=field_mapjson__"clientToken"ClientToken.of_jsoninlettags=field_mapjson__"tags"TagMap.of_jsoninletkmsEncryptionKey=field_mapjson__"kmsEncryptionKey"KmsEncryptionKey.of_jsoninletdeletionProtectionEnabled=field_mapjson__"deletionProtectionEnabled"DeletionProtectionEnabled.of_jsoninmake?bypassPolicyLockoutSafetyCheck?policy?multiRegionProperties?clientToken?tags?kmsEncryptionKey?deletionProtectionEnabled()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The CreateCluster API allows you to create both single-Region clusters and multi-Region clusters. With the addition of the multiRegionProperties parameter, you can create a cluster with witness Region support and establish peer relationships with clusters in other Regions during creation. Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters, as detailed in the Required permissions section below. Required permissions dsql:CreateCluster Required to create a cluster. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:TagResource Permission to add tags to a resource. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:PutMultiRegionProperties Permission to configure multi-Region properties for a cluster. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:AddPeerCluster When specifying multiRegionProperties.clusters, permission to add peer clusters. Resources: Local cluster: arn:aws:dsql:region:account-id:cluster/* Each peer cluster: exact ARN of each specified peer cluster dsql:PutWitnessRegion When specifying multiRegionProperties.witnessRegion, permission to set a witness Region. This permission is checked both in the cluster Region and in the witness Region. Resources: arn:aws:dsql:region:account-id:cluster/* Condition Keys: dsql:WitnessRegion (matching the specified witness region) The witness Region specified in multiRegionProperties.witnessRegion cannot be the same as the cluster's Region."]