{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2017-01-11",
    "endpointPrefix":"entitlement.marketplace",
    "jsonVersion":"1.1",
    "protocol":"json",
    "serviceFullName":"AWS Marketplace Entitlement Service",
    "serviceId":"Marketplace Entitlement Service",
    "signatureVersion":"v4",
    "signingName":"aws-marketplace",
    "targetPrefix":"AWSMPEntitlementService",
    "uid":"entitlement.marketplace-2017-01-11"
  },
  "operations":{
    "GetEntitlements":{
      "name":"GetEntitlements",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetEntitlementsRequest"},
      "output":{"shape":"GetEntitlementsResult"},
      "errors":[
        {"shape":"InvalidParameterException"},
        {"shape":"ThrottlingException"},
        {"shape":"InternalServiceErrorException"}
      ]
    }
  },
  "shapes":{
    "Boolean":{"type":"boolean"},
    "Double":{"type":"double"},
    "Entitlement":{
      "type":"structure",
      "members":{
        "ProductCode":{"shape":"ProductCode"},
        "Dimension":{"shape":"NonEmptyString"},
        "CustomerIdentifier":{"shape":"NonEmptyString"},
        "Value":{"shape":"EntitlementValue"},
        "ExpirationDate":{"shape":"Timestamp"}
      }
    },
    "EntitlementList":{
      "type":"list",
      "member":{"shape":"Entitlement"},
      "min":0
    },
    "EntitlementValue":{
      "type":"structure",
      "members":{
        "IntegerValue":{"shape":"Integer"},
        "DoubleValue":{"shape":"Double"},
        "BooleanValue":{"shape":"Boolean"},
        "StringValue":{"shape":"String"}
      }
    },
    "ErrorMessage":{"type":"string"},
    "FilterValue":{"type":"string"},
    "FilterValueList":{
      "type":"list",
      "member":{"shape":"FilterValue"},
      "min":1
    },
    "GetEntitlementFilterName":{
      "type":"string",
      "enum":[
        "CUSTOMER_IDENTIFIER",
        "DIMENSION"
      ]
    },
    "GetEntitlementFilters":{
      "type":"map",
      "key":{"shape":"GetEntitlementFilterName"},
      "value":{"shape":"FilterValueList"}
    },
    "GetEntitlementsRequest":{
      "type":"structure",
      "required":["ProductCode"],
      "members":{
        "ProductCode":{"shape":"ProductCode"},
        "Filter":{"shape":"GetEntitlementFilters"},
        "NextToken":{"shape":"NonEmptyString"},
        "MaxResults":{"shape":"PageSizeInteger"}
      }
    },
    "GetEntitlementsResult":{
      "type":"structure",
      "members":{
        "Entitlements":{"shape":"EntitlementList"},
        "NextToken":{"shape":"NonEmptyString"}
      }
    },
    "Integer":{"type":"integer"},
    "InternalServiceErrorException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "exception":true,
      "fault":true
    },
    "InvalidParameterException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "NonEmptyString":{
      "type":"string",
      "pattern":"\\S+"
    },
    "PageSizeInteger":{
      "type":"integer",
      "max":25,
      "min":1
    },
    "ProductCode":{
      "type":"string",
      "max":255,
      "min":1
    },
    "String":{"type":"string"},
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "exception":true
    },
    "Timestamp":{"type":"timestamp"}
  }
}
