{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2015-07-09",
    "endpointPrefix": "apigateway",
    "protocol": "rest-json",
    "serviceFullName": "Amazon API Gateway",
    "signatureVersion": "v4"
  },
  "operations": {
    "CreateApiKey": {
      "http": {
        "requestUri": "/apikeys",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "name": {},
          "description": {},
          "enabled": {
            "type": "boolean"
          },
          "generateDistinctId": {
            "type": "boolean"
          },
          "value": {},
          "stageKeys": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "restApiId": {},
                "stageName": {}
              }
            }
          }
        }
      },
      "output": {
        "shape": "S6"
      }
    },
    "CreateAuthorizer": {
      "http": {
        "requestUri": "/restapis/{restapi_id}/authorizers",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "name",
          "type",
          "identitySource"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "name": {},
          "type": {},
          "providerARNs": {
            "shape": "Sb"
          },
          "authType": {},
          "authorizerUri": {},
          "authorizerCredentials": {},
          "identitySource": {},
          "identityValidationExpression": {},
          "authorizerResultTtlInSeconds": {
            "type": "integer"
          }
        }
      },
      "output": {
        "shape": "Se"
      }
    },
    "CreateBasePathMapping": {
      "http": {
        "requestUri": "/domainnames/{domain_name}/basepathmappings",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName",
          "restApiId"
        ],
        "members": {
          "domainName": {
            "location": "uri",
            "locationName": "domain_name"
          },
          "basePath": {},
          "restApiId": {},
          "stage": {}
        }
      },
      "output": {
        "shape": "Sg"
      }
    },
    "CreateDeployment": {
      "http": {
        "requestUri": "/restapis/{restapi_id}/deployments",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {},
          "stageDescription": {},
          "description": {},
          "cacheClusterEnabled": {
            "type": "boolean"
          },
          "cacheClusterSize": {},
          "variables": {
            "shape": "Sk"
          }
        }
      },
      "output": {
        "shape": "Sl"
      }
    },
    "CreateDomainName": {
      "http": {
        "requestUri": "/domainnames",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName",
          "certificateName",
          "certificateBody",
          "certificatePrivateKey",
          "certificateChain"
        ],
        "members": {
          "domainName": {},
          "certificateName": {},
          "certificateBody": {},
          "certificatePrivateKey": {},
          "certificateChain": {}
        }
      },
      "output": {
        "shape": "Sq"
      }
    },
    "CreateModel": {
      "http": {
        "requestUri": "/restapis/{restapi_id}/models",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "name",
          "contentType"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "name": {},
          "description": {},
          "schema": {},
          "contentType": {}
        }
      },
      "output": {
        "shape": "Ss"
      }
    },
    "CreateResource": {
      "http": {
        "requestUri": "/restapis/{restapi_id}/resources/{parent_id}",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "parentId",
          "pathPart"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "parentId": {
            "location": "uri",
            "locationName": "parent_id"
          },
          "pathPart": {}
        }
      },
      "output": {
        "shape": "Su"
      }
    },
    "CreateRestApi": {
      "http": {
        "requestUri": "/restapis",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {},
          "description": {},
          "cloneFrom": {}
        }
      },
      "output": {
        "shape": "S16"
      }
    },
    "CreateStage": {
      "http": {
        "requestUri": "/restapis/{restapi_id}/stages",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName",
          "deploymentId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {},
          "deploymentId": {},
          "description": {},
          "cacheClusterEnabled": {
            "type": "boolean"
          },
          "cacheClusterSize": {},
          "variables": {
            "shape": "Sk"
          }
        }
      },
      "output": {
        "shape": "S18"
      }
    },
    "CreateUsagePlan": {
      "http": {
        "requestUri": "/usageplans",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "name"
        ],
        "members": {
          "name": {},
          "description": {},
          "apiStages": {
            "shape": "S1g"
          },
          "throttle": {
            "shape": "S1i"
          },
          "quota": {
            "shape": "S1j"
          }
        }
      },
      "output": {
        "shape": "S1l"
      }
    },
    "CreateUsagePlanKey": {
      "http": {
        "requestUri": "/usageplans/{usageplanId}/keys",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId",
          "keyId",
          "keyType"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          },
          "keyId": {},
          "keyType": {}
        }
      },
      "output": {
        "shape": "S1n"
      }
    },
    "DeleteApiKey": {
      "http": {
        "method": "DELETE",
        "requestUri": "/apikeys/{api_Key}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "apiKey"
        ],
        "members": {
          "apiKey": {
            "location": "uri",
            "locationName": "api_Key"
          }
        }
      }
    },
    "DeleteAuthorizer": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "authorizerId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "authorizerId": {
            "location": "uri",
            "locationName": "authorizer_id"
          }
        }
      }
    },
    "DeleteBasePathMapping": {
      "http": {
        "method": "DELETE",
        "requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName",
          "basePath"
        ],
        "members": {
          "domainName": {
            "location": "uri",
            "locationName": "domain_name"
          },
          "basePath": {
            "location": "uri",
            "locationName": "base_path"
          }
        }
      }
    },
    "DeleteClientCertificate": {
      "http": {
        "method": "DELETE",
        "requestUri": "/clientcertificates/{clientcertificate_id}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "clientCertificateId"
        ],
        "members": {
          "clientCertificateId": {
            "location": "uri",
            "locationName": "clientcertificate_id"
          }
        }
      }
    },
    "DeleteDeployment": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "deploymentId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "deploymentId": {
            "location": "uri",
            "locationName": "deployment_id"
          }
        }
      }
    },
    "DeleteDomainName": {
      "http": {
        "method": "DELETE",
        "requestUri": "/domainnames/{domain_name}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName"
        ],
        "members": {
          "domainName": {
            "location": "uri",
            "locationName": "domain_name"
          }
        }
      }
    },
    "DeleteIntegration": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          }
        }
      }
    },
    "DeleteIntegrationResponse": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "statusCode"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "statusCode": {
            "location": "uri",
            "locationName": "status_code"
          }
        }
      }
    },
    "DeleteMethod": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          }
        }
      }
    },
    "DeleteMethodResponse": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode": 204
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "statusCode"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "statusCode": {
            "location": "uri",
            "locationName": "status_code"
          }
        }
      }
    },
    "DeleteModel": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/models/{model_name}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "modelName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "modelName": {
            "location": "uri",
            "locationName": "model_name"
          }
        }
      }
    },
    "DeleteResource": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          }
        }
      }
    },
    "DeleteRestApi": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          }
        }
      }
    },
    "DeleteStage": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/stages/{stage_name}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {
            "location": "uri",
            "locationName": "stage_name"
          }
        }
      }
    },
    "DeleteUsagePlan": {
      "http": {
        "method": "DELETE",
        "requestUri": "/usageplans/{usageplanId}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          }
        }
      }
    },
    "DeleteUsagePlanKey": {
      "http": {
        "method": "DELETE",
        "requestUri": "/usageplans/{usageplanId}/keys/{keyId}",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId",
          "keyId"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          },
          "keyId": {
            "location": "uri",
            "locationName": "keyId"
          }
        }
      }
    },
    "FlushStageAuthorizersCache": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/stages/{stage_name}/cache/authorizers",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {
            "location": "uri",
            "locationName": "stage_name"
          }
        }
      }
    },
    "FlushStageCache": {
      "http": {
        "method": "DELETE",
        "requestUri": "/restapis/{restapi_id}/stages/{stage_name}/cache/data",
        "responseCode": 202
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {
            "location": "uri",
            "locationName": "stage_name"
          }
        }
      }
    },
    "GenerateClientCertificate": {
      "http": {
        "requestUri": "/clientcertificates",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "members": {
          "description": {}
        }
      },
      "output": {
        "shape": "S27"
      }
    },
    "GetAccount": {
      "http": {
        "method": "GET",
        "requestUri": "/account"
      },
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "shape": "S29"
      }
    },
    "GetApiKey": {
      "http": {
        "method": "GET",
        "requestUri": "/apikeys/{api_Key}"
      },
      "input": {
        "type": "structure",
        "required": [
          "apiKey"
        ],
        "members": {
          "apiKey": {
            "location": "uri",
            "locationName": "api_Key"
          },
          "includeValue": {
            "location": "querystring",
            "locationName": "includeValue",
            "type": "boolean"
          }
        }
      },
      "output": {
        "shape": "S6"
      }
    },
    "GetApiKeys": {
      "http": {
        "method": "GET",
        "requestUri": "/apikeys"
      },
      "input": {
        "type": "structure",
        "members": {
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          },
          "nameQuery": {
            "location": "querystring",
            "locationName": "name"
          },
          "includeValues": {
            "location": "querystring",
            "locationName": "includeValues",
            "type": "boolean"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "warnings": {
            "shape": "S8"
          },
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "S6"
            }
          }
        }
      }
    },
    "GetAuthorizer": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "authorizerId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "authorizerId": {
            "location": "uri",
            "locationName": "authorizer_id"
          }
        }
      },
      "output": {
        "shape": "Se"
      }
    },
    "GetAuthorizers": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/authorizers"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "Se"
            }
          }
        }
      }
    },
    "GetBasePathMapping": {
      "http": {
        "method": "GET",
        "requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}"
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName",
          "basePath"
        ],
        "members": {
          "domainName": {
            "location": "uri",
            "locationName": "domain_name"
          },
          "basePath": {
            "location": "uri",
            "locationName": "base_path"
          }
        }
      },
      "output": {
        "shape": "Sg"
      }
    },
    "GetBasePathMappings": {
      "http": {
        "method": "GET",
        "requestUri": "/domainnames/{domain_name}/basepathmappings"
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName"
        ],
        "members": {
          "domainName": {
            "location": "uri",
            "locationName": "domain_name"
          },
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "Sg"
            }
          }
        }
      }
    },
    "GetClientCertificate": {
      "http": {
        "method": "GET",
        "requestUri": "/clientcertificates/{clientcertificate_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "clientCertificateId"
        ],
        "members": {
          "clientCertificateId": {
            "location": "uri",
            "locationName": "clientcertificate_id"
          }
        }
      },
      "output": {
        "shape": "S27"
      }
    },
    "GetClientCertificates": {
      "http": {
        "method": "GET",
        "requestUri": "/clientcertificates"
      },
      "input": {
        "type": "structure",
        "members": {
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "S27"
            }
          }
        }
      }
    },
    "GetDeployment": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "deploymentId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "deploymentId": {
            "location": "uri",
            "locationName": "deployment_id"
          }
        }
      },
      "output": {
        "shape": "Sl"
      }
    },
    "GetDeployments": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/deployments"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "Sl"
            }
          }
        }
      }
    },
    "GetDomainName": {
      "http": {
        "method": "GET",
        "requestUri": "/domainnames/{domain_name}"
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName"
        ],
        "members": {
          "domainName": {
            "location": "uri",
            "locationName": "domain_name"
          }
        }
      },
      "output": {
        "shape": "Sq"
      }
    },
    "GetDomainNames": {
      "http": {
        "method": "GET",
        "requestUri": "/domainnames"
      },
      "input": {
        "type": "structure",
        "members": {
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "Sq"
            }
          }
        }
      }
    },
    "GetExport": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/stages/{stage_name}/exports/{export_type}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName",
          "exportType"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {
            "location": "uri",
            "locationName": "stage_name"
          },
          "exportType": {
            "location": "uri",
            "locationName": "export_type"
          },
          "parameters": {
            "shape": "Sk",
            "location": "querystring"
          },
          "accepts": {
            "location": "header",
            "locationName": "Accept"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "contentType": {
            "location": "header",
            "locationName": "Content-Type"
          },
          "contentDisposition": {
            "location": "header",
            "locationName": "Content-Disposition"
          },
          "body": {
            "type": "blob"
          }
        },
        "payload": "body"
      }
    },
    "GetIntegration": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          }
        }
      },
      "output": {
        "shape": "S11"
      }
    },
    "GetIntegrationResponse": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "statusCode"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "statusCode": {
            "location": "uri",
            "locationName": "status_code"
          }
        }
      },
      "output": {
        "shape": "S14"
      }
    },
    "GetMethod": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          }
        }
      },
      "output": {
        "shape": "Sw"
      }
    },
    "GetMethodResponse": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "statusCode"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "statusCode": {
            "location": "uri",
            "locationName": "status_code"
          }
        }
      },
      "output": {
        "shape": "Sz"
      }
    },
    "GetModel": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/models/{model_name}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "modelName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "modelName": {
            "location": "uri",
            "locationName": "model_name"
          },
          "flatten": {
            "location": "querystring",
            "locationName": "flatten",
            "type": "boolean"
          }
        }
      },
      "output": {
        "shape": "Ss"
      }
    },
    "GetModelTemplate": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/models/{model_name}/default_template"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "modelName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "modelName": {
            "location": "uri",
            "locationName": "model_name"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "value": {}
        }
      }
    },
    "GetModels": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/models"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "Ss"
            }
          }
        }
      }
    },
    "GetResource": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          }
        }
      },
      "output": {
        "shape": "Su"
      }
    },
    "GetResources": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/resources"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "Su"
            }
          }
        }
      }
    },
    "GetRestApi": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          }
        }
      },
      "output": {
        "shape": "S16"
      }
    },
    "GetRestApis": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis"
      },
      "input": {
        "type": "structure",
        "members": {
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "S16"
            }
          }
        }
      }
    },
    "GetSdk": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName",
          "sdkType"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {
            "location": "uri",
            "locationName": "stage_name"
          },
          "sdkType": {
            "location": "uri",
            "locationName": "sdk_type"
          },
          "parameters": {
            "shape": "Sk",
            "location": "querystring"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "contentType": {
            "location": "header",
            "locationName": "Content-Type"
          },
          "contentDisposition": {
            "location": "header",
            "locationName": "Content-Disposition"
          },
          "body": {
            "type": "blob"
          }
        },
        "payload": "body"
      }
    },
    "GetStage": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/stages/{stage_name}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {
            "location": "uri",
            "locationName": "stage_name"
          }
        }
      },
      "output": {
        "shape": "S18"
      }
    },
    "GetStages": {
      "http": {
        "method": "GET",
        "requestUri": "/restapis/{restapi_id}/stages"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "deploymentId": {
            "location": "querystring",
            "locationName": "deploymentId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "item": {
            "type": "list",
            "member": {
              "shape": "S18"
            }
          }
        }
      }
    },
    "GetUsage": {
      "http": {
        "method": "GET",
        "requestUri": "/usageplans/{usageplanId}/usage"
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId",
          "startDate",
          "endDate"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          },
          "keyId": {
            "location": "querystring",
            "locationName": "keyId"
          },
          "startDate": {
            "location": "querystring",
            "locationName": "startDate"
          },
          "endDate": {
            "location": "querystring",
            "locationName": "endDate"
          },
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "shape": "S3q"
      }
    },
    "GetUsagePlan": {
      "http": {
        "method": "GET",
        "requestUri": "/usageplans/{usageplanId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          }
        }
      },
      "output": {
        "shape": "S1l"
      }
    },
    "GetUsagePlanKey": {
      "http": {
        "method": "GET",
        "requestUri": "/usageplans/{usageplanId}/keys/{keyId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId",
          "keyId"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          },
          "keyId": {
            "location": "uri",
            "locationName": "keyId"
          }
        }
      },
      "output": {
        "shape": "S1n"
      }
    },
    "GetUsagePlanKeys": {
      "http": {
        "method": "GET",
        "requestUri": "/usageplans/{usageplanId}/keys"
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          },
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          },
          "nameQuery": {
            "location": "querystring",
            "locationName": "name"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "S1n"
            }
          }
        }
      }
    },
    "GetUsagePlans": {
      "http": {
        "method": "GET",
        "requestUri": "/usageplans"
      },
      "input": {
        "type": "structure",
        "members": {
          "position": {
            "location": "querystring",
            "locationName": "position"
          },
          "keyId": {
            "location": "querystring",
            "locationName": "keyId"
          },
          "limit": {
            "location": "querystring",
            "locationName": "limit",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "position": {},
          "items": {
            "locationName": "item",
            "type": "list",
            "member": {
              "shape": "S1l"
            }
          }
        }
      }
    },
    "ImportApiKeys": {
      "http": {
        "requestUri": "/apikeys?mode=import",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "body",
          "format"
        ],
        "members": {
          "body": {
            "type": "blob"
          },
          "format": {
            "location": "querystring",
            "locationName": "format"
          },
          "failOnWarnings": {
            "location": "querystring",
            "locationName": "failonwarnings",
            "type": "boolean"
          }
        },
        "payload": "body"
      },
      "output": {
        "type": "structure",
        "members": {
          "ids": {
            "shape": "S8"
          },
          "warnings": {
            "shape": "S8"
          }
        }
      }
    },
    "ImportRestApi": {
      "http": {
        "requestUri": "/restapis?mode=import",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "body"
        ],
        "members": {
          "failOnWarnings": {
            "location": "querystring",
            "locationName": "failonwarnings",
            "type": "boolean"
          },
          "parameters": {
            "shape": "Sk",
            "location": "querystring"
          },
          "body": {
            "type": "blob"
          }
        },
        "payload": "body"
      },
      "output": {
        "shape": "S16"
      }
    },
    "PutIntegration": {
      "http": {
        "method": "PUT",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "type"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "type": {},
          "integrationHttpMethod": {
            "locationName": "httpMethod"
          },
          "uri": {},
          "credentials": {},
          "requestParameters": {
            "shape": "Sk"
          },
          "requestTemplates": {
            "shape": "Sk"
          },
          "passthroughBehavior": {},
          "cacheNamespace": {},
          "cacheKeyParameters": {
            "shape": "S8"
          }
        }
      },
      "output": {
        "shape": "S11"
      }
    },
    "PutIntegrationResponse": {
      "http": {
        "method": "PUT",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "statusCode"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "statusCode": {
            "location": "uri",
            "locationName": "status_code"
          },
          "selectionPattern": {},
          "responseParameters": {
            "shape": "Sk"
          },
          "responseTemplates": {
            "shape": "Sk"
          }
        }
      },
      "output": {
        "shape": "S14"
      }
    },
    "PutMethod": {
      "http": {
        "method": "PUT",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "authorizationType"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "authorizationType": {},
          "authorizerId": {},
          "apiKeyRequired": {
            "type": "boolean"
          },
          "requestParameters": {
            "shape": "Sx"
          },
          "requestModels": {
            "shape": "Sk"
          }
        }
      },
      "output": {
        "shape": "Sw"
      }
    },
    "PutMethodResponse": {
      "http": {
        "method": "PUT",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "statusCode"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "statusCode": {
            "location": "uri",
            "locationName": "status_code"
          },
          "responseParameters": {
            "shape": "Sx"
          },
          "responseModels": {
            "shape": "Sk"
          }
        }
      },
      "output": {
        "shape": "Sz"
      }
    },
    "PutRestApi": {
      "http": {
        "method": "PUT",
        "requestUri": "/restapis/{restapi_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "body"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "mode": {
            "location": "querystring",
            "locationName": "mode"
          },
          "failOnWarnings": {
            "location": "querystring",
            "locationName": "failonwarnings",
            "type": "boolean"
          },
          "parameters": {
            "shape": "Sk",
            "location": "querystring"
          },
          "body": {
            "type": "blob"
          }
        },
        "payload": "body"
      },
      "output": {
        "shape": "S16"
      }
    },
    "TestInvokeAuthorizer": {
      "http": {
        "requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "authorizerId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "authorizerId": {
            "location": "uri",
            "locationName": "authorizer_id"
          },
          "headers": {
            "shape": "S4e"
          },
          "pathWithQueryString": {},
          "body": {},
          "stageVariables": {
            "shape": "Sk"
          },
          "additionalContext": {
            "shape": "Sk"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "clientStatus": {
            "type": "integer"
          },
          "log": {},
          "latency": {
            "type": "long"
          },
          "principalId": {},
          "policy": {},
          "authorization": {
            "type": "map",
            "key": {},
            "value": {
              "shape": "S8"
            }
          },
          "claims": {
            "shape": "Sk"
          }
        }
      }
    },
    "TestInvokeMethod": {
      "http": {
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "pathWithQueryString": {},
          "body": {},
          "headers": {
            "shape": "S4e"
          },
          "clientCertificateId": {},
          "stageVariables": {
            "shape": "Sk"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "status": {
            "type": "integer"
          },
          "body": {},
          "headers": {
            "shape": "S4e"
          },
          "log": {},
          "latency": {
            "type": "long"
          }
        }
      }
    },
    "UpdateAccount": {
      "http": {
        "method": "PATCH",
        "requestUri": "/account"
      },
      "input": {
        "type": "structure",
        "members": {
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S29"
      }
    },
    "UpdateApiKey": {
      "http": {
        "method": "PATCH",
        "requestUri": "/apikeys/{api_Key}"
      },
      "input": {
        "type": "structure",
        "required": [
          "apiKey"
        ],
        "members": {
          "apiKey": {
            "location": "uri",
            "locationName": "api_Key"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S6"
      }
    },
    "UpdateAuthorizer": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/authorizers/{authorizer_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "authorizerId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "authorizerId": {
            "location": "uri",
            "locationName": "authorizer_id"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "Se"
      }
    },
    "UpdateBasePathMapping": {
      "http": {
        "method": "PATCH",
        "requestUri": "/domainnames/{domain_name}/basepathmappings/{base_path}"
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName",
          "basePath"
        ],
        "members": {
          "domainName": {
            "location": "uri",
            "locationName": "domain_name"
          },
          "basePath": {
            "location": "uri",
            "locationName": "base_path"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "Sg"
      }
    },
    "UpdateClientCertificate": {
      "http": {
        "method": "PATCH",
        "requestUri": "/clientcertificates/{clientcertificate_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "clientCertificateId"
        ],
        "members": {
          "clientCertificateId": {
            "location": "uri",
            "locationName": "clientcertificate_id"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S27"
      }
    },
    "UpdateDeployment": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/deployments/{deployment_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "deploymentId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "deploymentId": {
            "location": "uri",
            "locationName": "deployment_id"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "Sl"
      }
    },
    "UpdateDomainName": {
      "http": {
        "method": "PATCH",
        "requestUri": "/domainnames/{domain_name}"
      },
      "input": {
        "type": "structure",
        "required": [
          "domainName"
        ],
        "members": {
          "domainName": {
            "location": "uri",
            "locationName": "domain_name"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "Sq"
      }
    },
    "UpdateIntegration": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S11"
      }
    },
    "UpdateIntegrationResponse": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "statusCode"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "statusCode": {
            "location": "uri",
            "locationName": "status_code"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S14"
      }
    },
    "UpdateMethod": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "Sw"
      }
    },
    "UpdateMethodResponse": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode": 201
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId",
          "httpMethod",
          "statusCode"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "httpMethod": {
            "location": "uri",
            "locationName": "http_method"
          },
          "statusCode": {
            "location": "uri",
            "locationName": "status_code"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "Sz"
      }
    },
    "UpdateModel": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/models/{model_name}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "modelName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "modelName": {
            "location": "uri",
            "locationName": "model_name"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "Ss"
      }
    },
    "UpdateResource": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/resources/{resource_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "resourceId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "resourceId": {
            "location": "uri",
            "locationName": "resource_id"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "Su"
      }
    },
    "UpdateRestApi": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S16"
      }
    },
    "UpdateStage": {
      "http": {
        "method": "PATCH",
        "requestUri": "/restapis/{restapi_id}/stages/{stage_name}"
      },
      "input": {
        "type": "structure",
        "required": [
          "restApiId",
          "stageName"
        ],
        "members": {
          "restApiId": {
            "location": "uri",
            "locationName": "restapi_id"
          },
          "stageName": {
            "location": "uri",
            "locationName": "stage_name"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S18"
      }
    },
    "UpdateUsage": {
      "http": {
        "method": "PATCH",
        "requestUri": "/usageplans/{usageplanId}/keys/{keyId}/usage"
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId",
          "keyId"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          },
          "keyId": {
            "location": "uri",
            "locationName": "keyId"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S3q"
      }
    },
    "UpdateUsagePlan": {
      "http": {
        "method": "PATCH",
        "requestUri": "/usageplans/{usageplanId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "usagePlanId"
        ],
        "members": {
          "usagePlanId": {
            "location": "uri",
            "locationName": "usageplanId"
          },
          "patchOperations": {
            "shape": "S4k"
          }
        }
      },
      "output": {
        "shape": "S1l"
      }
    }
  },
  "shapes": {
    "S6": {
      "type": "structure",
      "members": {
        "id": {},
        "value": {},
        "name": {},
        "description": {},
        "enabled": {
          "type": "boolean"
        },
        "createdDate": {
          "type": "timestamp"
        },
        "lastUpdatedDate": {
          "type": "timestamp"
        },
        "stageKeys": {
          "shape": "S8"
        }
      }
    },
    "S8": {
      "type": "list",
      "member": {}
    },
    "Sb": {
      "type": "list",
      "member": {}
    },
    "Se": {
      "type": "structure",
      "members": {
        "id": {},
        "name": {},
        "type": {},
        "providerARNs": {
          "shape": "Sb"
        },
        "authType": {},
        "authorizerUri": {},
        "authorizerCredentials": {},
        "identitySource": {},
        "identityValidationExpression": {},
        "authorizerResultTtlInSeconds": {
          "type": "integer"
        }
      }
    },
    "Sg": {
      "type": "structure",
      "members": {
        "basePath": {},
        "restApiId": {},
        "stage": {}
      }
    },
    "Sk": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "Sl": {
      "type": "structure",
      "members": {
        "id": {},
        "description": {},
        "createdDate": {
          "type": "timestamp"
        },
        "apiSummary": {
          "type": "map",
          "key": {},
          "value": {
            "type": "map",
            "key": {},
            "value": {
              "type": "structure",
              "members": {
                "authorizationType": {},
                "apiKeyRequired": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "Sq": {
      "type": "structure",
      "members": {
        "domainName": {},
        "certificateName": {},
        "certificateUploadDate": {
          "type": "timestamp"
        },
        "distributionDomainName": {}
      }
    },
    "Ss": {
      "type": "structure",
      "members": {
        "id": {},
        "name": {},
        "description": {},
        "schema": {},
        "contentType": {}
      }
    },
    "Su": {
      "type": "structure",
      "members": {
        "id": {},
        "parentId": {},
        "pathPart": {},
        "path": {},
        "resourceMethods": {
          "type": "map",
          "key": {},
          "value": {
            "shape": "Sw"
          }
        }
      }
    },
    "Sw": {
      "type": "structure",
      "members": {
        "httpMethod": {},
        "authorizationType": {},
        "authorizerId": {},
        "apiKeyRequired": {
          "type": "boolean"
        },
        "requestParameters": {
          "shape": "Sx"
        },
        "requestModels": {
          "shape": "Sk"
        },
        "methodResponses": {
          "type": "map",
          "key": {},
          "value": {
            "shape": "Sz"
          }
        },
        "methodIntegration": {
          "shape": "S11"
        }
      }
    },
    "Sx": {
      "type": "map",
      "key": {},
      "value": {
        "type": "boolean"
      }
    },
    "Sz": {
      "type": "structure",
      "members": {
        "statusCode": {},
        "responseParameters": {
          "shape": "Sx"
        },
        "responseModels": {
          "shape": "Sk"
        }
      }
    },
    "S11": {
      "type": "structure",
      "members": {
        "type": {},
        "httpMethod": {},
        "uri": {},
        "credentials": {},
        "requestParameters": {
          "shape": "Sk"
        },
        "requestTemplates": {
          "shape": "Sk"
        },
        "passthroughBehavior": {},
        "cacheNamespace": {},
        "cacheKeyParameters": {
          "shape": "S8"
        },
        "integrationResponses": {
          "type": "map",
          "key": {},
          "value": {
            "shape": "S14"
          }
        }
      }
    },
    "S14": {
      "type": "structure",
      "members": {
        "statusCode": {},
        "selectionPattern": {},
        "responseParameters": {
          "shape": "Sk"
        },
        "responseTemplates": {
          "shape": "Sk"
        }
      }
    },
    "S16": {
      "type": "structure",
      "members": {
        "id": {},
        "name": {},
        "description": {},
        "createdDate": {
          "type": "timestamp"
        },
        "warnings": {
          "shape": "S8"
        }
      }
    },
    "S18": {
      "type": "structure",
      "members": {
        "deploymentId": {},
        "clientCertificateId": {},
        "stageName": {},
        "description": {},
        "cacheClusterEnabled": {
          "type": "boolean"
        },
        "cacheClusterSize": {},
        "cacheClusterStatus": {},
        "methodSettings": {
          "type": "map",
          "key": {},
          "value": {
            "type": "structure",
            "members": {
              "metricsEnabled": {
                "type": "boolean"
              },
              "loggingLevel": {},
              "dataTraceEnabled": {
                "type": "boolean"
              },
              "throttlingBurstLimit": {
                "type": "integer"
              },
              "throttlingRateLimit": {
                "type": "double"
              },
              "cachingEnabled": {
                "type": "boolean"
              },
              "cacheTtlInSeconds": {
                "type": "integer"
              },
              "cacheDataEncrypted": {
                "type": "boolean"
              },
              "requireAuthorizationForCacheControl": {
                "type": "boolean"
              },
              "unauthorizedCacheControlHeaderStrategy": {}
            }
          }
        },
        "variables": {
          "shape": "Sk"
        },
        "createdDate": {
          "type": "timestamp"
        },
        "lastUpdatedDate": {
          "type": "timestamp"
        }
      }
    },
    "S1g": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "apiId": {},
          "stage": {}
        }
      }
    },
    "S1i": {
      "type": "structure",
      "members": {
        "burstLimit": {
          "type": "integer"
        },
        "rateLimit": {
          "type": "double"
        }
      }
    },
    "S1j": {
      "type": "structure",
      "members": {
        "limit": {
          "type": "integer"
        },
        "offset": {
          "type": "integer"
        },
        "period": {}
      }
    },
    "S1l": {
      "type": "structure",
      "members": {
        "id": {},
        "name": {},
        "description": {},
        "apiStages": {
          "shape": "S1g"
        },
        "throttle": {
          "shape": "S1i"
        },
        "quota": {
          "shape": "S1j"
        }
      }
    },
    "S1n": {
      "type": "structure",
      "members": {
        "id": {},
        "type": {},
        "value": {},
        "name": {}
      }
    },
    "S27": {
      "type": "structure",
      "members": {
        "clientCertificateId": {},
        "description": {},
        "pemEncodedCertificate": {},
        "createdDate": {
          "type": "timestamp"
        },
        "expirationDate": {
          "type": "timestamp"
        }
      }
    },
    "S29": {
      "type": "structure",
      "members": {
        "cloudwatchRoleArn": {},
        "throttleSettings": {
          "shape": "S1i"
        },
        "features": {
          "shape": "S8"
        },
        "apiKeyVersion": {}
      }
    },
    "S3q": {
      "type": "structure",
      "members": {
        "usagePlanId": {},
        "startDate": {},
        "endDate": {},
        "position": {},
        "items": {
          "locationName": "values",
          "type": "map",
          "key": {},
          "value": {
            "type": "list",
            "member": {
              "type": "list",
              "member": {
                "type": "long"
              }
            }
          }
        }
      }
    },
    "S4e": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S4k": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "op": {},
          "path": {},
          "value": {},
          "from": {}
        }
      }
    }
  }
}