123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211(* 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.elementalinferenceletapiVersion="2018-11-14"letendpointPrefix="elemental-inference"letserviceFullName="AWS Elemental Inference"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[]))])moduleResourceDescription=structtypenonrect=stringletcontext_="ResourceDescription"letmakei=letopenResultinok_or_failwith((check_string_mini~min:0)>>=(fun()->(check_string_maxi~max:1024)>>=(fun()->check_patterni~pattern:"[\\w \\-\\.',@:;]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"ResourceDescription"jletto_json=simple_to_jsonto_valueendmoduleClippingConfig=structtypenonrect={callbackMetadata:ResourceDescription.toption[@ocaml.doc"The metadata that is the result of the clip request to Elemental Inference."]}letmake?callbackMetadata=fun()->{callbackMetadata}letto_valuex=structure_to_value[("callbackMetadata",(Option.mapx.callbackMetadata~f:ResourceDescription.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letcallbackMetadata=(Option.map~f:ResourceDescription.of_xml)(Xml.childxml_arg0"callbackMetadata")inmake?callbackMetadata()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letcallbackMetadata=field_mapjson__"callbackMetadata"ResourceDescription.of_jsoninmake?callbackMetadata()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A type of OutputConfig, used when the output in a feed is for the clip feature."]moduleCroppingConfig=structtypenonrect=unitletmake()=()letof_header_and_body=((fun(xs,pipe)->make())[@warning"-27"])letto_value_=`Structure[]letto_queryv=to_queryto_valuevletof_xml_=make()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_json_=make()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A type of OutputConfig, used when the output in a feed is for the crop feature."]moduleAssociatedResourceName=structtypenonrect=stringletcontext_="AssociatedResourceName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:2048)>>=(fun()->check_patterni~pattern:"[\\w \\-\\.',@:;/]*")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"AssociatedResourceName"jletto_json=simple_to_jsonto_valueendmoduleBoolean=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_valueendmoduleOutputConfig=structtypenonrect={cropping:CroppingConfig.toption[@ocaml.doc"The output config type that applies to the cropping feature."];clipping:ClippingConfig.toption[@ocaml.doc"The output config type that applies to the clipping feature."]}letmake?cropping=fun?clipping->fun()->{cropping;clipping}letto_valuex=structure_to_value[("cropping",(Option.mapx.cropping~f:CroppingConfig.to_value));("clipping",(Option.mapx.clipping~f:ClippingConfig.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letclipping=(Option.map~f:ClippingConfig.of_xml)(Xml.childxml_arg0"clipping")inletcropping=(Option.map~f:CroppingConfig.of_xml)(Xml.childxml_arg0"cropping")inmake?clipping?cropping()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letclipping=field_mapjson__"clipping"ClippingConfig.of_jsoninletcropping=field_mapjson__"cropping"CroppingConfig.of_jsoninmake?clipping?cropping()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains one typed output. It is used in the CreateOutput, GetOutput, and Update Output structures."]moduleOutputStatus=structtypenonrect=|ENABLED|DISABLED|Non_static_idofstringletmakei=iletto_string=function|ENABLED->"ENABLED"|DISABLED->"DISABLED"|Non_static_ids->sletof_string=function|"ENABLED"->ENABLED|"DISABLED"->DISABLED|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 OutputStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"OutputStatus"j)letto_json=simple_to_jsonto_valueendmoduleResourceName=structtypenonrect=stringletcontext_="ResourceName"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-zA-Z0-9]([a-zA-Z0-9-_]{0,126}[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:"ResourceName"jletto_json=simple_to_jsonto_valueendmoduleFeedArn=structtypenonrect=stringletcontext_="FeedArn"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:"FeedArn"jletto_json=simple_to_jsonto_valueendmoduleFeedAssociation=structtypenonrect={associatedResourceName:AssociatedResourceName.toption[@ocaml.doc"The name of the associated resource."]}letmake?associatedResourceName=fun()->{associatedResourceName}letto_valuex=structure_to_value[("associatedResourceName",(Option.mapx.associatedResourceName~f:AssociatedResourceName.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letassociatedResourceName=(Option.map~f:AssociatedResourceName.of_xml)(Xml.childxml_arg0"associatedResourceName")inmake?associatedResourceName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letassociatedResourceName=field_mapjson__"associatedResourceName"AssociatedResourceName.of_jsoninmake?associatedResourceName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains information about the resource that is associated with a feed. It is used in the FeedSummary that is used in the response of a ListFeeds action."]moduleFeedId=structtypenonrect=stringletcontext_="FeedId"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"[a-z0-9]{19}");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FeedId"jletto_json=simple_to_jsonto_valueendmoduleFeedStatus=structtypenonrect=|CREATING|AVAILABLE|ACTIVE|UPDATING|DELETING|DELETED|ARCHIVED|Non_static_idofstringletmakei=iletto_string=function|CREATING->"CREATING"|AVAILABLE->"AVAILABLE"|ACTIVE->"ACTIVE"|UPDATING->"UPDATING"|DELETING->"DELETING"|DELETED->"DELETED"|ARCHIVED->"ARCHIVED"|Non_static_ids->sletof_string=function|"CREATING"->CREATING|"AVAILABLE"->AVAILABLE|"ACTIVE"->ACTIVE|"UPDATING"->UPDATING|"DELETING"->DELETING|"DELETED"->DELETED|"ARCHIVED"->ARCHIVED|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 FeedStatus"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"FeedStatus"j)letto_json=simple_to_jsonto_valueendmoduleString_=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_valueendmoduleGetOutput=structtypenonrect={name:ResourceName.toption[@ocaml.doc"The ARN of the output."];outputConfig:OutputConfig.toption[@ocaml.doc"A typed property for an output in a feed. It is used in the GetFeed action. It identifies the action for Elemental Inference to perform. It also provides a repository for the results of that action. For example, CroppingConfig output will contain the metadata for the crop feature."];status:OutputStatus.toption[@ocaml.doc"The status of the output."];description:ResourceDescription.toption[@ocaml.doc"The description of the output."];fromAssociation:Boolean.toption[@ocaml.doc"True means that the output was originally created in the feed by the AssociateFeed operation. False means it was created using CreateFeed or UpdateFeed. You will need this value if you use the UpdateFeed operation to modify the list of outputs in the feed."]}letmake?name=fun?outputConfig->fun?status->fun?description->fun?fromAssociation->fun()->{name;outputConfig;status;description;fromAssociation}letto_valuex=structure_to_value[("name",(Option.mapx.name~f:ResourceName.to_value));("outputConfig",(Option.mapx.outputConfig~f:OutputConfig.to_value));("status",(Option.mapx.status~f:OutputStatus.to_value));("description",(Option.mapx.description~f:ResourceDescription.to_value));("fromAssociation",(Option.mapx.fromAssociation~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfromAssociation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"fromAssociation")inletdescription=(Option.map~f:ResourceDescription.of_xml)(Xml.childxml_arg0"description")inletstatus=(Option.map~f:OutputStatus.of_xml)(Xml.childxml_arg0"status")inletoutputConfig=(Option.map~f:OutputConfig.of_xml)(Xml.childxml_arg0"outputConfig")inletname=(Option.map~f:ResourceName.of_xml)(Xml.childxml_arg0"name")inmake?fromAssociation?description?status?outputConfig?name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfromAssociation=field_mapjson__"fromAssociation"Boolean.of_jsoninletdescription=field_mapjson__"description"ResourceDescription.of_jsoninletstatus=field_mapjson__"status"OutputStatus.of_jsoninletoutputConfig=field_mapjson__"outputConfig"OutputConfig.of_jsoninletname=field_mapjson__"name"ResourceName.of_jsoninmake?fromAssociation?description?status?outputConfig?name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains configuration information about one output in a feed. It is used in the GetFeed action."]moduleTagKey=structtypenonrect=stringletcontext_="TagKey"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:128)>>=(fun()->check_string_mini~min:1));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"TagKey"jletto_json=simple_to_jsonto_valueendmoduleTagValue=structtypenonrect=stringletcontext_="TagValue"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:256)>>=(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:"TagValue"jletto_json=simple_to_jsonto_valueendmoduleUpdateOutput=structtypenonrect={name:ResourceName.t[@ocaml.doc"The name start here"];outputConfig:OutputConfig.t[@ocaml.doc"A typed property for an output in a feed. It is used in the UpdateFeed action. It identifies the action for Elemental Inference to perform. It also provides a repository for the results of that action. For example, CroppingConfig output will contain the metadata for the crop feature."];status:OutputStatus.t[@ocaml.doc"The status of the output."];description:ResourceDescription.toption[@ocaml.doc"A description of the output."];fromAssociation:Boolean.toption[@ocaml.doc"This property is set by the service when you add the output to the feed, and indicates how you added the output. True means that you used the AssociateFeed operation. False means that you used the CreateFeed or UpdateFeed operation. Use GetFeed to obtain the value. If the value is True, include this field here with a value of True. If the value is False, omit the field here."]}letcontext_="UpdateOutput"letmake?description=fun?fromAssociation->fun~name->fun~outputConfig->fun~status->fun()->{description;fromAssociation;name;outputConfig;status}letto_valuex=structure_to_value[("name",(Some(ResourceName.to_valuex.name)));("outputConfig",(Some(OutputConfig.to_valuex.outputConfig)));("status",(Some(OutputStatus.to_valuex.status)));("description",(Option.mapx.description~f:ResourceDescription.to_value));("fromAssociation",(Option.mapx.fromAssociation~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfromAssociation=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"fromAssociation")inletdescription=(Option.map~f:ResourceDescription.of_xml)(Xml.childxml_arg0"description")inletstatus=OutputStatus.of_xml(Xml.child_exn~context:context_xml_arg0"status")inletoutputConfig=OutputConfig.of_xml(Xml.child_exn~context:context_xml_arg0"outputConfig")inletname=ResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?fromAssociation?description~status~outputConfig~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfromAssociation=field_mapjson__"fromAssociation"Boolean.of_jsoninletdescription=field_mapjson__"description"ResourceDescription.of_jsoninletstatus=field_map_exnjson__"status"OutputStatus.of_jsoninletoutputConfig=field_map_exnjson__"outputConfig"OutputConfig.of_jsoninletname=field_map_exnjson__"name"ResourceName.of_jsoninmake?fromAssociation?description~status~outputConfig~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains configuration information about one output in a feed. It is used in the UpdateFeed action."]moduleFeedSummary=structtypenonrect={arn:FeedArn.toption[@ocaml.doc"The ARN of the feed."];id:FeedId.toption[@ocaml.doc"The ID of the feed."];name:ResourceName.toption[@ocaml.doc"The name of the feed"];association:FeedAssociation.toption[@ocaml.doc"The resource, if any, associated with the feed."];status:FeedStatus.toption[@ocaml.doc"The status of the feed."]}letmake?arn=fun?id->fun?name->fun?association->fun?status->fun()->{arn;id;name;association;status}letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:FeedArn.to_value));("id",(Option.mapx.id~f:FeedId.to_value));("name",(Option.mapx.name~f:ResourceName.to_value));("association",(Option.mapx.association~f:FeedAssociation.to_value));("status",(Option.mapx.status~f:FeedStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:FeedStatus.of_xml)(Xml.childxml_arg0"status")inletassociation=(Option.map~f:FeedAssociation.of_xml)(Xml.childxml_arg0"association")inletname=(Option.map~f:ResourceName.of_xml)(Xml.childxml_arg0"name")inletid=(Option.map~f:FeedId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:FeedArn.of_xml)(Xml.childxml_arg0"arn")inmake?status?association?name?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"FeedStatus.of_jsoninletassociation=field_mapjson__"association"FeedAssociation.of_jsoninletname=field_mapjson__"name"ResourceName.of_jsoninletid=field_mapjson__"id"FeedId.of_jsoninletarn=field_mapjson__"arn"FeedArn.of_jsoninmake?status?association?name?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains configuration information about a feed. It is used in the ListFeeds action."]moduleCreateOutput=structtypenonrect={name:ResourceName.t[@ocaml.doc"A name for the output."];outputConfig:OutputConfig.t[@ocaml.doc"A typed property for an output in a feed. It is used in the CreateFeed and AssociateFeed actions. It identifies the action for Elemental Inference to perform. It also provides a repository for the results of that action. For example, CroppingConfig output will contain the metadata for the crop feature."];status:OutputStatus.t[@ocaml.doc"The status to assign to the output."];description:ResourceDescription.toption[@ocaml.doc"A description for the output."]}letcontext_="CreateOutput"letmake?description=fun~name->fun~outputConfig->fun~status->fun()->{description;name;outputConfig;status}letto_valuex=structure_to_value[("name",(Some(ResourceName.to_valuex.name)));("outputConfig",(Some(OutputConfig.to_valuex.outputConfig)));("status",(Some(OutputStatus.to_valuex.status)));("description",(Option.mapx.description~f:ResourceDescription.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdescription=(Option.map~f:ResourceDescription.of_xml)(Xml.childxml_arg0"description")inletstatus=OutputStatus.of_xml(Xml.child_exn~context:context_xml_arg0"status")inletoutputConfig=OutputConfig.of_xml(Xml.child_exn~context:context_xml_arg0"outputConfig")inletname=ResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?description~status~outputConfig~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdescription=field_mapjson__"description"ResourceDescription.of_jsoninletstatus=field_map_exnjson__"status"OutputStatus.of_jsoninletoutputConfig=field_map_exnjson__"outputConfig"OutputConfig.of_jsoninletname=field_map_exnjson__"name"ResourceName.of_jsoninmake?description~status~outputConfig~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Contains configuration information about one output in a feed. It is used in the AssociateFeed and the CreateFeed actions."]moduleAccessDeniedException=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."]moduleConflictException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request could not be completed due to a conflict."]moduleGetOutputList=structtypenonrect=GetOutput.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:GetOutput.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:GetOutput.of_xml)letof_jsonj=list_of_json~kind:"GetOutputList"~of_json:GetOutput.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInternalServerErrorException=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"An internal server error occurred. This is a temporary condition and the request can be retried. If the problem persists, contact AWS Support."]moduleResourceNotFoundException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The resource specified in the action doesn't exist."]moduleServiceQuotaExceededException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was rejected because it would exceed one or more service quotas for your account. Review your service quotas and either delete unused resources or request a quota increase."]moduleStringList=structtypenonrect=String_.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:String_.to_value))|>(funx->`Listx)letto_queryv=to_queryto_valuevletto_header_=failwithf"to_header is not implemented for List_shape objects"()letof_xmlx=make(List.map((Xml.all_childrenx)|>(List.filter~f:(function|`Datas->(matchStdlib.String.trimswith|""->false|_->true)|_->true)))~f:String_.of_xml)letof_jsonj=list_of_json~kind:"StringList"~of_json:String_.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTagMap=structtypenonrect=(TagKey.t*TagValue.t)listletmakei=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_valuevendmoduleTooManyRequestException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The request was denied due to request throttling. Too many requests have been made within a given time period. Reduce the frequency of requests and use exponential backoff when retrying."]moduleValidationException=structtypenonrect={message:String_.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"String_.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The input fails to satisfy the constraints specified by the service. Check the error message for details about which parameter or field is invalid and correct the request before retrying."]moduleUpdateOutputList=structtypenonrect=UpdateOutput.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:UpdateOutput.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:UpdateOutput.of_xml)letof_jsonj=list_of_json~kind:"UpdateOutputList"~of_json:UpdateOutput.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleResourceArn=structtypenonrect=stringletcontext_="ResourceArn"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:"ResourceArn"jletto_json=simple_to_jsonto_valueendmoduleTagKeyList=structtypenonrect=TagKey.tlistletmakei=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_valuevendmoduleFeedSummaryList=structtypenonrect=FeedSummary.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:FeedSummary.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:FeedSummary.of_xml)letof_jsonj=list_of_json~kind:"FeedSummaryList"~of_json:FeedSummary.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleListFeedsRequestMaxResultsInteger=structtypenonrect=intletmakei=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 ListFeedsRequestMaxResultsInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleCreateOutputList=structtypenonrect=CreateOutput.tlistletmakei=iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:CreateOutput.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:CreateOutput.of_xml)letof_jsonj=list_of_json~kind:"CreateOutputList"~of_json:CreateOutput.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUpdateFeedResponse=structtypenonrect={arn:FeedArn.toption[@ocaml.doc"The ARN of the feed."];name:ResourceName.toption[@ocaml.doc"The updated or original name of the feed."];id:FeedId.toption[@ocaml.doc"The ID of the feed."];dataEndpoints:StringList.toption[@ocaml.doc"The data endpoints of the feed."];outputs:GetOutputList.toption[@ocaml.doc"The array of outputs in the feed. You might have left this array unchanged, or you might have changed it."];status:FeedStatus.toption[@ocaml.doc"The status of the output."];association:FeedAssociation.toption[@ocaml.doc"True means that the output was originally created in the feed by the AssociateFeed operation. False means it was created using CreateFeed or UpdateFeed. You will need this value if you use the UpdateFeed operation to modify the list of outputs in the feed."];tags:TagMap.toption[@ocaml.doc"The name of the resource currently associated with the feed, if any."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`TooManyRequestExceptionofTooManyRequestException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?name->fun?id->fun?dataEndpoints->fun?outputs->fun?status->fun?association->fun?tags->fun()->{arn;name;id;dataEndpoints;outputs;status;association;tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`TooManyRequestExceptione->`Assoc[("error",(`String"TooManyRequestException"));("details",(TooManyRequestException.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[("arn",(Option.mapx.arn~f:FeedArn.to_value));("name",(Option.mapx.name~f:ResourceName.to_value));("id",(Option.mapx.id~f:FeedId.to_value));("dataEndpoints",(Option.mapx.dataEndpoints~f:StringList.to_value));("outputs",(Option.mapx.outputs~f:GetOutputList.to_value));("status",(Option.mapx.status~f:FeedStatus.to_value));("association",(Option.mapx.association~f:FeedAssociation.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")inletassociation=(Option.map~f:FeedAssociation.of_xml)(Xml.childxml_arg0"association")inletstatus=(Option.map~f:FeedStatus.of_xml)(Xml.childxml_arg0"status")inletoutputs=(Option.map~f:GetOutputList.of_xml)(Xml.childxml_arg0"outputs")inletdataEndpoints=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"dataEndpoints")inletid=(Option.map~f:FeedId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:ResourceName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:FeedArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?association?status?outputs?dataEndpoints?id?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletassociation=field_mapjson__"association"FeedAssociation.of_jsoninletstatus=field_mapjson__"status"FeedStatus.of_jsoninletoutputs=field_mapjson__"outputs"GetOutputList.of_jsoninletdataEndpoints=field_mapjson__"dataEndpoints"StringList.of_jsoninletid=field_mapjson__"id"FeedId.of_jsoninletname=field_mapjson__"name"ResourceName.of_jsoninletarn=field_mapjson__"arn"FeedArn.of_jsoninmake?tags?association?status?outputs?dataEndpoints?id?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the name and/or outputs in a feed."]moduleUpdateFeedRequest=structtypenonrect={name:ResourceName.t[@ocaml.doc"Required. You can specify the existing name (to leave it unchanged) or a new name."];id:FeedId.t[@ocaml.doc"The ID of the feed to update."];outputs:UpdateOutputList.t[@ocaml.doc"Required. You can specify the existing array of outputs (to leave outputs unchanged) or you can specify a new array."]}letcontext_="UpdateFeedRequest"letmake~name=fun~id->fun~outputs->fun()->{name;id;outputs}letto_valuex=structure_to_value[("name",(Some(ResourceName.to_valuex.name)));("id",(Some(FeedId.to_valuex.id)));("outputs",(Some(UpdateOutputList.to_valuex.outputs)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letoutputs=UpdateOutputList.of_xml(Xml.child_exn~context:context_xml_arg0"outputs")inletid=FeedId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inletname=ResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake~outputs~id~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letoutputs=field_map_exnjson__"outputs"UpdateOutputList.of_jsoninletid=field_map_exnjson__"id"FeedId.of_jsoninletname=field_map_exnjson__"name"ResourceName.of_jsoninmake~outputs~id~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Updates the name and/or outputs in a feed."]moduleUntagResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The ARN of the resource where you want to delete one or more tags."];tagKeys:TagKeyList.t[@ocaml.doc"The keys of the tags to delete."]}letcontext_="UntagResourceRequest"letmake~resourceArn=fun~tagKeys->fun()->{resourceArn;tagKeys}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.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=ResourceArn.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"ResourceArn.of_jsoninmake~tagKeys~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes specified tags from the specified resource in the current region."]moduleTagResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The ARN of the resource where you want to add tags."];tags:TagMap.t[@ocaml.doc"A list of tags to add to the resource."]}letcontext_="TagResourceRequest"letmake~resourceArn=fun~tags->fun()->{resourceArn;tags}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.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=ResourceArn.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"ResourceArn.of_jsoninmake~tags~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates the specified tags to the resource identified by the specified resourceArn in the current region. If existing tags on a resource are not specified in the request parameters, they are not changed. When a resource is deleted, the tags associated with that resource are also deleted."]moduleListTagsForResourceResponse=structtypenonrect={tags:TagMap.toption[@ocaml.doc"A list of the tags that belong to this resource."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestExceptionofTooManyRequestException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?tags=fun()->{tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestExceptione->`Assoc[("error",(`String"TooManyRequestException"));("details",(TooManyRequestException.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"List all tags that are on an Elemental Inference resource in the current region."]moduleListTagsForResourceRequest=structtypenonrect={resourceArn:ResourceArn.t[@ocaml.doc"The ARN of the resource whose tags you want to query."]}letcontext_="ListTagsForResourceRequest"letmake~resourceArn=fun()->{resourceArn}letto_valuex=structure_to_value[("resourceArn",(Some(ResourceArn.to_valuex.resourceArn)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letresourceArn=ResourceArn.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"ResourceArn.of_jsoninmake~resourceArn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"List all tags that are on an Elemental Inference resource in the current region."]moduleListFeedsResponse=structtypenonrect={feeds:FeedSummaryList.toption[@ocaml.doc"A list of feed summaries."];nextToken:String_.toption[@ocaml.doc"The token that identifies the batch of results that you want to see. For example, you submit a list request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the list request a second time and specify the NextToken value."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestExceptionofTooManyRequestException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?feeds=fun?nextToken->fun()->{feeds;nextToken}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestExceptione->`Assoc[("error",(`String"TooManyRequestException"));("details",(TooManyRequestException.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[("feeds",(Option.mapx.feeds~f:FeedSummaryList.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletfeeds=(Option.map~f:FeedSummaryList.of_xml)(Xml.childxml_arg0"feeds")inmake?nextToken?feeds()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletfeeds=field_mapjson__"feeds"FeedSummaryList.of_jsoninmake?nextToken?feeds()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Displays a list of feeds that belong to this AWS account."]moduleListFeedsRequest=structtypenonrect={maxResults:ListFeedsRequestMaxResultsInteger.toption[@ocaml.doc"The maximum number of results to return per API request. For example, you submit a list request with MaxResults set at 5. Although 20 items match your request, the service returns no more than the first 5 items. (The service also returns a NextToken value that you can use to fetch the next batch of results.) The service might return fewer results than the MaxResults value. If MaxResults is not included in the request, the service defaults to pagination with a maximum of 10 results per page. Valid Range: Minimum value of 1. Maximum value of 1000."];nextToken:String_.toption[@ocaml.doc"The token that identifies the batch of results that you want to see. For example, you submit a ListBridges request with MaxResults set at 5. The service returns the first batch of results (up to 5) and a NextToken value. To see the next batch of results, you can submit the ListBridges request a second time and specify the NextToken value."]}letmake?maxResults=fun?nextToken->fun()->{maxResults;nextToken}letto_valuex=structure_to_value[("maxResults",(Option.mapx.maxResults~f:ListFeedsRequestMaxResultsInteger.to_value));("nextToken",(Option.mapx.nextToken~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"nextToken")inletmaxResults=(Option.map~f:ListFeedsRequestMaxResultsInteger.of_xml)(Xml.childxml_arg0"maxResults")inmake?nextToken?maxResults()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"nextToken"String_.of_jsoninletmaxResults=field_mapjson__"maxResults"ListFeedsRequestMaxResultsInteger.of_jsoninmake?nextToken?maxResults()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Displays a list of feeds that belong to this AWS account."]moduleGetFeedResponse=structtypenonrect={arn:FeedArn.toption[@ocaml.doc"The ARN of the feed."];name:ResourceName.toption[@ocaml.doc"The name of the feed being queried."];id:FeedId.toption[@ocaml.doc"The ID of the feed being queried."];dataEndpoints:StringList.toption[@ocaml.doc"The dataEndpoints of the feed being queried."];outputs:GetOutputList.toption[@ocaml.doc"An array of the outputs in the feed being queried."];status:FeedStatus.toption[@ocaml.doc"The status of the feed being queried."];association:FeedAssociation.toption[@ocaml.doc"Information about the resource, if any, associated with the feed being queried."];tags:TagMap.toption[@ocaml.doc"A list of the tags, if any, for the feed being queried."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestExceptionofTooManyRequestException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?name->fun?id->fun?dataEndpoints->fun?outputs->fun?status->fun?association->fun?tags->fun()->{arn;name;id;dataEndpoints;outputs;status;association;tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_xmlxml)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestExceptione->`Assoc[("error",(`String"TooManyRequestException"));("details",(TooManyRequestException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("arn",(Option.mapx.arn~f:FeedArn.to_value));("name",(Option.mapx.name~f:ResourceName.to_value));("id",(Option.mapx.id~f:FeedId.to_value));("dataEndpoints",(Option.mapx.dataEndpoints~f:StringList.to_value));("outputs",(Option.mapx.outputs~f:GetOutputList.to_value));("status",(Option.mapx.status~f:FeedStatus.to_value));("association",(Option.mapx.association~f:FeedAssociation.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")inletassociation=(Option.map~f:FeedAssociation.of_xml)(Xml.childxml_arg0"association")inletstatus=(Option.map~f:FeedStatus.of_xml)(Xml.childxml_arg0"status")inletoutputs=(Option.map~f:GetOutputList.of_xml)(Xml.childxml_arg0"outputs")inletdataEndpoints=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"dataEndpoints")inletid=(Option.map~f:FeedId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:ResourceName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:FeedArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?association?status?outputs?dataEndpoints?id?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletassociation=field_mapjson__"association"FeedAssociation.of_jsoninletstatus=field_mapjson__"status"FeedStatus.of_jsoninletoutputs=field_mapjson__"outputs"GetOutputList.of_jsoninletdataEndpoints=field_mapjson__"dataEndpoints"StringList.of_jsoninletid=field_mapjson__"id"FeedId.of_jsoninletname=field_mapjson__"name"ResourceName.of_jsoninletarn=field_mapjson__"arn"FeedArn.of_jsoninmake?tags?association?status?outputs?dataEndpoints?id?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified feed."]moduleGetFeedRequest=structtypenonrect={id:FeedId.t[@ocaml.doc"The ID of the feed to query."]}letcontext_="GetFeedRequest"letmake~id=fun()->{id}letto_valuex=structure_to_value[("id",(Some(FeedId.to_valuex.id)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=FeedId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_map_exnjson__"id"FeedId.of_jsoninmake~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves information about the specified feed."]moduleDisassociateFeedResponse=structtypenonrect={arn:FeedArn.toption[@ocaml.doc"The ID of the feed where you deleted the associated resource."];id:FeedId.toption[@ocaml.doc"The ARN of the resource that you deleted."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestExceptionofTooManyRequestException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun()->{arn;id}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestExceptione->`Assoc[("error",(`String"TooManyRequestException"));("details",(TooManyRequestException.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[("arn",(Option.mapx.arn~f:FeedArn.to_value));("id",(Option.mapx.id~f:FeedId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=(Option.map~f:FeedId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:FeedArn.of_xml)(Xml.childxml_arg0"arn")inmake?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_mapjson__"id"FeedId.of_jsoninletarn=field_mapjson__"arn"FeedArn.of_jsoninmake?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Releases the resource (for example, an MediaLive channel) that is associated with this feed. The outputs in the feed become disabled."]moduleDisassociateFeedRequest=structtypenonrect={id:FeedId.t[@ocaml.doc"The ID of the feed where you want to release the resource."];associatedResourceName:AssociatedResourceName.t[@ocaml.doc"The name of the resource currently associated with the feed'."];dryRun:Boolean.toption[@ocaml.doc"Set to true if you want to do a dry run of the disassociate action."]}letcontext_="DisassociateFeedRequest"letmake?dryRun=fun~id->fun~associatedResourceName->fun()->{dryRun;id;associatedResourceName}letto_valuex=structure_to_value[("id",(Some(FeedId.to_valuex.id)));("associatedResourceName",(Some(AssociatedResourceName.to_valuex.associatedResourceName)));("dryRun",(Option.mapx.dryRun~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdryRun=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"dryRun")inletassociatedResourceName=AssociatedResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"associatedResourceName")inletid=FeedId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?dryRun~associatedResourceName~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdryRun=field_mapjson__"dryRun"Boolean.of_jsoninletassociatedResourceName=field_map_exnjson__"associatedResourceName"AssociatedResourceName.of_jsoninletid=field_map_exnjson__"id"FeedId.of_jsoninmake?dryRun~associatedResourceName~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Releases the resource (for example, an MediaLive channel) that is associated with this feed. The outputs in the feed become disabled."]moduleDeleteFeedResponse=structtypenonrect={arn:FeedArn.toption[@ocaml.doc"The ARN of the deleted feed."];id:FeedId.toption[@ocaml.doc"The ID of the deleted feed."];status:FeedStatus.toption[@ocaml.doc"The current status of the feed. When deletion of the feed has succeeded, the status will be DELETED."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`TooManyRequestExceptionofTooManyRequestException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun?status->fun()->{arn;id;status}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`TooManyRequestExceptione->`Assoc[("error",(`String"TooManyRequestException"));("details",(TooManyRequestException.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[("arn",(Option.mapx.arn~f:FeedArn.to_value));("id",(Option.mapx.id~f:FeedId.to_value));("status",(Option.mapx.status~f:FeedStatus.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstatus=(Option.map~f:FeedStatus.of_xml)(Xml.childxml_arg0"status")inletid=(Option.map~f:FeedId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:FeedArn.of_xml)(Xml.childxml_arg0"arn")inmake?status?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstatus=field_mapjson__"status"FeedStatus.of_jsoninletid=field_mapjson__"id"FeedId.of_jsoninletarn=field_mapjson__"arn"FeedArn.of_jsoninmake?status?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified feed. The feed can be deleted at any time."]moduleDeleteFeedRequest=structtypenonrect={id:FeedId.t[@ocaml.doc"The ID of the feed."]}letcontext_="DeleteFeedRequest"letmake~id=fun()->{id}letto_valuex=structure_to_value[("id",(Some(FeedId.to_valuex.id)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=FeedId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_map_exnjson__"id"FeedId.of_jsoninmake~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes the specified feed. The feed can be deleted at any time."]moduleCreateFeedResponse=structtypenonrect={arn:FeedArn.toption[@ocaml.doc"A unique ARN that Elemental Inference assigns to the feed."];name:ResourceName.toption[@ocaml.doc"The name that you specified."];id:FeedId.toption[@ocaml.doc"A unique ID that Elemental Inference assigns to the feed."];dataEndpoints:StringList.toption[@ocaml.doc"A unique ARN that Elemental Inference assigns to the feed."];outputs:GetOutputList.toption[@ocaml.doc"Data endpoints that Elemental Inference assigns to the feed."];status:FeedStatus.toption[@ocaml.doc"The current status of the feed. After creation of the feed has succeeded, the status will be AVAILABLE."];association:FeedAssociation.toption[@ocaml.doc"The association for this feed. When you create the feed, this property is empty. You must associate a resource with the feed using AssociateFeed."];tags:TagMap.toption[@ocaml.doc"Any tags that you included when you created the feed."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`TooManyRequestExceptionofTooManyRequestException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?name->fun?id->fun?dataEndpoints->fun?outputs->fun?status->fun?association->fun?tags->fun()->{arn;name;id;dataEndpoints;outputs;status;association;tags}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`TooManyRequestExceptione->`Assoc[("error",(`String"TooManyRequestException"));("details",(TooManyRequestException.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[("arn",(Option.mapx.arn~f:FeedArn.to_value));("name",(Option.mapx.name~f:ResourceName.to_value));("id",(Option.mapx.id~f:FeedId.to_value));("dataEndpoints",(Option.mapx.dataEndpoints~f:StringList.to_value));("outputs",(Option.mapx.outputs~f:GetOutputList.to_value));("status",(Option.mapx.status~f:FeedStatus.to_value));("association",(Option.mapx.association~f:FeedAssociation.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")inletassociation=(Option.map~f:FeedAssociation.of_xml)(Xml.childxml_arg0"association")inletstatus=(Option.map~f:FeedStatus.of_xml)(Xml.childxml_arg0"status")inletoutputs=(Option.map~f:GetOutputList.of_xml)(Xml.childxml_arg0"outputs")inletdataEndpoints=(Option.map~f:StringList.of_xml)(Xml.childxml_arg0"dataEndpoints")inletid=(Option.map~f:FeedId.of_xml)(Xml.childxml_arg0"id")inletname=(Option.map~f:ResourceName.of_xml)(Xml.childxml_arg0"name")inletarn=(Option.map~f:FeedArn.of_xml)(Xml.childxml_arg0"arn")inmake?tags?association?status?outputs?dataEndpoints?id?name?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletassociation=field_mapjson__"association"FeedAssociation.of_jsoninletstatus=field_mapjson__"status"FeedStatus.of_jsoninletoutputs=field_mapjson__"outputs"GetOutputList.of_jsoninletdataEndpoints=field_mapjson__"dataEndpoints"StringList.of_jsoninletid=field_mapjson__"id"FeedId.of_jsoninletname=field_mapjson__"name"ResourceName.of_jsoninletarn=field_mapjson__"arn"FeedArn.of_jsoninmake?tags?association?status?outputs?dataEndpoints?id?name?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a feed. The feed is the target for live streams being sent by the calling application. An example of a calling application is AWS Elemental MediaLive. After you create the feed, you can associate a resource with the feed."]moduleCreateFeedRequest=structtypenonrect={name:ResourceName.t[@ocaml.doc"A name for this feed."];outputs:CreateOutputList.t[@ocaml.doc"An array of outputs for this feed. Each output represents a specific Elemental Inference feature. For example, an output might represent the crop feature."];tags:TagMap.toption[@ocaml.doc"If you want to include tags, add them now. You won't be able to add them later."]}letcontext_="CreateFeedRequest"letmake?tags=fun~name->fun~outputs->fun()->{tags;name;outputs}letto_valuex=structure_to_value[("name",(Some(ResourceName.to_valuex.name)));("outputs",(Some(CreateOutputList.to_valuex.outputs)));("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")inletoutputs=CreateOutputList.of_xml(Xml.child_exn~context:context_xml_arg0"outputs")inletname=ResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"name")inmake?tags~outputs~name()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=lettags=field_mapjson__"tags"TagMap.of_jsoninletoutputs=field_map_exnjson__"outputs"CreateOutputList.of_jsoninletname=field_map_exnjson__"name"ResourceName.of_jsoninmake?tags~outputs~name()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Creates a feed. The feed is the target for live streams being sent by the calling application. An example of a calling application is AWS Elemental MediaLive. After you create the feed, you can associate a resource with the feed."]moduleAssociateFeedResponse=structtypenonrect={arn:FeedArn.toption[@ocaml.doc"The AWS ARN for this association."];id:FeedId.toption[@ocaml.doc"An ID for this response. It is unique in Elemental Inference for this AWS account."]}typenonrecerror=[`AccessDeniedExceptionofAccessDeniedException.t|`ConflictExceptionofConflictException.t|`InternalServerErrorExceptionofInternalServerErrorException.t|`ResourceNotFoundExceptionofResourceNotFoundException.t|`ServiceQuotaExceededExceptionofServiceQuotaExceededException.t|`TooManyRequestExceptionofTooManyRequestException.t|`ValidationExceptionofValidationException.t|`Unknown_operation_errorof(string*stringoption)]letmake?arn=fun?id->fun()->{arn;id}leterror_of_jsonnamejson=matchnamewith|"AccessDeniedException"->`AccessDeniedException(AccessDeniedException.of_jsonjson)|"ConflictException"->`ConflictException(ConflictException.of_jsonjson)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_jsonjson)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_jsonjson)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_jsonjson)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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)|"InternalServerErrorException"->`InternalServerErrorException(InternalServerErrorException.of_xmlxml)|"ResourceNotFoundException"->`ResourceNotFoundException(ResourceNotFoundException.of_xmlxml)|"ServiceQuotaExceededException"->`ServiceQuotaExceededException(ServiceQuotaExceededException.of_xmlxml)|"TooManyRequestException"->`TooManyRequestException(TooManyRequestException.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))]|`InternalServerErrorExceptione->`Assoc[("error",(`String"InternalServerErrorException"));("details",(InternalServerErrorException.to_jsone))]|`ResourceNotFoundExceptione->`Assoc[("error",(`String"ResourceNotFoundException"));("details",(ResourceNotFoundException.to_jsone))]|`ServiceQuotaExceededExceptione->`Assoc[("error",(`String"ServiceQuotaExceededException"));("details",(ServiceQuotaExceededException.to_jsone))]|`TooManyRequestExceptione->`Assoc[("error",(`String"TooManyRequestException"));("details",(TooManyRequestException.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[("arn",(Option.mapx.arn~f:FeedArn.to_value));("id",(Option.mapx.id~f:FeedId.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letid=(Option.map~f:FeedId.of_xml)(Xml.childxml_arg0"id")inletarn=(Option.map~f:FeedArn.of_xml)(Xml.childxml_arg0"arn")inmake?id?arn()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letid=field_mapjson__"id"FeedId.of_jsoninletarn=field_mapjson__"arn"FeedArn.of_jsoninmake?id?arn()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a resource with the feed. The resource provides the input that Elemental Inference needs needs in order to perform an Elemental Inference feature, such as cropping video. You always provide the resource by associating it with a feed. You can associate only one resource with each feed."]moduleAssociateFeedRequest=structtypenonrect={id:FeedId.t[@ocaml.doc"The ID of the feed."];associatedResourceName:AssociatedResourceName.t[@ocaml.doc"An identifier for the resource. If the resource is from an AWS service, this identifier must be the full ARN of that resource. Otherwise, the identifier is a name that you assign and that is appropriate for the application that owns the resource. This name must not resemble an ARN."];outputs:CreateOutputList.t[@ocaml.doc"The outputs to add to this feed. You must specify at least one output. You can later use the UpdateFeed action to change the list of outputs."];dryRun:Boolean.toption[@ocaml.doc"Set to true if you want to do a dry run of the associate action."]}letcontext_="AssociateFeedRequest"letmake?dryRun=fun~id->fun~associatedResourceName->fun~outputs->fun()->{dryRun;id;associatedResourceName;outputs}letto_valuex=structure_to_value[("id",(Some(FeedId.to_valuex.id)));("associatedResourceName",(Some(AssociatedResourceName.to_valuex.associatedResourceName)));("outputs",(Some(CreateOutputList.to_valuex.outputs)));("dryRun",(Option.mapx.dryRun~f:Boolean.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdryRun=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"dryRun")inletoutputs=CreateOutputList.of_xml(Xml.child_exn~context:context_xml_arg0"outputs")inletassociatedResourceName=AssociatedResourceName.of_xml(Xml.child_exn~context:context_xml_arg0"associatedResourceName")inletid=FeedId.of_xml(Xml.child_exn~context:context_xml_arg0"id")inmake?dryRun~outputs~associatedResourceName~id()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdryRun=field_mapjson__"dryRun"Boolean.of_jsoninletoutputs=field_map_exnjson__"outputs"CreateOutputList.of_jsoninletassociatedResourceName=field_map_exnjson__"associatedResourceName"AssociatedResourceName.of_jsoninletid=field_map_exnjson__"id"FeedId.of_jsoninmake?dryRun~outputs~associatedResourceName~id()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Associates a resource with the feed. The resource provides the input that Elemental Inference needs needs in order to perform an Elemental Inference feature, such as cropping video. You always provide the resource by associating it with a feed. You can associate only one resource with each feed."]