1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288(* 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.sagemaker_featurestore_runtimeletapiVersion="2020-07-01"letendpointPrefix="featurestore-runtime.sagemaker"letserviceFullName="Amazon SageMaker Feature Store Runtime"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[]))])moduleValueAsString=structtypenonrect=stringletcontext_="ValueAsString"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:358400)>>=(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:"ValueAsString"jletto_json=simple_to_jsonto_valueendmoduleFeatureName=structtypenonrect=stringletcontext_="FeatureName"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:64)>>=(fun()->check_patterni~pattern:"^[a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63}")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FeatureName"jletto_json=simple_to_jsonto_valueendmoduleValueAsStringList=structtypenonrect=ValueAsString.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:358400)>>=(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:ValueAsString.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:ValueAsString.of_xml)letof_jsonj=list_of_json~kind:"ValueAsStringList"~of_json:ValueAsString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFeatureValue=structtypenonrect={featureName:FeatureName.t[@ocaml.doc"The name of a feature that a feature value corresponds to."];valueAsString:ValueAsString.toption[@ocaml.doc"The value in string format associated with a feature. Used when your CollectionType is None. Note that features types can be String, Integral, or Fractional. This value represents all three types as a string."];valueAsStringList:ValueAsStringList.toption[@ocaml.doc"The list of values in string format associated with a feature. Used when your CollectionType is a List, Set, or Vector. Note that features types can be String, Integral, or Fractional. These values represents all three types as a string."]}letcontext_="FeatureValue"letmake?valueAsString=fun?valueAsStringList->fun~featureName->fun()->{valueAsString;valueAsStringList;featureName}letto_valuex=structure_to_value[("FeatureName",(Some(FeatureName.to_valuex.featureName)));("ValueAsString",(Option.mapx.valueAsString~f:ValueAsString.to_value));("ValueAsStringList",(Option.mapx.valueAsStringList~f:ValueAsStringList.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalueAsStringList=(Option.map~f:ValueAsStringList.of_xml)(Xml.childxml_arg0"ValueAsStringList")inletvalueAsString=(Option.map~f:ValueAsString.of_xml)(Xml.childxml_arg0"ValueAsString")inletfeatureName=FeatureName.of_xml(Xml.child_exn~context:context_xml_arg0"FeatureName")inmake?valueAsStringList?valueAsString~featureName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalueAsStringList=field_mapjson__"ValueAsStringList"ValueAsStringList.of_jsoninletvalueAsString=field_mapjson__"ValueAsString"ValueAsString.of_jsoninletfeatureName=field_map_exnjson__"FeatureName"FeatureName.of_jsoninmake?valueAsStringList?valueAsString~featureName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The value associated with a feature."]moduleMessage=structtypenonrect=stringletcontext_="Message"letmakei=letopenResultinok_or_failwith(check_string_maxi~max:2048);iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"Message"jletto_json=simple_to_jsonto_valueendmoduleExpiresAt=structtypenonrect=stringletcontext_="ExpiresAt"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:"ExpiresAt"jletto_json=simple_to_jsonto_valueendmoduleRecord=structtypenonrect=FeatureValue.tlistletmakei=letopenResultinok_or_failwith(check_list_mini~min:1);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:FeatureValue.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:FeatureValue.of_xml)letof_jsonj=list_of_json~kind:"Record"~of_json:FeatureValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleFeatureGroupNameOrArn=structtypenonrect=stringletcontext_="FeatureGroupNameOrArn"letmakei=letopenResultinok_or_failwith((check_string_mini~min:1)>>=(fun()->(check_string_maxi~max:150)>>=(fun()->check_patterni~pattern:"(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:feature-group/)?([a-zA-Z0-9]([-_]*[a-zA-Z0-9]){0,63})")));iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"FeatureGroupNameOrArn"jletto_json=simple_to_jsonto_valueendmoduleFeatureNames=structtypenonrect=FeatureName.tlistletmakei=letopenResultinok_or_failwith(check_list_mini~min:1);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:FeatureName.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:FeatureName.of_xml)letof_jsonj=list_of_json~kind:"FeatureNames"~of_json:FeatureName.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleRecordIdentifiers=structtypenonrect=ValueAsString.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:ValueAsString.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:ValueAsString.of_xml)letof_jsonj=list_of_json~kind:"RecordIdentifiers"~of_json:ValueAsString.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTargetStore=structtypenonrect=|OnlineStore|OfflineStore|Non_static_idofstringletmakei=iletto_string=function|OnlineStore->"OnlineStore"|OfflineStore->"OfflineStore"|Non_static_ids->sletof_string=function|"OnlineStore"->OnlineStore|"OfflineStore"->OfflineStore|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 TargetStore"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TargetStore"j)letto_json=simple_to_jsonto_valueendmoduleTtlDurationUnit=structtypenonrect=|Seconds|Minutes|Hours|Days|Weeks|Non_static_idofstringletmakei=iletto_string=function|Seconds->"Seconds"|Minutes->"Minutes"|Hours->"Hours"|Days->"Days"|Weeks->"Weeks"|Non_static_ids->sletof_string=function|"Seconds"->Seconds|"Minutes"->Minutes|"Hours"->Hours|"Days"->Days|"Weeks"->Weeks|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 TtlDurationUnit"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"TtlDurationUnit"j)letto_json=simple_to_jsonto_valueendmoduleTtlDurationValue=structtypenonrect=intletmakei=letopenResultinok_or_failwith(check_int_mini~min:1);iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for TtlDurationValue"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleBatchGetRecordError=structtypenonrect={featureGroupName:ValueAsString.toption[@ocaml.doc"The name of the feature group that the record belongs to."];recordIdentifierValueAsString:ValueAsString.toption[@ocaml.doc"The value for the RecordIdentifier in string format of a Record from a FeatureGroup that is causing an error when attempting to be retrieved."];errorCode:ValueAsString.toption[@ocaml.doc"The error code of an error that has occurred when attempting to retrieve a batch of Records. For more information on errors, see Errors."];errorMessage:Message.toption[@ocaml.doc"The error message of an error that has occurred when attempting to retrieve a record in the batch."]}letmake?featureGroupName=fun?recordIdentifierValueAsString->fun?errorCode->fun?errorMessage->fun()->{featureGroupName;recordIdentifierValueAsString;errorCode;errorMessage}letto_valuex=structure_to_value[("FeatureGroupName",(Option.mapx.featureGroupName~f:ValueAsString.to_value));("RecordIdentifierValueAsString",(Option.mapx.recordIdentifierValueAsString~f:ValueAsString.to_value));("ErrorCode",(Option.mapx.errorCode~f:ValueAsString.to_value));("ErrorMessage",(Option.mapx.errorMessage~f:Message.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=leterrorMessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"ErrorMessage")inleterrorCode=(Option.map~f:ValueAsString.of_xml)(Xml.childxml_arg0"ErrorCode")inletrecordIdentifierValueAsString=(Option.map~f:ValueAsString.of_xml)(Xml.childxml_arg0"RecordIdentifierValueAsString")inletfeatureGroupName=(Option.map~f:ValueAsString.of_xml)(Xml.childxml_arg0"FeatureGroupName")inmake?errorMessage?errorCode?recordIdentifierValueAsString?featureGroupName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=leterrorMessage=field_mapjson__"ErrorMessage"Message.of_jsoninleterrorCode=field_mapjson__"ErrorCode"ValueAsString.of_jsoninletrecordIdentifierValueAsString=field_mapjson__"RecordIdentifierValueAsString"ValueAsString.of_jsoninletfeatureGroupName=field_mapjson__"FeatureGroupName"ValueAsString.of_jsoninmake?errorMessage?errorCode?recordIdentifierValueAsString?featureGroupName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The error that has occurred when attempting to retrieve a batch of Records."]moduleBatchGetRecordResultDetail=structtypenonrect={featureGroupName:ValueAsString.toption[@ocaml.doc"The FeatureGroupName containing Records you retrieved in a batch."];recordIdentifierValueAsString:ValueAsString.toption[@ocaml.doc"The value of the record identifier in string format."];record:Record.toption[@ocaml.doc"The Record retrieved."];expiresAt:ExpiresAt.toption[@ocaml.doc"The ExpiresAt ISO string of the requested record."]}letmake?featureGroupName=fun?recordIdentifierValueAsString->fun?record->fun?expiresAt->fun()->{featureGroupName;recordIdentifierValueAsString;record;expiresAt}letto_valuex=structure_to_value[("FeatureGroupName",(Option.mapx.featureGroupName~f:ValueAsString.to_value));("RecordIdentifierValueAsString",(Option.mapx.recordIdentifierValueAsString~f:ValueAsString.to_value));("Record",(Option.mapx.record~f:Record.to_value));("ExpiresAt",(Option.mapx.expiresAt~f:ExpiresAt.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpiresAt=(Option.map~f:ExpiresAt.of_xml)(Xml.childxml_arg0"ExpiresAt")inletrecord=(Option.map~f:Record.of_xml)(Xml.childxml_arg0"Record")inletrecordIdentifierValueAsString=(Option.map~f:ValueAsString.of_xml)(Xml.childxml_arg0"RecordIdentifierValueAsString")inletfeatureGroupName=(Option.map~f:ValueAsString.of_xml)(Xml.childxml_arg0"FeatureGroupName")inmake?expiresAt?record?recordIdentifierValueAsString?featureGroupName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpiresAt=field_mapjson__"ExpiresAt"ExpiresAt.of_jsoninletrecord=field_mapjson__"Record"Record.of_jsoninletrecordIdentifierValueAsString=field_mapjson__"RecordIdentifierValueAsString"ValueAsString.of_jsoninletfeatureGroupName=field_mapjson__"FeatureGroupName"ValueAsString.of_jsoninmake?expiresAt?record?recordIdentifierValueAsString?featureGroupName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The output of records that have been retrieved in a batch."]moduleBatchGetRecordIdentifier=structtypenonrect={featureGroupName:FeatureGroupNameOrArn.t[@ocaml.doc"The name or Amazon Resource Name (ARN) of the FeatureGroup containing the records you are retrieving in a batch."];recordIdentifiersValueAsString:RecordIdentifiers.t[@ocaml.doc"The value for a list of record identifiers in string format."];featureNames:FeatureNames.toption[@ocaml.doc"List of names of Features to be retrieved. If not specified, the latest value for all the Features are returned."]}letcontext_="BatchGetRecordIdentifier"letmake?featureNames=fun~featureGroupName->fun~recordIdentifiersValueAsString->fun()->{featureNames;featureGroupName;recordIdentifiersValueAsString}letto_valuex=structure_to_value[("FeatureGroupName",(Some(FeatureGroupNameOrArn.to_valuex.featureGroupName)));("RecordIdentifiersValueAsString",(Some(RecordIdentifiers.to_valuex.recordIdentifiersValueAsString)));("FeatureNames",(Option.mapx.featureNames~f:FeatureNames.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letfeatureNames=(Option.map~f:FeatureNames.of_xml)(Xml.childxml_arg0"FeatureNames")inletrecordIdentifiersValueAsString=RecordIdentifiers.of_xml(Xml.child_exn~context:context_xml_arg0"RecordIdentifiersValueAsString")inletfeatureGroupName=FeatureGroupNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"FeatureGroupName")inmake?featureNames~recordIdentifiersValueAsString~featureGroupName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letfeatureNames=field_mapjson__"FeatureNames"FeatureNames.of_jsoninletrecordIdentifiersValueAsString=field_map_exnjson__"RecordIdentifiersValueAsString"RecordIdentifiers.of_jsoninletfeatureGroupName=field_map_exnjson__"FeatureGroupName"FeatureGroupNameOrArn.of_jsoninmake?featureNames~recordIdentifiersValueAsString~featureGroupName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The identifier that identifies the batch of Records you are retrieving in a batch."]moduleTargetStores=structtypenonrect=TargetStore.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:2)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:TargetStore.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:TargetStore.of_xml)letof_jsonj=list_of_json~kind:"TargetStores"~of_json:TargetStore.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleTtlDuration=structtypenonrect={unit:TtlDurationUnit.t[@ocaml.doc"TtlDuration time unit."];value:TtlDurationValue.t[@ocaml.doc"TtlDuration time value."]}letcontext_="TtlDuration"letmake~unit=fun~value->fun()->{unit;value}letto_valuex=structure_to_value[("Unit",(Some(TtlDurationUnit.to_valuex.unit)));("Value",(Some(TtlDurationValue.to_valuex.value)))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letvalue=TtlDurationValue.of_xml(Xml.child_exn~context:context_xml_arg0"Value")inletunit=TtlDurationUnit.of_xml(Xml.child_exn~context:context_xml_arg0"Unit")inmake~value~unit()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letvalue=field_map_exnjson__"Value"TtlDurationValue.of_jsoninletunit=field_map_exnjson__"Unit"TtlDurationUnit.of_jsoninmake~value~unit()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Time to live duration, where the record is hard deleted after the expiration time is reached; ExpiresAt = EventTime + TtlDuration. For information on HardDelete, see the DeleteRecord API in the Amazon SageMaker API Reference guide."]moduleAccessForbidden=structtypenonrect={message:Message.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:Message.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"Message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"Message.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"You do not have permission to perform an action."]moduleInternalFailure=structtypenonrect={message:Message.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:Message.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"Message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"Message.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An internal failure occurred. Try your request again. If the problem persists, contact Amazon Web Services customer support."]moduleResourceNotFound=structtypenonrect={message:Message.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:Message.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"Message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"Message.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"A resource that is required to perform an action was not found."]moduleServiceUnavailable=structtypenonrect={message:Message.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:Message.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"Message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"Message.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The service is currently unavailable."]moduleValidationError=structtypenonrect={message:Message.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("Message",(Option.mapx.message~f:Message.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:Message.of_xml)(Xml.childxml_arg0"Message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"Message"Message.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"There was an error validating your request."]moduleExpirationTimeResponse=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 ExpirationTimeResponse"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"ExpirationTimeResponse"j)letto_json=simple_to_jsonto_valueendmoduleDeletionMode=structtypenonrect=|SoftDelete|HardDelete|Non_static_idofstringletmakei=iletto_string=function|SoftDelete->"SoftDelete"|HardDelete->"HardDelete"|Non_static_ids->sletof_string=function|"SoftDelete"->SoftDelete|"HardDelete"->HardDelete|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 DeletionMode"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"DeletionMode"j)letto_json=simple_to_jsonto_valueendmoduleBatchGetRecordErrors=structtypenonrect=BatchGetRecordError.tlistletmakei=letopenResultinok_or_failwith(check_list_mini~min:0);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchGetRecordError.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:BatchGetRecordError.of_xml)letof_jsonj=list_of_json~kind:"BatchGetRecordErrors"~of_json:BatchGetRecordError.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchGetRecordResultDetails=structtypenonrect=BatchGetRecordResultDetail.tlistletmakei=letopenResultinok_or_failwith(check_list_mini~min:0);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchGetRecordResultDetail.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:BatchGetRecordResultDetail.of_xml)letof_jsonj=list_of_json~kind:"BatchGetRecordResultDetails"~of_json:BatchGetRecordResultDetail.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleUnprocessedIdentifiers=structtypenonrect=BatchGetRecordIdentifier.tlistletmakei=letopenResultinok_or_failwith(check_list_mini~min:0);iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchGetRecordIdentifier.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:BatchGetRecordIdentifier.of_xml)letof_jsonj=list_of_json~kind:"UnprocessedIdentifiers"~of_json:BatchGetRecordIdentifier.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleBatchGetRecordIdentifiers=structtypenonrect=BatchGetRecordIdentifier.tlistletmakei=letopenResultinok_or_failwith((check_list_maxi~max:100)>>=(fun()->check_list_mini~min:1));iletof_string_=failwithf"of_string is not implemented for List_shape objects"()[@@warning"-32"]letto_valuexs=(xs|>(List.map~f:BatchGetRecordIdentifier.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:BatchGetRecordIdentifier.of_xml)letof_jsonj=list_of_json~kind:"BatchGetRecordIdentifiers"~of_json:BatchGetRecordIdentifier.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePutRecordRequest=structtypenonrect={featureGroupName:FeatureGroupNameOrArn.t[@ocaml.doc"The name or Amazon Resource Name (ARN) of the feature group that you want to insert the record into."];record:Record.t[@ocaml.doc"List of FeatureValues to be inserted. This will be a full over-write. If you only want to update few of the feature values, do the following: Use GetRecord to retrieve the latest record. Update the record returned from GetRecord. Use PutRecord to update feature values."];targetStores:TargetStores.toption[@ocaml.doc"A list of stores to which you're adding the record. By default, Feature Store adds the record to all of the stores that you're using for the FeatureGroup."];ttlDuration:TtlDuration.toption[@ocaml.doc"Time to live duration, where the record is hard deleted after the expiration time is reached; ExpiresAt = EventTime + TtlDuration. For information on HardDelete, see the DeleteRecord API in the Amazon SageMaker API Reference guide."]}letcontext_="PutRecordRequest"letmake?targetStores=fun?ttlDuration->fun~featureGroupName->fun~record->fun()->{targetStores;ttlDuration;featureGroupName;record}letto_valuex=structure_to_value[("FeatureGroupName",(Some(FeatureGroupNameOrArn.to_valuex.featureGroupName)));("Record",(Some(Record.to_valuex.record)));("TargetStores",(Option.mapx.targetStores~f:TargetStores.to_value));("TtlDuration",(Option.mapx.ttlDuration~f:TtlDuration.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letttlDuration=(Option.map~f:TtlDuration.of_xml)(Xml.childxml_arg0"TtlDuration")inlettargetStores=(Option.map~f:TargetStores.of_xml)(Xml.childxml_arg0"TargetStores")inletrecord=Record.of_xml(Xml.child_exn~context:context_xml_arg0"Record")inletfeatureGroupName=FeatureGroupNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"FeatureGroupName")inmake?ttlDuration?targetStores~record~featureGroupName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letttlDuration=field_mapjson__"TtlDuration"TtlDuration.of_jsoninlettargetStores=field_mapjson__"TargetStores"TargetStores.of_jsoninletrecord=field_map_exnjson__"Record"Record.of_jsoninletfeatureGroupName=field_map_exnjson__"FeatureGroupName"FeatureGroupNameOrArn.of_jsoninmake?ttlDuration?targetStores~record~featureGroupName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The PutRecord API is used to ingest a list of Records into your feature group. If a new record\226\128\153s EventTime is greater, the new record is written to both the OnlineStore and OfflineStore. Otherwise, the record is a historic record and it is written only to the OfflineStore. You can specify the ingestion to be applied to the OnlineStore, OfflineStore, or both by using the TargetStores request parameter. You can set the ingested record to expire at a given time to live (TTL) duration after the record\226\128\153s event time, ExpiresAt = EventTime + TtlDuration, by specifying the TtlDuration parameter. A record level TtlDuration is set when specifying the TtlDuration parameter using the PutRecord API call. If the input TtlDuration is null or unspecified, TtlDuration is set to the default feature group level TtlDuration. A record level TtlDuration supersedes the group level TtlDuration."]moduleGetRecordResponse=structtypenonrect={record:Record.toption[@ocaml.doc"The record you requested. A list of FeatureValues."];expiresAt:ExpiresAt.toption[@ocaml.doc"The ExpiresAt ISO string of the requested record."]}typenonrecerror=[`AccessForbiddenofAccessForbidden.t|`InternalFailureofInternalFailure.t|`ResourceNotFoundofResourceNotFound.t|`ServiceUnavailableofServiceUnavailable.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?record=fun?expiresAt->fun()->{record;expiresAt}leterror_of_jsonnamejson=matchnamewith|"AccessForbidden"->`AccessForbidden(AccessForbidden.of_jsonjson)|"InternalFailure"->`InternalFailure(InternalFailure.of_jsonjson)|"ResourceNotFound"->`ResourceNotFound(ResourceNotFound.of_jsonjson)|"ServiceUnavailable"->`ServiceUnavailable(ServiceUnavailable.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessForbidden"->`AccessForbidden(AccessForbidden.of_xmlxml)|"InternalFailure"->`InternalFailure(InternalFailure.of_xmlxml)|"ResourceNotFound"->`ResourceNotFound(ResourceNotFound.of_xmlxml)|"ServiceUnavailable"->`ServiceUnavailable(ServiceUnavailable.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessForbiddene->`Assoc[("error",(`String"AccessForbidden"));("details",(AccessForbidden.to_jsone))]|`InternalFailuree->`Assoc[("error",(`String"InternalFailure"));("details",(InternalFailure.to_jsone))]|`ResourceNotFounde->`Assoc[("error",(`String"ResourceNotFound"));("details",(ResourceNotFound.to_jsone))]|`ServiceUnavailablee->`Assoc[("error",(`String"ServiceUnavailable"));("details",(ServiceUnavailable.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Record",(Option.mapx.record~f:Record.to_value));("ExpiresAt",(Option.mapx.expiresAt~f:ExpiresAt.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpiresAt=(Option.map~f:ExpiresAt.of_xml)(Xml.childxml_arg0"ExpiresAt")inletrecord=(Option.map~f:Record.of_xml)(Xml.childxml_arg0"Record")inmake?expiresAt?record()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpiresAt=field_mapjson__"ExpiresAt"ExpiresAt.of_jsoninletrecord=field_mapjson__"Record"Record.of_jsoninmake?expiresAt?record()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Use for OnlineStore serving from a FeatureStore. Only the latest records stored in the OnlineStore can be retrieved. If no Record with RecordIdentifierValue is found, then an empty result is returned."]moduleGetRecordRequest=structtypenonrect={featureGroupName:FeatureGroupNameOrArn.t[@ocaml.doc"The name or Amazon Resource Name (ARN) of the feature group from which you want to retrieve a record."];recordIdentifierValueAsString:ValueAsString.t[@ocaml.doc"The value that corresponds to RecordIdentifier type and uniquely identifies the record in the FeatureGroup."];featureNames:FeatureNames.toption[@ocaml.doc"List of names of Features to be retrieved. If not specified, the latest value for all the Features are returned."];expirationTimeResponse:ExpirationTimeResponse.toption[@ocaml.doc"Parameter to request ExpiresAt in response. If Enabled, GetRecord will return the value of ExpiresAt, if it is not null. If Disabled and null, GetRecord will return null."]}letcontext_="GetRecordRequest"letmake?featureNames=fun?expirationTimeResponse->fun~featureGroupName->fun~recordIdentifierValueAsString->fun()->{featureNames;expirationTimeResponse;featureGroupName;recordIdentifierValueAsString}letto_valuex=structure_to_value[("FeatureGroupName",(Some(FeatureGroupNameOrArn.to_valuex.featureGroupName)));("RecordIdentifierValueAsString",(Some(ValueAsString.to_valuex.recordIdentifierValueAsString)));("FeatureName",(Option.mapx.featureNames~f:FeatureNames.to_value));("ExpirationTimeResponse",(Option.mapx.expirationTimeResponse~f:ExpirationTimeResponse.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationTimeResponse=(Option.map~f:ExpirationTimeResponse.of_xml)(Xml.childxml_arg0"ExpirationTimeResponse")inletfeatureNames=(Option.map~f:FeatureNames.of_xml)(Xml.childxml_arg0"FeatureName")inletrecordIdentifierValueAsString=ValueAsString.of_xml(Xml.child_exn~context:context_xml_arg0"RecordIdentifierValueAsString")inletfeatureGroupName=FeatureGroupNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"FeatureGroupName")inmake?expirationTimeResponse?featureNames~recordIdentifierValueAsString~featureGroupName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationTimeResponse=field_mapjson__"ExpirationTimeResponse"ExpirationTimeResponse.of_jsoninletfeatureNames=field_mapjson__"FeatureNames"FeatureNames.of_jsoninletrecordIdentifierValueAsString=field_map_exnjson__"RecordIdentifierValueAsString"ValueAsString.of_jsoninletfeatureGroupName=field_map_exnjson__"FeatureGroupName"FeatureGroupNameOrArn.of_jsoninmake?expirationTimeResponse?featureNames~recordIdentifierValueAsString~featureGroupName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Use for OnlineStore serving from a FeatureStore. Only the latest records stored in the OnlineStore can be retrieved. If no Record with RecordIdentifierValue is found, then an empty result is returned."]moduleDeleteRecordRequest=structtypenonrect={featureGroupName:FeatureGroupNameOrArn.t[@ocaml.doc"The name or Amazon Resource Name (ARN) of the feature group to delete the record from."];recordIdentifierValueAsString:ValueAsString.t[@ocaml.doc"The value for the RecordIdentifier that uniquely identifies the record, in string format."];eventTime:ValueAsString.t[@ocaml.doc"Timestamp indicating when the deletion event occurred. EventTime can be used to query data at a certain point in time."];targetStores:TargetStores.toption[@ocaml.doc"A list of stores from which you're deleting the record. By default, Feature Store deletes the record from all of the stores that you're using for the FeatureGroup."];deletionMode:DeletionMode.toption[@ocaml.doc"The name of the deletion mode for deleting the record. By default, the deletion mode is set to SoftDelete."]}letcontext_="DeleteRecordRequest"letmake?targetStores=fun?deletionMode->fun~featureGroupName->fun~recordIdentifierValueAsString->fun~eventTime->fun()->{targetStores;deletionMode;featureGroupName;recordIdentifierValueAsString;eventTime}letto_valuex=structure_to_value[("FeatureGroupName",(Some(FeatureGroupNameOrArn.to_valuex.featureGroupName)));("RecordIdentifierValueAsString",(Some(ValueAsString.to_valuex.recordIdentifierValueAsString)));("EventTime",(Some(ValueAsString.to_valuex.eventTime)));("TargetStores",(Option.mapx.targetStores~f:TargetStores.to_value));("DeletionMode",(Option.mapx.deletionMode~f:DeletionMode.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letdeletionMode=(Option.map~f:DeletionMode.of_xml)(Xml.childxml_arg0"DeletionMode")inlettargetStores=(Option.map~f:TargetStores.of_xml)(Xml.childxml_arg0"TargetStores")inleteventTime=ValueAsString.of_xml(Xml.child_exn~context:context_xml_arg0"EventTime")inletrecordIdentifierValueAsString=ValueAsString.of_xml(Xml.child_exn~context:context_xml_arg0"RecordIdentifierValueAsString")inletfeatureGroupName=FeatureGroupNameOrArn.of_xml(Xml.child_exn~context:context_xml_arg0"FeatureGroupName")inmake?deletionMode?targetStores~eventTime~recordIdentifierValueAsString~featureGroupName()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letdeletionMode=field_mapjson__"DeletionMode"DeletionMode.of_jsoninlettargetStores=field_mapjson__"TargetStores"TargetStores.of_jsoninleteventTime=field_map_exnjson__"EventTime"ValueAsString.of_jsoninletrecordIdentifierValueAsString=field_map_exnjson__"RecordIdentifierValueAsString"ValueAsString.of_jsoninletfeatureGroupName=field_map_exnjson__"FeatureGroupName"FeatureGroupNameOrArn.of_jsoninmake?deletionMode?targetStores~eventTime~recordIdentifierValueAsString~featureGroupName()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Deletes a Record from a FeatureGroup in the OnlineStore. Feature Store supports both SoftDelete and HardDelete. For SoftDelete (default), feature columns are set to null and the record is no longer retrievable by GetRecord or BatchGetRecord. For HardDelete, the complete Record is removed from the OnlineStore. In both cases, Feature Store appends the deleted record marker to the OfflineStore. The deleted record marker is a record with the same RecordIdentifer as the original, but with is_deleted value set to True, EventTime set to the delete input EventTime, and other feature values set to null. Note that the EventTime specified in DeleteRecord should be set later than the EventTime of the existing record in the OnlineStore for that RecordIdentifer. If it is not, the deletion does not occur: For SoftDelete, the existing (not deleted) record remains in the OnlineStore, though the delete record marker is still written to the OfflineStore. HardDelete returns EventTime: 400 ValidationException to indicate that the delete operation failed. No delete record marker is written to the OfflineStore. When a record is deleted from the OnlineStore, the deleted record marker is appended to the OfflineStore. If you have the Iceberg table format enabled for your OfflineStore, you can remove all history of a record from the OfflineStore using Amazon Athena or Apache Spark. For information on how to hard delete a record from the OfflineStore with the Iceberg table format enabled, see Delete records from the offline store."]moduleBatchGetRecordResponse=structtypenonrect={records:BatchGetRecordResultDetails.toption[@ocaml.doc"A list of Records you requested to be retrieved in batch."];errors:BatchGetRecordErrors.toption[@ocaml.doc"A list of errors that have occurred when retrieving a batch of Records."];unprocessedIdentifiers:UnprocessedIdentifiers.toption[@ocaml.doc"A unprocessed list of FeatureGroup names, with their corresponding RecordIdentifier value, and Feature name."]}typenonrecerror=[`AccessForbiddenofAccessForbidden.t|`InternalFailureofInternalFailure.t|`ServiceUnavailableofServiceUnavailable.t|`ValidationErrorofValidationError.t|`Unknown_operation_errorof(string*stringoption)]letmake?records=fun?errors->fun?unprocessedIdentifiers->fun()->{records;errors;unprocessedIdentifiers}leterror_of_jsonnamejson=matchnamewith|"AccessForbidden"->`AccessForbidden(AccessForbidden.of_jsonjson)|"InternalFailure"->`InternalFailure(InternalFailure.of_jsonjson)|"ServiceUnavailable"->`ServiceUnavailable(ServiceUnavailable.of_jsonjson)|"ValidationError"->`ValidationError(ValidationError.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"AccessForbidden"->`AccessForbidden(AccessForbidden.of_xmlxml)|"InternalFailure"->`InternalFailure(InternalFailure.of_xmlxml)|"ServiceUnavailable"->`ServiceUnavailable(ServiceUnavailable.of_xmlxml)|"ValidationError"->`ValidationError(ValidationError.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`AccessForbiddene->`Assoc[("error",(`String"AccessForbidden"));("details",(AccessForbidden.to_jsone))]|`InternalFailuree->`Assoc[("error",(`String"InternalFailure"));("details",(InternalFailure.to_jsone))]|`ServiceUnavailablee->`Assoc[("error",(`String"ServiceUnavailable"));("details",(ServiceUnavailable.to_jsone))]|`ValidationErrore->`Assoc[("error",(`String"ValidationError"));("details",(ValidationError.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Records",(Option.mapx.records~f:BatchGetRecordResultDetails.to_value));("Errors",(Option.mapx.errors~f:BatchGetRecordErrors.to_value));("UnprocessedIdentifiers",(Option.mapx.unprocessedIdentifiers~f:UnprocessedIdentifiers.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letunprocessedIdentifiers=(Option.map~f:UnprocessedIdentifiers.of_xml)(Xml.childxml_arg0"UnprocessedIdentifiers")inleterrors=(Option.map~f:BatchGetRecordErrors.of_xml)(Xml.childxml_arg0"Errors")inletrecords=(Option.map~f:BatchGetRecordResultDetails.of_xml)(Xml.childxml_arg0"Records")inmake?unprocessedIdentifiers?errors?records()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letunprocessedIdentifiers=field_mapjson__"UnprocessedIdentifiers"UnprocessedIdentifiers.of_jsoninleterrors=field_mapjson__"Errors"BatchGetRecordErrors.of_jsoninletrecords=field_mapjson__"Records"BatchGetRecordResultDetails.of_jsoninmake?unprocessedIdentifiers?errors?records()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a batch of Records from a FeatureGroup."]moduleBatchGetRecordRequest=structtypenonrect={identifiers:BatchGetRecordIdentifiers.t[@ocaml.doc"A list containing the name or Amazon Resource Name (ARN) of the FeatureGroup, the list of names of Features to be retrieved, and the corresponding RecordIdentifier values as strings."];expirationTimeResponse:ExpirationTimeResponse.toption[@ocaml.doc"Parameter to request ExpiresAt in response. If Enabled, BatchGetRecord will return the value of ExpiresAt, if it is not null. If Disabled and null, BatchGetRecord will return null."]}letcontext_="BatchGetRecordRequest"letmake?expirationTimeResponse=fun~identifiers->fun()->{expirationTimeResponse;identifiers}letto_valuex=structure_to_value[("Identifiers",(Some(BatchGetRecordIdentifiers.to_valuex.identifiers)));("ExpirationTimeResponse",(Option.mapx.expirationTimeResponse~f:ExpirationTimeResponse.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letexpirationTimeResponse=(Option.map~f:ExpirationTimeResponse.of_xml)(Xml.childxml_arg0"ExpirationTimeResponse")inletidentifiers=BatchGetRecordIdentifiers.of_xml(Xml.child_exn~context:context_xml_arg0"Identifiers")inmake?expirationTimeResponse~identifiers()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letexpirationTimeResponse=field_mapjson__"ExpirationTimeResponse"ExpirationTimeResponse.of_jsoninletidentifiers=field_map_exnjson__"Identifiers"BatchGetRecordIdentifiers.of_jsoninmake?expirationTimeResponse~identifiers()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"Retrieves a batch of Records from a FeatureGroup."]