123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623(* 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.marketplace_entitlementletapiVersion="2017-01-11"letendpointPrefix="entitlement.marketplace"letserviceFullName="AWS Marketplace Entitlement Service"letsignatureVersion="v4"letprotocol="json"letglobalEndpoint=endpointPrefix^".amazonaws.com"lettargetPrefix="AWSMPEntitlementService"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[]))])moduleBoolean=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_valueendmoduleDouble=structtypenonrect=floatletmakei=iletof_string=Float.of_stringletto_valuex=`Doublexletto_queryv=to_queryto_valuevletto_headerx=Stdlib.Float.to_stringxletof_xmlxml_arg0=Float.of_string(string_of_xml~kind:"a double"xml_arg0)letof_jsonj=float_of_json~kind:"a double"jletto_json=simple_to_jsonto_valueendmoduleInteger=structtypenonrect=intletmakei=iletof_string=Int.of_stringletto_valuex=`Integerxletto_queryv=to_queryto_valuevletto_headerx=Int.to_stringxletof_xmlxml_arg0=Int.of_string(string_of_xml~kind:"an integer for Integer"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_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_valueendmoduleEntitlementValue=structtypenonrect={integerValue:Integer.toption[@ocaml.doc"The IntegerValue field will be populated with an integer value when the entitlement is an integer type. Otherwise, the field will not be set."];doubleValue:Double.toption[@ocaml.doc"The DoubleValue field will be populated with a double value when the entitlement is a double type. Otherwise, the field will not be set."];booleanValue:Boolean.toption[@ocaml.doc"The BooleanValue field will be populated with a boolean value when the entitlement is a boolean type. Otherwise, the field will not be set."];stringValue:String_.toption[@ocaml.doc"The StringValue field will be populated with a string value when the entitlement is a string type. Otherwise, the field will not be set."]}letmake?integerValue=fun?doubleValue->fun?booleanValue->fun?stringValue->fun()->{integerValue;doubleValue;booleanValue;stringValue}letto_valuex=structure_to_value[("IntegerValue",(Option.mapx.integerValue~f:Integer.to_value));("DoubleValue",(Option.mapx.doubleValue~f:Double.to_value));("BooleanValue",(Option.mapx.booleanValue~f:Boolean.to_value));("StringValue",(Option.mapx.stringValue~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letstringValue=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"StringValue")inletbooleanValue=(Option.map~f:Boolean.of_xml)(Xml.childxml_arg0"BooleanValue")inletdoubleValue=(Option.map~f:Double.of_xml)(Xml.childxml_arg0"DoubleValue")inletintegerValue=(Option.map~f:Integer.of_xml)(Xml.childxml_arg0"IntegerValue")inmake?stringValue?booleanValue?doubleValue?integerValue()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letstringValue=field_mapjson__"StringValue"String_.of_jsoninletbooleanValue=field_mapjson__"BooleanValue"Boolean.of_jsoninletdoubleValue=field_mapjson__"DoubleValue"Double.of_jsoninletintegerValue=field_mapjson__"IntegerValue"Integer.of_jsoninmake?stringValue?booleanValue?doubleValue?integerValue()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The EntitlementValue represents the amount of capacity that the customer is entitled to for the product."]moduleNonEmptyString=structtypenonrect=stringletcontext_="NonEmptyString"letmakei=letopenResultinok_or_failwith(check_patterni~pattern:"\\S+");iletof_stringx=xletto_valuex=`Stringxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=Xml.string_data_exn~context:context_letof_jsonj=string_of_json~kind:"NonEmptyString"jletto_json=simple_to_jsonto_valueendmoduleProductCode=structtypenonrect=stringletcontext_="ProductCode"letmakei=letopenResultinok_or_failwith((check_string_maxi~max:255)>>=(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:"ProductCode"jletto_json=simple_to_jsonto_valueendmoduleTimestamp=structtypenonrect=stringletmakei=iletof_stringx=xletto_valuex=`Timestampxletto_queryv=to_queryto_valuevletto_headerx=xletof_xml=string_of_xml~kind:"a timestamp"letof_json=timestamp_of_jsonletto_json=simple_to_jsonto_valueendmoduleFilterValue=structtypenonrect=stringletcontext_="FilterValue"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:"FilterValue"jletto_json=simple_to_jsonto_valueendmoduleEntitlement=structtypenonrect={productCode:ProductCode.toption[@ocaml.doc"The product code for which the given entitlement applies. Product codes are provided by AWS Marketplace when the product listing is created."];dimension:NonEmptyString.toption[@ocaml.doc"The dimension for which the given entitlement applies. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace."];customerIdentifier:NonEmptyString.toption[@ocaml.doc"The customer identifier is a handle to each unique customer in an application. Customer identifiers are obtained through the ResolveCustomer operation in AWS Marketplace Metering Service."];customerAWSAccountId:NonEmptyString.toption[@ocaml.doc"The CustomerAWSAccountId parameter specifies the AWS account ID of the buyer."];value:EntitlementValue.toption[@ocaml.doc"The EntitlementValue represents the amount of capacity that the customer is entitled to for the product."];expirationDate:Timestamp.toption[@ocaml.doc"The expiration date represents the minimum date through which this entitlement is expected to remain valid. For contractual products listed on AWS Marketplace, the expiration date is the date at which the customer will renew or cancel their contract. Customers who are opting to renew their contract will still have entitlements with an expiration date."];licenseArn:String_.toption[@ocaml.doc"The LicenseArn is a unique identifier for a specific granted license. These are used for software purchased through AWS Marketplace."]}letmake?productCode=fun?dimension->fun?customerIdentifier->fun?customerAWSAccountId->fun?value->fun?expirationDate->fun?licenseArn->fun()->{productCode;dimension;customerIdentifier;customerAWSAccountId;value;expirationDate;licenseArn}letto_valuex=structure_to_value[("ProductCode",(Option.mapx.productCode~f:ProductCode.to_value));("Dimension",(Option.mapx.dimension~f:NonEmptyString.to_value));("CustomerIdentifier",(Option.mapx.customerIdentifier~f:NonEmptyString.to_value));("CustomerAWSAccountId",(Option.mapx.customerAWSAccountId~f:NonEmptyString.to_value));("Value",(Option.mapx.value~f:EntitlementValue.to_value));("ExpirationDate",(Option.mapx.expirationDate~f:Timestamp.to_value));("LicenseArn",(Option.mapx.licenseArn~f:String_.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letlicenseArn=(Option.map~f:String_.of_xml)(Xml.childxml_arg0"LicenseArn")inletexpirationDate=(Option.map~f:Timestamp.of_xml)(Xml.childxml_arg0"ExpirationDate")inletvalue=(Option.map~f:EntitlementValue.of_xml)(Xml.childxml_arg0"Value")inletcustomerAWSAccountId=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"CustomerAWSAccountId")inletcustomerIdentifier=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"CustomerIdentifier")inletdimension=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"Dimension")inletproductCode=(Option.map~f:ProductCode.of_xml)(Xml.childxml_arg0"ProductCode")inmake?licenseArn?expirationDate?value?customerAWSAccountId?customerIdentifier?dimension?productCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letlicenseArn=field_mapjson__"LicenseArn"String_.of_jsoninletexpirationDate=field_mapjson__"ExpirationDate"Timestamp.of_jsoninletvalue=field_mapjson__"Value"EntitlementValue.of_jsoninletcustomerAWSAccountId=field_mapjson__"CustomerAWSAccountId"NonEmptyString.of_jsoninletcustomerIdentifier=field_mapjson__"CustomerIdentifier"NonEmptyString.of_jsoninletdimension=field_mapjson__"Dimension"NonEmptyString.of_jsoninletproductCode=field_mapjson__"ProductCode"ProductCode.of_jsoninmake?licenseArn?expirationDate?value?customerAWSAccountId?customerIdentifier?dimension?productCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An entitlement represents capacity in a product owned by the customer. For example, a customer might own some number of users or seats in an SaaS application or some amount of data capacity in a multi-tenant database."]moduleErrorMessage=structtypenonrect=stringletcontext_="ErrorMessage"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:"ErrorMessage"jletto_json=simple_to_jsonto_valueendmoduleFilterValueList=structtypenonrect=FilterValue.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:FilterValue.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:FilterValue.of_xml)letof_jsonj=list_of_json~kind:"FilterValueList"~of_json:FilterValue.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleGetEntitlementFilterName=structtypenonrect=|CUSTOMER_IDENTIFIER|DIMENSION|CUSTOMER_AWS_ACCOUNT_ID|LICENSE_ARN|Non_static_idofstringletmakei=iletto_string=function|CUSTOMER_IDENTIFIER->"CUSTOMER_IDENTIFIER"|DIMENSION->"DIMENSION"|CUSTOMER_AWS_ACCOUNT_ID->"CUSTOMER_AWS_ACCOUNT_ID"|LICENSE_ARN->"LICENSE_ARN"|Non_static_ids->sletof_string=function|"CUSTOMER_IDENTIFIER"->CUSTOMER_IDENTIFIER|"DIMENSION"->DIMENSION|"CUSTOMER_AWS_ACCOUNT_ID"->CUSTOMER_AWS_ACCOUNT_ID|"LICENSE_ARN"->LICENSE_ARN|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 GetEntitlementFilterName"xml_arg0)letof_jsonj=of_string(string_of_json~kind:"GetEntitlementFilterName"j)letto_json=simple_to_jsonto_valueendmoduleEntitlementList=structtypenonrect=Entitlement.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:Entitlement.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:Entitlement.of_xml)letof_jsonj=list_of_json~kind:"EntitlementList"~of_json:Entitlement.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmoduleInternalServiceErrorException=structtypenonrect={message:ErrorMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"An internal error has occurred. Retry your request. If the problem persists, post a message with details on the AWS forums."]moduleInvalidParameterException=structtypenonrect={message:ErrorMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"One or more parameters in your request was invalid."]moduleThrottlingException=structtypenonrect={message:ErrorMessage.toption}letmake?message=fun()->{message}letto_valuex=structure_to_value[("message",(Option.mapx.message~f:ErrorMessage.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmessage=(Option.map~f:ErrorMessage.of_xml)(Xml.childxml_arg0"message")inmake?message()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmessage=field_mapjson__"message"ErrorMessage.of_jsoninmake?message()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The calls to the GetEntitlements API are throttled."]moduleGetEntitlementFilters=structtypenonrect=(GetEntitlementFilterName.t*FilterValueList.t)listletmakei=iletof_headerxs=make(List.filter_mapxs~f:(fun(k,v)->(Base.String.chop_prefixk~prefix:"x-amz-meta-")|>(Option.map~f:(funchopped->let(_:string)=vinlet(_:string)=choppedinfailwith"no of_header for complex types GetEntitlementFilterName FilterValueList"))))letto_valuexs=(xs|>(List.map~f:(fun(x,y)->(GetEntitlementFilterName.to_valuex)|>(funx->(FilterValueList.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:GetEntitlementFilterName.of_string~of_json:FilterValueList.of_jsonjletto_jsonv=composed_to_jsonto_valuevendmodulePageSizeInteger=structtypenonrect=intletmakei=letopenResultinok_or_failwith((check_int_maxi~max:25)>>=(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 PageSizeInteger"xml_arg0)letof_jsonj=Int.of_float(float_of_json~kind:"an integer"j)letto_json=simple_to_jsonto_valueendmoduleGetEntitlementsResult=structtypenonrect={entitlements:EntitlementList.toption[@ocaml.doc"The set of entitlements found through the GetEntitlements operation. If the result contains an empty set of entitlements, NextToken might still be present and should be used."];nextToken:NonEmptyString.toption[@ocaml.doc"For paginated results, use NextToken in subsequent calls to GetEntitlements. If the result contains an empty set of entitlements, NextToken might still be present and should be used."]}typenonrecerror=[`InternalServiceErrorExceptionofInternalServiceErrorException.t|`InvalidParameterExceptionofInvalidParameterException.t|`ThrottlingExceptionofThrottlingException.t|`Unknown_operation_errorof(string*stringoption)]letmake?entitlements=fun?nextToken->fun()->{entitlements;nextToken}leterror_of_jsonnamejson=matchnamewith|"InternalServiceErrorException"->`InternalServiceErrorException(InternalServiceErrorException.of_jsonjson)|"InvalidParameterException"->`InvalidParameterException(InvalidParameterException.of_jsonjson)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_jsonjson)|name->`Unknown_operation_error(name,(Some(Yojson.Safe.to_stringjson)))leterror_of_xmlnamexml=matchnamewith|"InternalServiceErrorException"->`InternalServiceErrorException(InternalServiceErrorException.of_xmlxml)|"InvalidParameterException"->`InvalidParameterException(InvalidParameterException.of_xmlxml)|"ThrottlingException"->`ThrottlingException(ThrottlingException.of_xmlxml)|name->`Unknown_operation_error(name,(Some(Awso.Xml.to_stringxml)))leterror_to_json:error->Yojson.Safe.t=function|`InternalServiceErrorExceptione->`Assoc[("error",(`String"InternalServiceErrorException"));("details",(InternalServiceErrorException.to_jsone))]|`InvalidParameterExceptione->`Assoc[("error",(`String"InvalidParameterException"));("details",(InvalidParameterException.to_jsone))]|`ThrottlingExceptione->`Assoc[("error",(`String"ThrottlingException"));("details",(ThrottlingException.to_jsone))]|`Unknown_operation_error(code,msg)->`Assoc(("error",(`Stringcode))::((matchmsgwith|None->[]|Somem->[("message",(`Stringm))])))letto_valuex=structure_to_value[("Entitlements",(Option.mapx.entitlements~f:EntitlementList.to_value));("NextToken",(Option.mapx.nextToken~f:NonEmptyString.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letnextToken=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"NextToken")inletentitlements=(Option.map~f:EntitlementList.of_xml)(Xml.childxml_arg0"Entitlements")inmake?nextToken?entitlements()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letnextToken=field_mapjson__"NextToken"NonEmptyString.of_jsoninletentitlements=field_mapjson__"Entitlements"EntitlementList.of_jsoninmake?nextToken?entitlements()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The GetEntitlementsRequest contains results from the GetEntitlements operation."]moduleGetEntitlementsRequest=structtypenonrect={productCode:ProductCode.t[@ocaml.doc"Product code is used to uniquely identify a product in AWS Marketplace. The product code will be provided by AWS Marketplace when the product listing is created."];filter:GetEntitlementFilters.toption[@ocaml.doc"Filter is used to return entitlements for a specific customer or for a specific dimension. Filters are described as keys mapped to a lists of values. Filtered requests are unioned for each value in the value list, and then intersected for each filter key. CustomerIdentifier and CustomerAWSAccountId are mutually exclusive parameters. You must use one or the other, but not both in the same request. If you're migrating an existing integration, use Account Feeds to map CustomerIdentifier to CustomerAWSAccountId, and Agreements Feeds to map CustomerAWSAccountId and LicenseArn."];nextToken:NonEmptyString.toption[@ocaml.doc"For paginated calls to GetEntitlements, pass the NextToken from the previous GetEntitlementsResult."];maxResults:PageSizeInteger.toption[@ocaml.doc"The maximum number of items to retrieve from the GetEntitlements operation. For pagination, use the NextToken field in subsequent calls to GetEntitlements."]}letcontext_="GetEntitlementsRequest"letmake?filter=fun?nextToken->fun?maxResults->fun~productCode->fun()->{filter;nextToken;maxResults;productCode}letto_valuex=structure_to_value[("ProductCode",(Some(ProductCode.to_valuex.productCode)));("Filter",(Option.mapx.filter~f:GetEntitlementFilters.to_value));("NextToken",(Option.mapx.nextToken~f:NonEmptyString.to_value));("MaxResults",(Option.mapx.maxResults~f:PageSizeInteger.to_value))]letto_queryv=to_queryto_valuevletof_xmlxml_arg0=letmaxResults=(Option.map~f:PageSizeInteger.of_xml)(Xml.childxml_arg0"MaxResults")inletnextToken=(Option.map~f:NonEmptyString.of_xml)(Xml.childxml_arg0"NextToken")inletfilter=(Option.map~f:GetEntitlementFilters.of_xml)(Xml.childxml_arg0"Filter")inletproductCode=ProductCode.of_xml(Xml.child_exn~context:context_xml_arg0"ProductCode")inmake?maxResults?nextToken?filter~productCode()letof_strings=of_xml(Awso.Xml.parse_responses)[@@warning"-32"]letof_jsonjson__=letmaxResults=field_mapjson__"MaxResults"PageSizeInteger.of_jsoninletnextToken=field_mapjson__"NextToken"NonEmptyString.of_jsoninletfilter=field_mapjson__"Filter"GetEntitlementFilters.of_jsoninletproductCode=field_map_exnjson__"ProductCode"ProductCode.of_jsoninmake?maxResults?nextToken?filter~productCode()letto_jsonv=composed_to_jsonto_valuevend[@@ocaml.doc"The GetEntitlementsRequest contains parameters for the GetEntitlements operation."]