{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2015-07-09",
    "endpointPrefix":"apigateway",
    "serviceFullName":"Amazon API Gateway",
    "signatureVersion":"v4",
    "protocol":"rest-json"
  },
  "documentation":"<fullname>Amazon API Gateway</fullname> <p>Amazon API Gateway helps developers deliver robust, secure and scalable mobile and web application backends. Amazon API Gateway allows developers to securely connect mobile and web applications to APIs that run on AWS Lambda, Amazon EC2, or other publicly addressable web services that are hosted outside of AWS.</p>",
  "operations":{
    "CreateApiKey":{
      "name":"CreateApiKey",
      "http":{
        "method":"POST",
        "requestUri":"/apikeys",
        "responseCode":201
      },
      "input":{"shape":"CreateApiKeyRequest"},
      "output":{
        "shape":"ApiKey",
        "documentation":"<p>A resource that can be distributed to callers for executing <a>Method</a> resources that require an API key. API keys can be mapped to any <a>Stage</a> on any <a>RestApi</a>, which indicates that the callers with the API key can make requests to that stage.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        }
      ]
    },
    "CreateBasePathMapping":{
      "name":"CreateBasePathMapping",
      "http":{
        "method":"POST",
        "requestUri":"/domainnames/{domain_name}/basepathmappings",
        "responseCode":201
      },
      "input":{
        "shape":"CreateBasePathMappingRequest",
        "documentation":"<p>Requests Amazon API Gateway to create a new <a>BasePathMapping</a> resource.</p>"
      },
      "output":{
        "shape":"BasePathMapping",
        "documentation":"<p>Represents the base path that callers of the API that must provide as part of the URL after the domain name.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Creates a new <a>BasePathMapping</a> resource.</p>"
    },
    "CreateDeployment":{
      "name":"CreateDeployment",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/deployments",
        "responseCode":201
      },
      "input":{
        "shape":"CreateDeploymentRequest",
        "documentation":"<p>Requests Amazon API Gateway to create a <a>Deployment</a> resource.</p>"
      },
      "output":{
        "shape":"Deployment",
        "documentation":"<p>An immutable representation of a <a>RestApi</a> resource that can be called by users using <a>Stages</a>. A deployment must be associated with a <a>Stage</a> for it to be callable over the Internet.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"ServiceUnavailableException",
          "error":{"httpStatusCode":503},
          "exception":true,
          "fault":true
        }
      ],
      "documentation":"<p>Creates a <a>Deployment</a> resource, which makes a specified <a>RestApi</a> callable over the internet.</p>"
    },
    "CreateDomainName":{
      "name":"CreateDomainName",
      "http":{
        "method":"POST",
        "requestUri":"/domainnames",
        "responseCode":201
      },
      "input":{
        "shape":"CreateDomainNameRequest",
        "documentation":"<p>A request to create a new domain name.</p>"
      },
      "output":{
        "shape":"DomainName",
        "documentation":"<p>Represents a domain name that is contained in a simpler, more intuitive URL that can be called.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Creates a new domain name.</p>"
    },
    "CreateModel":{
      "name":"CreateModel",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/models",
        "responseCode":201
      },
      "input":{
        "shape":"CreateModelRequest",
        "documentation":"<p>Request to add a new <a>Model</a> to an existing <a>RestApi</a> resource.</p>"
      },
      "output":{
        "shape":"Model",
        "documentation":"<p>Represents the structure of a request or response payload for a method.</p>"
      },
      "errors":[
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Adds a new <a>Model</a> resource to an existing <a>RestApi</a> resource.</p>"
    },
    "CreateResource":{
      "name":"CreateResource",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/resources/{parent_id}",
        "responseCode":201
      },
      "input":{
        "shape":"CreateResourceRequest",
        "documentation":"<p>Requests Amazon API Gateway to create a <a>Resource</a> resource.</p>"
      },
      "output":{
        "shape":"Resource",
        "documentation":"<p>Represents a resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Creates a <a>Resource</a> resource.</p>"
    },
    "CreateRestApi":{
      "name":"CreateRestApi",
      "http":{
        "method":"POST",
        "requestUri":"/restapis",
        "responseCode":201
      },
      "input":{
        "shape":"CreateRestApiRequest",
        "documentation":"<p>Request to add a new <a>RestApi</a> resource to your collection.</p>"
      },
      "output":{
        "shape":"RestApi",
        "documentation":"<p>Represents a REST API.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Creates a new <a>RestApi</a> resource.</p>"
    },
    "CreateStage":{
      "name":"CreateStage",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/stages",
        "responseCode":201
      },
      "input":{
        "shape":"CreateStageRequest",
        "documentation":"<p>Requests Amazon API Gateway to create a <a>Stage</a> resource.</p>"
      },
      "output":{
        "shape":"Stage",
        "documentation":"<p>Represents a unique identifier for a version of a deployed <a>RestApi</a> that is callable by users.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Creates a <a>Stage</a> resource.</p>"
    },
    "DeleteApiKey":{
      "name":"DeleteApiKey",
      "http":{
        "method":"DELETE",
        "requestUri":"/apikeys/{api_Key}",
        "responseCode":202
      },
      "input":{
        "shape":"DeleteApiKeyRequest",
        "documentation":"<p>A request to delete the <a>ApiKey</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes the <a>ApiKey</a> resource.</p>"
    },
    "DeleteBasePathMapping":{
      "name":"DeleteBasePathMapping",
      "http":{
        "method":"DELETE",
        "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}",
        "responseCode":202
      },
      "input":{
        "shape":"DeleteBasePathMappingRequest",
        "documentation":"<p>A request to delete the <a>BasePathMapping</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes the <a>BasePathMapping</a> resource.</p>"
    },
    "DeleteClientCertificate":{
      "name":"DeleteClientCertificate",
      "http":{
        "method":"DELETE",
        "requestUri":"/clientcertificates/{clientcertificate_id}",
        "responseCode":202
      },
      "input":{"shape":"DeleteClientCertificateRequest"},
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        }
      ]
    },
    "DeleteDeployment":{
      "name":"DeleteDeployment",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}",
        "responseCode":202
      },
      "input":{
        "shape":"DeleteDeploymentRequest",
        "documentation":"<p>Requests Amazon API Gateway to delete a <a>Deployment</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes a <a>Deployment</a> resource. Deleting a deployment will only succeed if there are no <a>Stage</a> resources associated with it.</p>"
    },
    "DeleteDomainName":{
      "name":"DeleteDomainName",
      "http":{
        "method":"DELETE",
        "requestUri":"/domainnames/{domain_name}",
        "responseCode":202
      },
      "input":{
        "shape":"DeleteDomainNameRequest",
        "documentation":"<p>A request to delete the <a>DomainName</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes the <a>DomainName</a> resource.</p>"
    },
    "DeleteIntegration":{
      "name":"DeleteIntegration",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
        "responseCode":204
      },
      "input":{
        "shape":"DeleteIntegrationRequest",
        "documentation":"<p>Represents a delete integration request.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a delete integration.</p>"
    },
    "DeleteIntegrationResponse":{
      "name":"DeleteIntegrationResponse",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
        "responseCode":204
      },
      "input":{
        "shape":"DeleteIntegrationResponseRequest",
        "documentation":"<p>Represents a delete integration response request.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a delete integration response.</p>"
    },
    "DeleteMethod":{
      "name":"DeleteMethod",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
        "responseCode":204
      },
      "input":{
        "shape":"DeleteMethodRequest",
        "documentation":"<p>Request to delete an existing <a>Method</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes an existing <a>Method</a> resource.</p>"
    },
    "DeleteMethodResponse":{
      "name":"DeleteMethodResponse",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode":204
      },
      "input":{
        "shape":"DeleteMethodResponseRequest",
        "documentation":"<p>A request to delete an existing <a>MethodResponse</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes an existing <a>MethodResponse</a> resource.</p>"
    },
    "DeleteModel":{
      "name":"DeleteModel",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/models/{model_name}",
        "responseCode":202
      },
      "input":{
        "shape":"DeleteModelRequest",
        "documentation":"<p>Request to delete an existing model in an existing <a>RestApi</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes a model.</p>"
    },
    "DeleteResource":{
      "name":"DeleteResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}",
        "responseCode":202
      },
      "input":{
        "shape":"DeleteResourceRequest",
        "documentation":"<p>Request to delete a <a>Resource</a>.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes a <a>Resource</a> resource.</p>"
    },
    "DeleteRestApi":{
      "name":"DeleteRestApi",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}",
        "responseCode":202
      },
      "input":{
        "shape":"DeleteRestApiRequest",
        "documentation":"<p>Request to delete the specified API from your collection.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes the specified API.</p>"
    },
    "DeleteStage":{
      "name":"DeleteStage",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}",
        "responseCode":202
      },
      "input":{
        "shape":"DeleteStageRequest",
        "documentation":"<p>Requests Amazon API Gateway to delete a <a>Stage</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Deletes a <a>Stage</a> resource.</p>"
    },
    "FlushStageCache":{
      "name":"FlushStageCache",
      "http":{
        "method":"DELETE",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/cache/data",
        "responseCode":202
      },
      "input":{
        "shape":"FlushStageCacheRequest",
        "documentation":"<p>Requests Amazon API Gateway to flush a stage's cache.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Flushes a stage's cache.</p>"
    },
    "GenerateClientCertificate":{
      "name":"GenerateClientCertificate",
      "http":{
        "method":"POST",
        "requestUri":"/clientcertificates",
        "responseCode":201
      },
      "input":{"shape":"GenerateClientCertificateRequest"},
      "output":{"shape":"ClientCertificate"},
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ]
    },
    "GetAccount":{
      "name":"GetAccount",
      "http":{
        "method":"GET",
        "requestUri":"/account"
      },
      "input":{
        "shape":"GetAccountRequest",
        "documentation":"<p>Requests Amazon API Gateway to get information about the current <a>Account</a> resource.</p>"
      },
      "output":{
        "shape":"Account",
        "documentation":"<p>Represents an AWS account that is associated with Amazon API Gateway.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Gets information about the current <a>Account</a> resource.</p>"
    },
    "GetApiKey":{
      "name":"GetApiKey",
      "http":{
        "method":"GET",
        "requestUri":"/apikeys/{api_Key}"
      },
      "input":{
        "shape":"GetApiKeyRequest",
        "documentation":"<p>A request to get information about the current <a>ApiKey</a> resource.</p>"
      },
      "output":{
        "shape":"ApiKey",
        "documentation":"<p>A resource that can be distributed to callers for executing <a>Method</a> resources that require an API key. API keys can be mapped to any <a>Stage</a> on any <a>RestApi</a>, which indicates that the callers with the API key can make requests to that stage.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Gets information about the current <a>ApiKey</a> resource.</p>"
    },
    "GetApiKeys":{
      "name":"GetApiKeys",
      "http":{
        "method":"GET",
        "requestUri":"/apikeys"
      },
      "input":{
        "shape":"GetApiKeysRequest",
        "documentation":"<p>A request to get information about the current <a>ApiKeys</a> resource.</p>"
      },
      "output":{
        "shape":"ApiKeys",
        "documentation":"<p>Represents a collection of <a>ApiKey</a> resources.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Gets information about the current <a>ApiKeys</a> resource.</p>"
    },
    "GetBasePathMapping":{
      "name":"GetBasePathMapping",
      "http":{
        "method":"GET",
        "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}"
      },
      "input":{
        "shape":"GetBasePathMappingRequest",
        "documentation":"<p>Request to describe a <a>BasePathMapping</a> resource.</p>"
      },
      "output":{
        "shape":"BasePathMapping",
        "documentation":"<p>Represents the base path that callers of the API that must provide as part of the URL after the domain name.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Describe a <a>BasePathMapping</a> resource.</p>"
    },
    "GetBasePathMappings":{
      "name":"GetBasePathMappings",
      "http":{
        "method":"GET",
        "requestUri":"/domainnames/{domain_name}/basepathmappings"
      },
      "input":{
        "shape":"GetBasePathMappingsRequest",
        "documentation":"<p>A request to get information about a collection of <a>BasePathMapping</a> resources.</p>"
      },
      "output":{
        "shape":"BasePathMappings",
        "documentation":"<p>Represents a collection of <a>BasePathMapping</a> resources.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a collection of <a>BasePathMapping</a> resources.</p>"
    },
    "GetClientCertificate":{
      "name":"GetClientCertificate",
      "http":{
        "method":"GET",
        "requestUri":"/clientcertificates/{clientcertificate_id}"
      },
      "input":{"shape":"GetClientCertificateRequest"},
      "output":{"shape":"ClientCertificate"},
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ]
    },
    "GetClientCertificates":{
      "name":"GetClientCertificates",
      "http":{
        "method":"GET",
        "requestUri":"/clientcertificates"
      },
      "input":{"shape":"GetClientCertificatesRequest"},
      "output":{"shape":"ClientCertificates"},
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ]
    },
    "GetDeployment":{
      "name":"GetDeployment",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}"
      },
      "input":{
        "shape":"GetDeploymentRequest",
        "documentation":"<p>Requests Amazon API Gateway to get information about a <a>Deployment</a> resource.</p>"
      },
      "output":{
        "shape":"Deployment",
        "documentation":"<p>An immutable representation of a <a>RestApi</a> resource that can be called by users using <a>Stages</a>. A deployment must be associated with a <a>Stage</a> for it to be callable over the Internet.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"ServiceUnavailableException",
          "error":{"httpStatusCode":503},
          "exception":true,
          "fault":true
        }
      ],
      "documentation":"<p>Gets information about a <a>Deployment</a> resource.</p>"
    },
    "GetDeployments":{
      "name":"GetDeployments",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/deployments"
      },
      "input":{
        "shape":"GetDeploymentsRequest",
        "documentation":"<p>Requests Amazon API Gateway to get information about a <a>Deployments</a> collection.</p>"
      },
      "output":{
        "shape":"Deployments",
        "documentation":"<p>Represents a collection resource that contains zero or more references to your existing deployments, and links that guide you on ways to interact with your collection. The collection offers a paginated view of the contained deployments.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"ServiceUnavailableException",
          "error":{"httpStatusCode":503},
          "exception":true,
          "fault":true
        }
      ],
      "documentation":"<p>Gets information about a <a>Deployments</a> collection.</p>"
    },
    "GetDomainName":{
      "name":"GetDomainName",
      "http":{
        "method":"GET",
        "requestUri":"/domainnames/{domain_name}"
      },
      "input":{
        "shape":"GetDomainNameRequest",
        "documentation":"<p>Request to get the name of a <a>DomainName</a> resource.</p>"
      },
      "output":{
        "shape":"DomainName",
        "documentation":"<p>Represents a domain name that is contained in a simpler, more intuitive URL that can be called.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ServiceUnavailableException",
          "error":{"httpStatusCode":503},
          "exception":true,
          "fault":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a domain name that is contained in a simpler, more intuitive URL that can be called.</p>"
    },
    "GetDomainNames":{
      "name":"GetDomainNames",
      "http":{
        "method":"GET",
        "requestUri":"/domainnames"
      },
      "input":{
        "shape":"GetDomainNamesRequest",
        "documentation":"<p>Request to describe a collection of <a>DomainName</a> resources.</p>"
      },
      "output":{
        "shape":"DomainNames",
        "documentation":"<p>Represents a collection of <a>DomainName</a> resources.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a collection of <a>DomainName</a> resources.</p>"
    },
    "GetIntegration":{
      "name":"GetIntegration",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
      },
      "input":{
        "shape":"GetIntegrationRequest",
        "documentation":"<p>Represents a get integration request.</p>"
      },
      "output":{
        "shape":"Integration",
        "documentation":"<p>Represents a HTTP, AWS, or Mock integration.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a get integration.</p>"
    },
    "GetIntegrationResponse":{
      "name":"GetIntegrationResponse",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
      },
      "input":{
        "shape":"GetIntegrationResponseRequest",
        "documentation":"<p>Represents a get integration response request.</p>"
      },
      "output":{
        "shape":"IntegrationResponse",
        "documentation":"<p>Represents an integration response. The status code must map to an existing <a>MethodResponse</a>, and parameters and templates can be used to transform the backend response.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a get integration response.</p>"
    },
    "GetMethod":{
      "name":"GetMethod",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input":{
        "shape":"GetMethodRequest",
        "documentation":"<p>Request to describe an existing <a>Method</a> resource.</p>"
      },
      "output":{
        "shape":"Method",
        "documentation":"<p>Represents a method.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Describe an existing <a>Method</a> resource.</p>"
    },
    "GetMethodResponse":{
      "name":"GetMethodResponse",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}"
      },
      "input":{
        "shape":"GetMethodResponseRequest",
        "documentation":"<p>Request to describe a <a>MethodResponse</a> resource.</p>"
      },
      "output":{
        "shape":"MethodResponse",
        "documentation":"<p>Represents a method response. Amazon API Gateway sends back the status code to the caller as the HTTP status code. Parameters and models can be used to transform the response from the method's integration.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Describes a <a>MethodResponse</a> resource.</p>"
    },
    "GetModel":{
      "name":"GetModel",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/models/{model_name}"
      },
      "input":{
        "shape":"GetModelRequest",
        "documentation":"<p>Request to list information about a model in an existing <a>RestApi</a> resource.</p>"
      },
      "output":{
        "shape":"Model",
        "documentation":"<p>Represents the structure of a request or response payload for a method.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Describes an existing model defined for a <a>RestApi</a> resource.</p>"
    },
    "GetModelTemplate":{
      "name":"GetModelTemplate",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/models/{model_name}/default_template"
      },
      "input":{
        "shape":"GetModelTemplateRequest",
        "documentation":"<p>Request to generate a sample mapping template used to transform the payload.</p>"
      },
      "output":{
        "shape":"Template",
        "documentation":"<p>Represents a mapping template used to transform a payload.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Generates a sample mapping template that can be used to transform a payload into the structure of a model.</p>"
    },
    "GetModels":{
      "name":"GetModels",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/models"
      },
      "input":{
        "shape":"GetModelsRequest",
        "documentation":"<p>Request to list existing <a>Models</a> defined for a <a>RestApi</a> resource.</p>"
      },
      "output":{
        "shape":"Models",
        "documentation":"<p>Represents a collection of <a>Model</a> resources.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Describes existing <a>Models</a> defined for a <a>RestApi</a> resource.</p>"
    },
    "GetResource":{
      "name":"GetResource",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}"
      },
      "input":{
        "shape":"GetResourceRequest",
        "documentation":"<p>Request to list information about a resource.</p>"
      },
      "output":{
        "shape":"Resource",
        "documentation":"<p>Represents a resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Lists information about a resource.</p>"
    },
    "GetResources":{
      "name":"GetResources",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/resources"
      },
      "input":{
        "shape":"GetResourcesRequest",
        "documentation":"<p>Request to list information about a collection of resources.</p>"
      },
      "output":{
        "shape":"Resources",
        "documentation":"<p>Represents a collection of <a>Resource</a> resources.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Lists information about a collection of <a>Resource</a> resources.</p>"
    },
    "GetRestApi":{
      "name":"GetRestApi",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}"
      },
      "input":{
        "shape":"GetRestApiRequest",
        "documentation":"<p>Request to list an existing <a>RestApi</a> defined for your collection. </p>"
      },
      "output":{
        "shape":"RestApi",
        "documentation":"<p>Represents a REST API.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Lists the <a>RestApi</a> resource in the collection.</p>"
    },
    "GetRestApis":{
      "name":"GetRestApis",
      "http":{
        "method":"GET",
        "requestUri":"/restapis"
      },
      "input":{
        "shape":"GetRestApisRequest",
        "documentation":"<p>Request to list existing <a>RestApis</a> defined for your collection.</p>"
      },
      "output":{
        "shape":"RestApis",
        "documentation":"<p>Contains references to your APIs and links that guide you in ways to interact with your collection. A collection offers a paginated view of your APIs.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Lists the <a>RestApis</a> resources for your collection.</p>"
    },
    "GetSdk":{
      "name":"GetSdk",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}/sdks/{sdk_type}",
        "responseCode":200
      },
      "input":{"shape":"GetSdkRequest"},
      "output":{"shape":"SdkResponse"},
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ]
    },
    "GetStage":{
      "name":"GetStage",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}"
      },
      "input":{
        "shape":"GetStageRequest",
        "documentation":"<p>Requests Amazon API Gateway to get information about a <a>Stage</a> resource.</p>"
      },
      "output":{
        "shape":"Stage",
        "documentation":"<p>Represents a unique identifier for a version of a deployed <a>RestApi</a> that is callable by users.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Gets information about a <a>Stage</a> resource.</p>"
    },
    "GetStages":{
      "name":"GetStages",
      "http":{
        "method":"GET",
        "requestUri":"/restapis/{restapi_id}/stages"
      },
      "input":{
        "shape":"GetStagesRequest",
        "documentation":"<p>Requests Amazon API Gateway to get information about one or more <a>Stage</a> resources.</p>"
      },
      "output":{
        "shape":"Stages",
        "documentation":"<p>A list of <a>Stage</a> resource that are associated with the <a>ApiKey</a> resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Gets information about one or more <a>Stage</a> resources.</p>"
    },
    "PutIntegration":{
      "name":"PutIntegration",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration",
        "responseCode":201
      },
      "input":{
        "shape":"PutIntegrationRequest",
        "documentation":"<p>Represents a put integration request.</p>"
      },
      "output":{
        "shape":"Integration",
        "documentation":"<p>Represents a HTTP, AWS, or Mock integration.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a put integration.</p>"
    },
    "PutIntegrationResponse":{
      "name":"PutIntegrationResponse",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}",
        "responseCode":201
      },
      "input":{
        "shape":"PutIntegrationResponseRequest",
        "documentation":"<p>Represents a put integration response request.</p>"
      },
      "output":{
        "shape":"IntegrationResponse",
        "documentation":"<p>Represents an integration response. The status code must map to an existing <a>MethodResponse</a>, and parameters and templates can be used to transform the backend response.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents a put integration.</p>"
    },
    "PutMethod":{
      "name":"PutMethod",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}",
        "responseCode":201
      },
      "input":{
        "shape":"PutMethodRequest",
        "documentation":"<p>Request to add a method to an existing <a>Resource</a> resource.</p>"
      },
      "output":{
        "shape":"Method",
        "documentation":"<p>Represents a method.</p>"
      },
      "errors":[
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Add a method to an existing <a>Resource</a> resource.</p>"
    },
    "PutMethodResponse":{
      "name":"PutMethodResponse",
      "http":{
        "method":"PUT",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode":201
      },
      "input":{
        "shape":"PutMethodResponseRequest",
        "documentation":"<p>Request to add a <a>MethodResponse</a> to an existing <a>Method</a> resource.</p>"
      },
      "output":{
        "shape":"MethodResponse",
        "documentation":"<p>Represents a method response. Amazon API Gateway sends back the status code to the caller as the HTTP status code. Parameters and models can be used to transform the response from the method's integration.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Adds a <a>MethodResponse</a> to an existing <a>Method</a> resource.</p>"
    },
    "TestInvokeMethod":{
      "name":"TestInvokeMethod",
      "http":{
        "method":"POST",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input":{"shape":"TestInvokeMethodRequest"},
      "output":{
        "shape":"TestInvokeMethodResponse",
        "documentation":"<p>Represents the response of the test invoke request in HTTP method.</p>"
      },
      "errors":[
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ]
    },
    "UpdateAccount":{
      "name":"UpdateAccount",
      "http":{
        "method":"PATCH",
        "requestUri":"/account"
      },
      "input":{
        "shape":"UpdateAccountRequest",
        "documentation":"<p>Requests Amazon API Gateway to change information about the current <a>Account</a> resource.</p>"
      },
      "output":{
        "shape":"Account",
        "documentation":"<p>Represents an AWS account that is associated with Amazon API Gateway.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Changes information about the current <a>Account</a> resource.</p>"
    },
    "UpdateApiKey":{
      "name":"UpdateApiKey",
      "http":{
        "method":"PATCH",
        "requestUri":"/apikeys/{api_Key}"
      },
      "input":{
        "shape":"UpdateApiKeyRequest",
        "documentation":"<p>A request to change information about an <a>ApiKey</a> resource.</p>"
      },
      "output":{
        "shape":"ApiKey",
        "documentation":"<p>A resource that can be distributed to callers for executing <a>Method</a> resources that require an API key. API keys can be mapped to any <a>Stage</a> on any <a>RestApi</a>, which indicates that the callers with the API key can make requests to that stage.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Changes information about an <a>ApiKey</a> resource.</p>"
    },
    "UpdateBasePathMapping":{
      "name":"UpdateBasePathMapping",
      "http":{
        "method":"PATCH",
        "requestUri":"/domainnames/{domain_name}/basepathmappings/{base_path}"
      },
      "input":{
        "shape":"UpdateBasePathMappingRequest",
        "documentation":"<p>A request to change information about the <a>BasePathMapping</a> resource.</p>"
      },
      "output":{
        "shape":"BasePathMapping",
        "documentation":"<p>Represents the base path that callers of the API that must provide as part of the URL after the domain name.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Changes information about the <a>BasePathMapping</a> resource.</p>"
    },
    "UpdateClientCertificate":{
      "name":"UpdateClientCertificate",
      "http":{
        "method":"PATCH",
        "requestUri":"/clientcertificates/{clientcertificate_id}"
      },
      "input":{"shape":"UpdateClientCertificateRequest"},
      "output":{"shape":"ClientCertificate"},
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        }
      ]
    },
    "UpdateDeployment":{
      "name":"UpdateDeployment",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/deployments/{deployment_id}"
      },
      "input":{
        "shape":"UpdateDeploymentRequest",
        "documentation":"<p>Requests Amazon API Gateway to change information about a <a>Deployment</a> resource.</p>"
      },
      "output":{
        "shape":"Deployment",
        "documentation":"<p>An immutable representation of a <a>RestApi</a> resource that can be called by users using <a>Stages</a>. A deployment must be associated with a <a>Stage</a> for it to be callable over the Internet.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"ServiceUnavailableException",
          "error":{"httpStatusCode":503},
          "exception":true,
          "fault":true
        }
      ],
      "documentation":"<p>Changes information about a <a>Deployment</a> resource.</p>"
    },
    "UpdateDomainName":{
      "name":"UpdateDomainName",
      "http":{
        "method":"PATCH",
        "requestUri":"/domainnames/{domain_name}"
      },
      "input":{
        "shape":"UpdateDomainNameRequest",
        "documentation":"<p>A request to change information about the <a>DomainName</a> resource.</p>"
      },
      "output":{
        "shape":"DomainName",
        "documentation":"<p>Represents a domain name that is contained in a simpler, more intuitive URL that can be called.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Changes information about the <a>DomainName</a> resource.</p>"
    },
    "UpdateIntegration":{
      "name":"UpdateIntegration",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration"
      },
      "input":{
        "shape":"UpdateIntegrationRequest",
        "documentation":"<p>Represents an update integration request.</p>"
      },
      "output":{
        "shape":"Integration",
        "documentation":"<p>Represents a HTTP, AWS, or Mock integration.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents an update integration.</p>"
    },
    "UpdateIntegrationResponse":{
      "name":"UpdateIntegrationResponse",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/integration/responses/{status_code}"
      },
      "input":{
        "shape":"UpdateIntegrationResponseRequest",
        "documentation":"<p>Represents an update integration response request.</p>"
      },
      "output":{
        "shape":"IntegrationResponse",
        "documentation":"<p>Represents an integration response. The status code must map to an existing <a>MethodResponse</a>, and parameters and templates can be used to transform the backend response.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Represents an update integration response.</p>"
    },
    "UpdateMethod":{
      "name":"UpdateMethod",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}"
      },
      "input":{
        "shape":"UpdateMethodRequest",
        "documentation":"<p>Request to update an existing <a>Method</a> resource.</p>"
      },
      "output":{
        "shape":"Method",
        "documentation":"<p>Represents a method.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Updates an existing <a>Method</a> resource.</p>"
    },
    "UpdateMethodResponse":{
      "name":"UpdateMethodResponse",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}/methods/{http_method}/responses/{status_code}",
        "responseCode":201
      },
      "input":{
        "shape":"UpdateMethodResponseRequest",
        "documentation":"<p>A request to update an existing <a>MethodResponse</a> resource.</p>"
      },
      "output":{
        "shape":"MethodResponse",
        "documentation":"<p>Represents a method response. Amazon API Gateway sends back the status code to the caller as the HTTP status code. Parameters and models can be used to transform the response from the method's integration.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"LimitExceededException",
          "error":{"httpStatusCode":429},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Updates an existing <a>MethodResponse</a> resource.</p>"
    },
    "UpdateModel":{
      "name":"UpdateModel",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/models/{model_name}"
      },
      "input":{
        "shape":"UpdateModelRequest",
        "documentation":"<p>Request to update an existing model in an existing <a>RestApi</a> resource.</p>"
      },
      "output":{
        "shape":"Model",
        "documentation":"<p>Represents the structure of a request or response payload for a method.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Changes information about a model.</p>"
    },
    "UpdateResource":{
      "name":"UpdateResource",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/resources/{resource_id}"
      },
      "input":{
        "shape":"UpdateResourceRequest",
        "documentation":"<p>Request to change information about a <a>Resource</a> resource.</p>"
      },
      "output":{
        "shape":"Resource",
        "documentation":"<p>Represents a resource.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Changes information about a <a>Resource</a> resource.</p>"
    },
    "UpdateRestApi":{
      "name":"UpdateRestApi",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}"
      },
      "input":{
        "shape":"UpdateRestApiRequest",
        "documentation":"<p>Request to update an existing <a>RestApi</a> resource in your collection.</p>"
      },
      "output":{
        "shape":"RestApi",
        "documentation":"<p>Represents a REST API.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Changes information about the specified API.</p>"
    },
    "UpdateStage":{
      "name":"UpdateStage",
      "http":{
        "method":"PATCH",
        "requestUri":"/restapis/{restapi_id}/stages/{stage_name}"
      },
      "input":{
        "shape":"UpdateStageRequest",
        "documentation":"<p>Requests Amazon API Gateway to change information about a <a>Stage</a> resource.</p>"
      },
      "output":{
        "shape":"Stage",
        "documentation":"<p>Represents a unique identifier for a version of a deployed <a>RestApi</a> that is callable by users.</p>"
      },
      "errors":[
        {
          "shape":"UnauthorizedException",
          "error":{"httpStatusCode":401},
          "exception":true
        },
        {
          "shape":"NotFoundException",
          "error":{"httpStatusCode":404},
          "exception":true
        },
        {
          "shape":"ConflictException",
          "error":{"httpStatusCode":409},
          "exception":true
        },
        {
          "shape":"BadRequestException",
          "error":{"httpStatusCode":400},
          "exception":true
        },
        {
          "shape":"TooManyRequestsException",
          "error":{"httpStatusCode":429},
          "exception":true
        }
      ],
      "documentation":"<p>Changes information about a <a>Stage</a> resource.</p>"
    }
  },
  "shapes":{
    "Account":{
      "type":"structure",
      "members":{
        "cloudwatchRoleArn":{
          "shape":"String",
          "documentation":"<p>Specifies the Amazon resource name (ARN) of an Amazon CloudWatch role for the current <a>Account</a> resource.</p>"
        },
        "throttleSettings":{
          "shape":"ThrottleSettings",
          "documentation":"<p>Specifies the application programming interface (API) throttle settings for the current <a>Account</a> resource.</p>"
        }
      },
      "documentation":"<p>Represents an AWS account that is associated with Amazon API Gateway.</p>"
    },
    "ApiKey":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"String",
          "documentation":"<p>The identifier of the API Key.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the API Key.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the API Key.</p>"
        },
        "enabled":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether the API Key can be used by callers.</p>"
        },
        "stageKeys":{
          "shape":"ListOfString",
          "documentation":"<p>A list of <a>Stage</a> resources that are associated with the <a>ApiKey</a> resource.</p>"
        },
        "createdDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the API Key was created, in <a target=\"_blank\" href=\"http://www.iso.org/iso/home/standards/iso8601.htm\">ISO 8601 format</a>.</p>"
        },
        "lastUpdatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>When the API Key was last updated, in ISO 8601 format.</p>"
        }
      },
      "documentation":"<p>A resource that can be distributed to callers for executing <a>Method</a> resources that require an API key. API keys can be mapped to any <a>Stage</a> on any <a>RestApi</a>, which indicates that the callers with the API key can make requests to that stage.</p>"
    },
    "ApiKeys":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfApiKey",
          "documentation":"<p>The current page of any <a>ApiKey</a> resources in the collection of <a>ApiKey</a> resources.</p>",
          "locationName":"item"
        }
      },
      "documentation":"<p>Represents a collection of <a>ApiKey</a> resources.</p>"
    },
    "BadRequestException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":400},
      "exception":true
    },
    "BasePathMapping":{
      "type":"structure",
      "members":{
        "basePath":{
          "shape":"String",
          "documentation":"<p>The base path name that callers of the API must provide as part of the URL after the domain name.</p>"
        },
        "restApiId":{
          "shape":"String",
          "documentation":"<p>The name of the API.</p>"
        },
        "stage":{
          "shape":"String",
          "documentation":"<p>The name of the API's stage.</p>"
        }
      },
      "documentation":"<p>Represents the base path that callers of the API that must provide as part of the URL after the domain name.</p>"
    },
    "BasePathMappings":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfBasePathMapping",
          "documentation":"<p>The current page of any <a>BasePathMapping</a> resources in the collection of base path mapping resources.</p>",
          "locationName":"item"
        }
      },
      "documentation":"<p>Represents a collection of <a>BasePathMapping</a> resources.</p>"
    },
    "Blob":{"type":"blob"},
    "Boolean":{"type":"boolean"},
    "CacheClusterSize":{
      "type":"string",
      "enum":[
        "0.5",
        "1.6",
        "6.1",
        "13.5",
        "28.4",
        "58.2",
        "118",
        "237"
      ],
      "documentation":"<p>Returns the size of the <b>CacheCluster</b>.</p>"
    },
    "CacheClusterStatus":{
      "type":"string",
      "enum":[
        "CREATE_IN_PROGRESS",
        "AVAILABLE",
        "DELETE_IN_PROGRESS",
        "NOT_AVAILABLE",
        "FLUSH_IN_PROGRESS"
      ],
      "documentation":"<p>Returns the status of the <b>CacheCluster</b>.</p>"
    },
    "ClientCertificate":{
      "type":"structure",
      "members":{
        "clientCertificateId":{"shape":"String"},
        "description":{"shape":"String"},
        "pemEncodedCertificate":{"shape":"String"},
        "createdDate":{"shape":"Timestamp"},
        "expirationDate":{"shape":"Timestamp"}
      }
    },
    "ClientCertificates":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfClientCertificate",
          "locationName":"item"
        }
      }
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":409},
      "exception":true
    },
    "CreateApiKeyRequest":{
      "type":"structure",
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the <a>ApiKey</a>.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the <a>ApiKey</a>.</p>"
        },
        "enabled":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether the <a>ApiKey</a> can be used by callers.</p>"
        },
        "stageKeys":{
          "shape":"ListOfStageKeys",
          "documentation":"<p>Specifies whether the <a>ApiKey</a> can be used by callers.</p>"
        }
      }
    },
    "CreateBasePathMappingRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "restApiId"
      ],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name",
          "documentation":"<p>The domain name of the <a>BasePathMapping</a> resource to create.</p>"
        },
        "basePath":{
          "shape":"String",
          "documentation":"<p>The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify a base path name after the domain name.</p>"
        },
        "restApiId":{
          "shape":"String",
          "documentation":"<p>The name of the API that you want to apply this mapping to.</p>"
        },
        "stage":{
          "shape":"String",
          "documentation":"<p>The name of the API's stage that you want to use for this mapping. Leave this blank if you do not want callers to explicitly specify the stage name after any base path name.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to create a new <a>BasePathMapping</a> resource.</p>"
    },
    "CreateDeploymentRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> resource identifier for the <a>Deployment</a> resource to create.</p>"
        },
        "stageName":{
          "shape":"String",
          "documentation":"<p>The name of the <a>Stage</a> resource for the <a>Deployment</a> resource to create.</p>"
        },
        "stageDescription":{
          "shape":"String",
          "documentation":"<p>The description of the <a>Stage</a> resource for the <a>Deployment</a> resource to create.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description for the <a>Deployment</a> resource to create.</p>"
        },
        "cacheClusterEnabled":{
          "shape":"NullableBoolean",
          "documentation":"<p>Enables a cache cluster for the <a>Stage</a> resource specified in the input.</p>"
        },
        "cacheClusterSize":{
          "shape":"CacheClusterSize",
          "documentation":"<p>Specifies the cache cluster size for the <a>Stage</a> resource specified in the input, if a cache cluster is enabled.</p>"
        },
        "variables":{
          "shape":"MapOfStringToString",
          "documentation":"<p>A map that defines the stage variables for the <a>Stage</a> resource that is associated with the new deployment. Variable names can have alphabetic characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to create a <a>Deployment</a> resource.</p>"
    },
    "CreateDomainNameRequest":{
      "type":"structure",
      "members":{
        "domainName":{
          "shape":"String",
          "documentation":"<p>The name of the <a>DomainName</a> resource.</p>"
        },
        "certificateName":{
          "shape":"String",
          "documentation":"<p>The name of the certificate.</p>"
        },
        "certificateBody":{
          "shape":"String",
          "documentation":"<p>The body of the server certificate provided by your certificate authority.</p>"
        },
        "certificatePrivateKey":{
          "shape":"String",
          "documentation":"<p>Your certificate's private key.</p>"
        },
        "certificateChain":{
          "shape":"String",
          "documentation":"<p>The intermediate certificates and optionally the root certificate, one after the other without any blank lines. If you include the root certificate, your certificate chain must start with intermediate certificates and end with the root certificate. Use the intermediate certificates that were provided by your certificate authority. Do not include any intermediaries that are not in the chain of trust path.</p>"
        }
      },
      "documentation":"<p>A request to create a new domain name.</p>",
      "required":[
        "domainName",
        "certificateName",
        "certificateBody",
        "certificatePrivateKey",
        "certificateChain"
      ]
    },
    "CreateModelRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "name",
        "contentType"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier under which the <a>Model</a> will be created.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the model.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the model.</p>"
        },
        "schema":{
          "shape":"String",
          "documentation":"<p>The schema for the model. For <code>application/json</code> models, this should be <a target=\"_blank\" href=\"http://json-schema.org/documentation.html\">JSON-schema draft v4</a> model.</p>"
        },
        "contentType":{
          "shape":"String",
          "documentation":"<p>The content-type for the model.</p>"
        }
      },
      "documentation":"<p>Request to add a new <a>Model</a> to an existing <a>RestApi</a> resource.</p>"
    },
    "CreateResourceRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "parentId",
        "pathPart"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> for the resource. </p>"
        },
        "parentId":{
          "shape":"String",
          "location":"uri",
          "locationName":"parent_id",
          "documentation":"<p>The parent resource's identifier.</p>"
        },
        "pathPart":{
          "shape":"String",
          "documentation":"<p>The last path segment for this resource.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to create a <a>Resource</a> resource.</p>"
    },
    "CreateRestApiRequest":{
      "type":"structure",
      "required":["name"],
      "members":{
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the <a>RestApi</a>.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the <a>RestApi</a>.</p>"
        },
        "cloneFrom":{
          "shape":"String",
          "documentation":"<p>The name of the <a>RestApi</a> that you want to clone from.</p>"
        }
      },
      "documentation":"<p>Request to add a new <a>RestApi</a> resource to your collection.</p>"
    },
    "CreateStageRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName",
        "deploymentId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> resource for the <a>Stage</a> resource to create.</p>"
        },
        "stageName":{
          "shape":"String",
          "documentation":"<p>The name for the <a>Stage</a> resource.</p>"
        },
        "deploymentId":{
          "shape":"String",
          "documentation":"<p>The identifier of the <a>Deployment</a> resource for the <a>Stage</a> resource.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the <a>Stage</a> resource.</p>"
        },
        "cacheClusterEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Whether cache clustering is enabled for the stage.</p>"
        },
        "cacheClusterSize":{
          "shape":"CacheClusterSize",
          "documentation":"<p>The stage's cache cluster size.</p>"
        },
        "variables":{
          "shape":"MapOfStringToString",
          "documentation":"<p>A map that defines the stage variables for the new <a>Stage</a> resource. Variable names can have alphabetic characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to create a <a>Stage</a> resource.</p>"
    },
    "DeleteApiKeyRequest":{
      "type":"structure",
      "required":["apiKey"],
      "members":{
        "apiKey":{
          "shape":"String",
          "location":"uri",
          "locationName":"api_Key",
          "documentation":"<p>The identifier of the <a>ApiKey</a> resource to be deleted.</p>"
        }
      },
      "documentation":"<p>A request to delete the <a>ApiKey</a> resource.</p>"
    },
    "DeleteBasePathMappingRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "basePath"
      ],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name",
          "documentation":"<p>The domain name of the <a>BasePathMapping</a> resource to delete.</p>"
        },
        "basePath":{
          "shape":"String",
          "location":"uri",
          "locationName":"base_path",
          "documentation":"<p>The base path name of the <a>BasePathMapping</a> resource to delete.</p>"
        }
      },
      "documentation":"<p>A request to delete the <a>BasePathMapping</a> resource.</p>"
    },
    "DeleteClientCertificateRequest":{
      "type":"structure",
      "required":["clientCertificateId"],
      "members":{
        "clientCertificateId":{
          "shape":"String",
          "location":"uri",
          "locationName":"clientcertificate_id"
        }
      }
    },
    "DeleteDeploymentRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "deploymentId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> resource for the <a>Deployment</a> resource to delete.</p>"
        },
        "deploymentId":{
          "shape":"String",
          "location":"uri",
          "locationName":"deployment_id",
          "documentation":"<p>The identifier of the <a>Deployment</a> resource to delete.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to delete a <a>Deployment</a> resource.</p>"
    },
    "DeleteDomainNameRequest":{
      "type":"structure",
      "required":["domainName"],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name",
          "documentation":"<p>The name of the <a>DomainName</a> resource to be deleted.</p>"
        }
      },
      "documentation":"<p>A request to delete the <a>DomainName</a> resource.</p>"
    },
    "DeleteIntegrationRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>Specifies a delete integration request's API identifier.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>Specifies a delete integration request's resource identifier.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies a delete integration request's HTTP method.</p>"
        }
      },
      "documentation":"<p>Represents a delete integration request.</p>"
    },
    "DeleteIntegrationResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>Specifies a delete integration response request's API identifier.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>Specifies a delete integration response request's resource identifier.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies a delete integration response request's HTTP method.</p>"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code",
          "documentation":"<p>Specifies a delete integration response request's status code.</p>"
        }
      },
      "documentation":"<p>Represents a delete integration response request.</p>"
    },
    "DeleteMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>Method</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The <a>Resource</a> identifier for the <a>Method</a> resource.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>The HTTP verb that identifies the <a>Method</a> resource.</p>"
        }
      },
      "documentation":"<p>Request to delete an existing <a>Method</a> resource.</p>"
    },
    "DeleteMethodResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>MethodResponse</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The <a>Resource</a> identifier for the <a>MethodResponse</a> resource.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>The HTTP verb identifier for the parent <a>Method</a> resource.</p>"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code",
          "documentation":"<p>The status code identifier for the <a>MethodResponse</a> resource.</p>"
        }
      },
      "documentation":"<p>A request to delete an existing <a>MethodResponse</a> resource.</p>"
    },
    "DeleteModelRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "modelName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> under which the model will be deleted.</p>"
        },
        "modelName":{
          "shape":"String",
          "location":"uri",
          "locationName":"model_name",
          "documentation":"<p>The name of the model to delete.</p>"
        }
      },
      "documentation":"<p>Request to delete an existing model in an existing <a>RestApi</a> resource.</p>"
    },
    "DeleteResourceRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>Resource</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The identifier of the <a>Resource</a> resource.</p>"
        }
      },
      "documentation":"<p>Request to delete a <a>Resource</a>.</p>"
    },
    "DeleteRestApiRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The ID of the <a>RestApi</a> you want to delete.</p>"
        }
      },
      "documentation":"<p>Request to delete the specified API from your collection.</p>"
    },
    "DeleteStageRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> resource for the <a>Stage</a> resource to delete.</p>"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name",
          "documentation":"<p>The name of the <a>Stage</a> resource to delete.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to delete a <a>Stage</a> resource.</p>"
    },
    "Deployment":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"String",
          "documentation":"<p>The identifier for the deployment resource.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description for the deployment resource.</p>"
        },
        "createdDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time that the deployment resource was created.</p>"
        },
        "apiSummary":{
          "shape":"PathToMapOfMethodSnapshot",
          "documentation":"<p>Gets a summary of the <a>RestApi</a> at the date and time that the deployment resource was created.</p>"
        }
      },
      "documentation":"<p>An immutable representation of a <a>RestApi</a> resource that can be called by users using <a>Stages</a>. A deployment must be associated with a <a>Stage</a> for it to be callable over the Internet.</p>"
    },
    "Deployments":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfDeployment",
          "documentation":"<p>The current page of any <a>Deployment</a> resources in the collection of deployment resources.</p>",
          "locationName":"item"
        }
      },
      "documentation":"<p>Represents a collection resource that contains zero or more references to your existing deployments, and links that guide you on ways to interact with your collection. The collection offers a paginated view of the contained deployments.</p>"
    },
    "DomainName":{
      "type":"structure",
      "members":{
        "domainName":{
          "shape":"String",
          "documentation":"<p>The name of the <a>DomainName</a> resource.</p>"
        },
        "certificateName":{
          "shape":"String",
          "documentation":"<p>The name of the certificate.</p>"
        },
        "certificateUploadDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the certificate was uploaded, in <a target=\"_blank\" href=\"http://www.iso.org/iso/home/standards/iso8601.htm\">ISO 8601 format</a>.</p>"
        },
        "distributionDomainName":{
          "shape":"String",
          "documentation":"<p>The domain name of the Amazon CloudFront distribution. For more information, see the <a target=\"_blank\" href=\"http://aws.amazon.com/documentation/cloudfront/\">Amazon CloudFront documentation</a>.</p>"
        }
      },
      "documentation":"<p>Represents a domain name that is contained in a simpler, more intuitive URL that can be called.</p>"
    },
    "DomainNames":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfDomainName",
          "documentation":"<p>The current page of any <a>DomainName</a> resources in the collection of <a>DomainName</a> resources.</p>",
          "locationName":"item"
        }
      },
      "documentation":"<p>Represents a collection of <a>DomainName</a> resources.</p>"
    },
    "Double":{"type":"double"},
    "FlushStageCacheRequest":{
      "type":"structure",
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The API identifier of the stage to flush its cache.</p>"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name",
          "documentation":"<p>The name of the stage to flush its cache.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to flush a stage's cache.</p>",
      "required":[
        "restApiId",
        "stageName"
      ]
    },
    "GenerateClientCertificateRequest":{
      "type":"structure",
      "members":{
        "description":{"shape":"String"}
      }
    },
    "GetAccountRequest":{
      "type":"structure",
      "members":{
      },
      "documentation":"<p>Requests Amazon API Gateway to get information about the current <a>Account</a> resource.</p>"
    },
    "GetApiKeyRequest":{
      "type":"structure",
      "required":["apiKey"],
      "members":{
        "apiKey":{
          "shape":"String",
          "location":"uri",
          "locationName":"api_Key",
          "documentation":"<p>The identifier of the <a>ApiKey</a> resource.</p>"
        }
      },
      "documentation":"<p>A request to get information about the current <a>ApiKey</a> resource.</p>"
    },
    "GetApiKeysRequest":{
      "type":"structure",
      "members":{
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position",
          "documentation":"<p>The position of the current <a>ApiKeys</a> resource to get information about.</p>"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit",
          "documentation":"<p>The maximum number of <a>ApiKeys</a> to get information about.</p>"
        }
      },
      "documentation":"<p>A request to get information about the current <a>ApiKeys</a> resource.</p>"
    },
    "GetBasePathMappingRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "basePath"
      ],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name",
          "documentation":"<p>The domain name of the <a>BasePathMapping</a> resource to be described.</p>"
        },
        "basePath":{
          "shape":"String",
          "location":"uri",
          "locationName":"base_path",
          "documentation":"<p>The base path name that callers of the API must provide as part of the URL after the domain name. This value must be unique for all of the mappings across a single API. Leave this blank if you do not want callers to specify any base path name after the domain name.</p>"
        }
      },
      "documentation":"<p>Request to describe a <a>BasePathMapping</a> resource.</p>"
    },
    "GetBasePathMappingsRequest":{
      "type":"structure",
      "required":["domainName"],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name",
          "documentation":"<p>The domain name of a <a>BasePathMapping</a> resource.</p>"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position",
          "documentation":"<p>The position of the current <a>BasePathMapping</a> resource in the collection to get information about.</p>"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit",
          "documentation":"<p>The maximum number of <a>BasePathMapping</a> resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.</p>"
        }
      },
      "documentation":"<p>A request to get information about a collection of <a>BasePathMapping</a> resources.</p>"
    },
    "GetClientCertificateRequest":{
      "type":"structure",
      "required":["clientCertificateId"],
      "members":{
        "clientCertificateId":{
          "shape":"String",
          "location":"uri",
          "locationName":"clientcertificate_id"
        }
      }
    },
    "GetClientCertificatesRequest":{
      "type":"structure",
      "members":{
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit"
        }
      }
    },
    "GetDeploymentRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "deploymentId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> resource for the <a>Deployment</a> resource to get information about.</p>"
        },
        "deploymentId":{
          "shape":"String",
          "location":"uri",
          "locationName":"deployment_id",
          "documentation":"<p>The identifier of the <a>Deployment</a> resource to get information about.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to get information about a <a>Deployment</a> resource.</p>"
    },
    "GetDeploymentsRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> resource for the collection of <a>Deployment</a> resources to get information about.</p>"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position",
          "documentation":"<p>The position of the current <a>Deployment</a> resource in the collection to get information about.</p>"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit",
          "documentation":"<p>The maximum number of <a>Deployment</a> resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to get information about a <a>Deployments</a> collection.</p>"
    },
    "GetDomainNameRequest":{
      "type":"structure",
      "required":["domainName"],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name",
          "documentation":"<p>The name of the <a>DomainName</a> resource.</p>"
        }
      },
      "documentation":"<p>Request to get the name of a <a>DomainName</a> resource.</p>"
    },
    "GetDomainNamesRequest":{
      "type":"structure",
      "members":{
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position",
          "documentation":"<p>The position of the current domain names to get information about.</p>"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit",
          "documentation":"<p>The maximum number of <a>DomainName</a> resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.</p>"
        }
      },
      "documentation":"<p>Request to describe a collection of <a>DomainName</a> resources.</p>"
    },
    "GetIntegrationRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>Specifies a get integration request's API identifier.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>Specifies a get integration request's resource identifier</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies a get integration request's HTTP method.</p>"
        }
      },
      "documentation":"<p>Represents a get integration request.</p>"
    },
    "GetIntegrationResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>Specifies a get integration response request's API identifier.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>Specifies a get integration response request's resource identifier.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies a get integration response request's HTTP method.</p>"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code",
          "documentation":"<p>Specifies a get integration response request's status code.</p>"
        }
      },
      "documentation":"<p>Represents a get integration response request.</p>"
    },
    "GetMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>Method</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The <a>Resource</a> identifier for the <a>Method</a> resource.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies the put method request's HTTP method type.</p>"
        }
      },
      "documentation":"<p>Request to describe an existing <a>Method</a> resource.</p>"
    },
    "GetMethodResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>MethodResponse</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The <a>Resource</a> identifier for the <a>MethodResponse</a> resource.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>The HTTP verb identifier for the parent <a>Method</a> resource.</p>"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code",
          "documentation":"<p>The status code identifier for the <a>MethodResponse</a> resource.</p>"
        }
      },
      "documentation":"<p>Request to describe a <a>MethodResponse</a> resource.</p>"
    },
    "GetModelRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "modelName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier under which the <a>Model</a> exists.</p>"
        },
        "modelName":{
          "shape":"String",
          "location":"uri",
          "locationName":"model_name",
          "documentation":"<p>The name of the model as an identifier.</p>"
        },
        "flatten":{
          "shape":"Boolean",
          "location":"querystring",
          "locationName":"flatten",
          "documentation":"<p>Resolves all external model references and returns a flattened model schema.</p>"
        }
      },
      "documentation":"<p>Request to list information about a model in an existing <a>RestApi</a> resource.</p>"
    },
    "GetModelTemplateRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "modelName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The ID of the <a>RestApi</a> under which the model exists.</p>"
        },
        "modelName":{
          "shape":"String",
          "location":"uri",
          "locationName":"model_name",
          "documentation":"<p>The name of the model for which to generate a template.</p>"
        }
      },
      "documentation":"<p>Request to generate a sample mapping template used to transform the payload.</p>"
    },
    "GetModelsRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier.</p>"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position",
          "documentation":"<p>The position of the next set of results in the <a>Models</a> resource to get information about.</p>"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit",
          "documentation":"<p>The maximum number of models in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.</p>"
        }
      },
      "documentation":"<p>Request to list existing <a>Models</a> defined for a <a>RestApi</a> resource.</p>"
    },
    "GetResourceRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The identifier for the <a>Resource</a> resource.</p>"
        }
      },
      "documentation":"<p>Request to list information about a resource.</p>"
    },
    "GetResourcesRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the Resource.</p>"
        },
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position",
          "documentation":"<p>The position of the next set of results in the current <a>Resources</a> resource to get information about.</p>"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit",
          "documentation":"<p>The maximum number of <a>Resource</a> resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.</p>"
        }
      },
      "documentation":"<p>Request to list information about a collection of resources.</p>"
    },
    "GetRestApiRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> resource.</p>"
        }
      },
      "documentation":"<p>Request to list an existing <a>RestApi</a> defined for your collection. </p>"
    },
    "GetRestApisRequest":{
      "type":"structure",
      "members":{
        "position":{
          "shape":"String",
          "location":"querystring",
          "locationName":"position",
          "documentation":"<p>The position of the current <a>RestApis</a> resource in the collection to get information about.</p>"
        },
        "limit":{
          "shape":"NullableInteger",
          "location":"querystring",
          "locationName":"limit",
          "documentation":"<p>The maximum number of <a>RestApi</a> resources in the collection to get information about. The default limit is 25. It should be an integer between 1 - 500.</p>"
        }
      },
      "documentation":"<p>Request to list existing <a>RestApis</a> defined for your collection.</p>"
    },
    "GetSdkRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName",
        "sdkType"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name"
        },
        "sdkType":{
          "shape":"String",
          "location":"uri",
          "locationName":"sdk_type"
        },
        "parameters":{
          "shape":"MapOfStringToString",
          "location":"querystring"
        }
      }
    },
    "GetStageRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> resource for the <a>Stage</a> resource to get information about.</p>"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name",
          "documentation":"<p>The name of the <a>Stage</a> resource to get information about.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to get information about a <a>Stage</a> resource.</p>"
    },
    "GetStagesRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The stages' API identifiers.</p>"
        },
        "deploymentId":{
          "shape":"String",
          "location":"querystring",
          "locationName":"deploymentId",
          "documentation":"<p>The stages' deployment identifiers.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to get information about one or more <a>Stage</a> resources.</p>"
    },
    "Integer":{"type":"integer"},
    "Integration":{
      "type":"structure",
      "members":{
        "type":{
          "shape":"IntegrationType",
          "documentation":"<p>Specifies the integration's type.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "documentation":"<p>Specifies the integration's HTTP method type.</p>"
        },
        "uri":{
          "shape":"String",
          "documentation":"<p>Specifies the integration's Uniform Resource Identifier (URI). For HTTP integrations, the URI must be a fully formed, encoded HTTP(S) URL according to the <a target=\"_blank\" href=\"https://www.ietf.org/rfc/rfc3986.txt\">RFC-3986 specification</a>. For AWS integrations, the URI should be of the form <code>arn:aws:apigateway:{region}:{service}:{path|action}/{service_api}</code>. <code>Region</code> and <code>service</code> are used to determine the right endpoint. For AWS services that use the <code>Action=</code> query string parameter, <code>service_api</code> should be a valid action for the desired service. For RESTful AWS service APIs, <code>path</code> is used to indicate that the remaining substring in the URI should be treated as the path to the resource, including the initial <code>/</code>.</p>"
        },
        "credentials":{
          "shape":"String",
          "documentation":"<p>Specifies the credentials required for the integration, if any. For AWS integrations, three options are available. To specify an IAM Role for Amazon API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify the string <code>arn:aws:iam::\\*:user/\\*</code>. To use resource-based permissions on supported AWS services, specify null.</p>"
        },
        "requestParameters":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Represents requests parameters that are sent with the backend request. Request parameters are represented as a key/value map, with a destination as the key and a source as the value. A source must match an existing method request parameter, or a static value. Static values must be enclosed with single quotes, and be pre-encoded based on their destination in the request. The destination must match the pattern <code>integration.request.{location}.{name}</code>, where <code>location</code> is either querystring, path, or header. <code>name</code> must be a valid, unique parameter name.</p>"
        },
        "requestTemplates":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Specifies the integration's request templates.</p>"
        },
        "cacheNamespace":{
          "shape":"String",
          "documentation":"<p>Specifies the integration's cache namespace.</p>"
        },
        "cacheKeyParameters":{
          "shape":"ListOfString",
          "documentation":"<p>Specifies the integration's cache key parameters.</p>"
        },
        "integrationResponses":{
          "shape":"MapOfIntegrationResponse",
          "documentation":"<p>Specifies the integration's responses.</p>"
        }
      },
      "documentation":"<p>Represents a HTTP, AWS, or Mock integration.</p>"
    },
    "IntegrationResponse":{
      "type":"structure",
      "members":{
        "statusCode":{
          "shape":"StatusCode",
          "documentation":"<p>Specifies the status code that is used to map the integration response to an existing <a>MethodResponse</a>.</p>"
        },
        "selectionPattern":{
          "shape":"String",
          "documentation":"<p>Specifies the regular expression (regex) pattern used to choose an integration response based on the response from the backend. If the backend is an AWS Lambda function, the AWS Lambda function error header is matched. For all other HTTP and AWS backends, the HTTP status code is matched.</p>"
        },
        "responseParameters":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Represents response parameters that can be read from the backend response. Response parameters are represented as a key/value map, with a destination as the key and a source as the value. A destination must match an existing response parameter in the <a>Method</a>. The source can be a header from the backend response, or a static value. Static values are specified using enclosing single quotes, and backend response headers can be read using the pattern <code>integration.response.header.{name}</code>.</p>"
        },
        "responseTemplates":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Specifies the templates used to transform the integration response body. Response templates are represented as a key/value map, with a content-type as the key and a template as the value.</p>"
        }
      },
      "documentation":"<p>Represents an integration response. The status code must map to an existing <a>MethodResponse</a>, and parameters and templates can be used to transform the backend response.</p>"
    },
    "IntegrationType":{
      "type":"string",
      "enum":[
        "HTTP",
        "AWS",
        "MOCK"
      ],
      "documentation":"<p>The integration type. Possible values are HTTP, AWS, or Mock.</p>"
    },
    "LimitExceededException":{
      "type":"structure",
      "members":{
        "retryAfterSeconds":{
          "shape":"String",
          "location":"header",
          "locationName":"Retry-After"
        },
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":429},
      "exception":true
    },
    "ListOfApiKey":{
      "type":"list",
      "member":{"shape":"ApiKey"}
    },
    "ListOfBasePathMapping":{
      "type":"list",
      "member":{"shape":"BasePathMapping"}
    },
    "ListOfClientCertificate":{
      "type":"list",
      "member":{"shape":"ClientCertificate"}
    },
    "ListOfDeployment":{
      "type":"list",
      "member":{"shape":"Deployment"}
    },
    "ListOfDomainName":{
      "type":"list",
      "member":{"shape":"DomainName"}
    },
    "ListOfModel":{
      "type":"list",
      "member":{"shape":"Model"}
    },
    "ListOfPatchOperation":{
      "type":"list",
      "member":{"shape":"PatchOperation"},
      "documentation":"A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list."
    },
    "ListOfResource":{
      "type":"list",
      "member":{"shape":"Resource"}
    },
    "ListOfRestApi":{
      "type":"list",
      "member":{"shape":"RestApi"}
    },
    "ListOfStage":{
      "type":"list",
      "member":{"shape":"Stage"}
    },
    "ListOfStageKeys":{
      "type":"list",
      "member":{"shape":"StageKey"}
    },
    "ListOfString":{
      "type":"list",
      "member":{"shape":"String"}
    },
    "Long":{"type":"long"},
    "MapOfHeaderValues":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "MapOfIntegrationResponse":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"IntegrationResponse"}
    },
    "MapOfMethod":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"Method"}
    },
    "MapOfMethodResponse":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"MethodResponse"}
    },
    "MapOfMethodSettings":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"MethodSetting"}
    },
    "MapOfMethodSnapshot":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"MethodSnapshot"}
    },
    "MapOfStringToBoolean":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"NullableBoolean"}
    },
    "MapOfStringToString":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "Method":{
      "type":"structure",
      "members":{
        "httpMethod":{
          "shape":"String",
          "documentation":"<p>The HTTP method.</p>"
        },
        "authorizationType":{
          "shape":"String",
          "documentation":"<p>The method's authorization type.</p>"
        },
        "apiKeyRequired":{
          "shape":"NullableBoolean",
          "documentation":"<p>Specifies whether the method requires a valid <a>ApiKey</a>.</p>"
        },
        "requestParameters":{
          "shape":"MapOfStringToBoolean",
          "documentation":"<p>Represents request parameters that can be accepted by Amazon API Gateway. Request parameters are represented as a key/value map, with a source as the key and a Boolean flag as the value. The Boolean flag is used to specify whether the parameter is required. A source must match the pattern <code>method.request.{location}.{name}</code>, where <code>location</code> is either querystring, path, or header. <code>name</code> is a valid, unique parameter name. Sources specified here are available to the integration for mapping to integration request parameters or templates.</p>"
        },
        "requestModels":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Specifies the <a>Model</a> resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a <a>Model</a> name as the value.</p>"
        },
        "methodResponses":{
          "shape":"MapOfMethodResponse",
          "documentation":"<p>Represents available responses that can be sent to the caller. Method responses are represented as a key/value map, with an HTTP status code as the key and a <a>MethodResponse</a> as the value. The status codes are available for the <a>Integration</a> responses to map to.</p>"
        },
        "methodIntegration":{
          "shape":"Integration",
          "documentation":"<p>The method's integration.</p>"
        }
      },
      "documentation":"<p>Represents a method.</p>"
    },
    "MethodResponse":{
      "type":"structure",
      "members":{
        "statusCode":{
          "shape":"StatusCode",
          "documentation":"<p>The method response's status code.</p>"
        },
        "responseParameters":{
          "shape":"MapOfStringToBoolean",
          "documentation":"<p>Represents response parameters that can be sent back to the caller by Amazon API Gateway. Response parameters are represented as a key/value map, with a destination as the key and a boolean flag as the value, which is used to specify whether the parameter is required. A destination must match the pattern <code>method.response.header.{name}</code>, where <code>name</code> is a valid, unique header name. Destinations specified here are available to the integration for mapping from integration response parameters.</p>"
        },
        "responseModels":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Specifies the <a>Model</a> resources used for the response's content-type. Response models are represented as a key/value map, with a content-type as the key and a <a>Model</a> name as the value.</p>"
        }
      },
      "documentation":"<p>Represents a method response. Amazon API Gateway sends back the status code to the caller as the HTTP status code. Parameters and models can be used to transform the response from the method's integration.</p>"
    },
    "MethodSetting":{
      "type":"structure",
      "members":{
        "metricsEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether Amazon CloudWatch metrics are enabled for this method. The PATCH path for this setting is <code>/{method_setting_key}/metrics/enabled</code>, and the value is a Boolean.</p>"
        },
        "loggingLevel":{
          "shape":"String",
          "documentation":"<p>Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is <code>/{method_setting_key}/logging/loglevel</code>, and the available levels are <code>OFF</code>, <code>ERROR</code>, and <code>INFO</code>.</p>"
        },
        "dataTraceEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Specifies the whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. The PATCH path for this setting is <code>/{method_setting_key}/logging/dataTrace</code>, and the value is a Boolean.</p>"
        },
        "throttlingBurstLimit":{
          "shape":"Integer",
          "documentation":"<p>Specifies the throttling burst limit. The PATCH path for this setting is <code>/{method_setting_key}/throttling/burstLimit</code>, and the value is an integer.</p>"
        },
        "throttlingRateLimit":{
          "shape":"Double",
          "documentation":"<p>Specifies the throttling rate limit. The PATCH path for this setting is <code>/{method_setting_key}/throttling/rateLimit</code>, and the value is a double.</p>"
        },
        "cachingEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. The PATCH path for this setting is <code>/{method_setting_key}/caching/enabled</code>, and the value is a Boolean.</p>"
        },
        "cacheTtlInSeconds":{
          "shape":"Integer",
          "documentation":"<p>Specifies the time to live (TTL) in seconds, for cached responses. The higher a the TTL, the longer the response will be cached. The PATCH path for this setting is <code>/{method_setting_key}/caching/ttlInSeconds</code>, and the value is an integer.</p>"
        },
        "cacheDataEncrypted":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether the cached responses are encrypted. The PATCH path for this setting is <code>/{method_setting_key}/caching/dataEncrypted</code>, and the value is a Boolean.</p>"
        }
      },
      "documentation":"<p>Specifies the method setting properties.</p>"
    },
    "MethodSnapshot":{
      "type":"structure",
      "members":{
        "authorizationType":{
          "shape":"String",
          "documentation":"<p>Specifies the type of authorization used for the method.</p>"
        },
        "apiKeyRequired":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether the method requires a valid <a>ApiKey</a>.</p>"
        }
      },
      "documentation":"<p>Represents a summary of a <a>Method</a> resource, given a particular date and time.</p>"
    },
    "Model":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"String",
          "documentation":"<p>The identifier for the model resource.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The name of the model.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The description of the model.</p>"
        },
        "schema":{
          "shape":"String",
          "documentation":"<p>The schema for the model. For <code>application/json</code> models, this should be <a target=\"_blank\" href=\"http://json-schema.org/documentation.html\">JSON-schema draft v4</a> model.</p>"
        },
        "contentType":{
          "shape":"String",
          "documentation":"<p>The content-type for the model.</p>"
        }
      },
      "documentation":"<p>Represents the structure of a request or response payload for a method.</p>"
    },
    "Models":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfModel",
          "documentation":"<p>Gets the current <a>Model</a> resource in the collection.</p>",
          "locationName":"item"
        }
      },
      "documentation":"<p>Represents a collection of <a>Model</a> resources.</p>"
    },
    "NotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":404},
      "exception":true
    },
    "NullableBoolean":{"type":"boolean"},
    "NullableInteger":{"type":"integer"},
    "PatchOperation":{
      "type":"structure",
      "members":{
        "op":{
          "shape":"op",
          "documentation":"<p>A patch operation whose value indicates the operation to perform. Its value MUST be one of \"add\", \"remove\", \"replace\", \"move\", \"copy\", or \"test\"; other values are errors. </p>"
        },
        "path":{
          "shape":"String",
          "documentation":"<p>Operation objects MUST have exactly one \"path\" member. That member's value is a string containing a `JSON-Pointer` value that references a location within the target document (the \"target location\") where the operation is performed.</p>"
        },
        "value":{
          "shape":"String",
          "documentation":"<p>The actual value content. </p>"
        },
        "from":{
          "shape":"String",
          "documentation":"<p>The \"move\" and \"copy\" operation object MUST contain a \"from\" member, which is a string containing a <code>JSON Pointer</code> value that references the location in the target document to move the value from.</p>"
        }
      },
      "documentation":"A single patch operation to apply to the specified resource. Please refer to http://tools.ietf.org/html/rfc6902#section-4 for an explanation of how each operation is used."
    },
    "PathToMapOfMethodSnapshot":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"MapOfMethodSnapshot"}
    },
    "PutIntegrationRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "type"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>Specifies a put integration request's API identifier.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>Specifies a put integration request's resource ID.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies a put integration request's HTTP method.</p>"
        },
        "type":{
          "shape":"IntegrationType",
          "documentation":"<p>Specifies a put integration input's type.</p>"
        },
        "integrationHttpMethod":{
          "shape":"String",
          "documentation":"<p>Specifies a put integration HTTP method.</p>",
          "locationName":"httpMethod"
        },
        "uri":{
          "shape":"String",
          "documentation":"<p>Specifies a put integration input's Uniform Resource Identifier (URI).</p>"
        },
        "credentials":{
          "shape":"String",
          "documentation":"<p>Specifies whether credentials are required for a put integration.</p>"
        },
        "requestParameters":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Represents request parameters that are sent with the backend request. Request parameters are represented as a key/value map, with a destination as the key and a source as the value. A source must match an existing method request parameter, or a static value. Static values must be enclosed with single quotes, and be pre-encoded based on their destination in the request. The destination must match the pattern <code>integration.request.{location}.{name}</code>, where <code>location</code> is either querystring, path, or header. <code>name</code> must be a valid, unique parameter name.</p>"
        },
        "requestTemplates":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Specifies the templates used to transform the method request body. Request templates are represented as a key/value map, with a content-type as the key and a template as the value.</p>"
        },
        "cacheNamespace":{
          "shape":"String",
          "documentation":"<p>Specifies a put integration input's cache namespace.</p>"
        },
        "cacheKeyParameters":{
          "shape":"ListOfString",
          "documentation":"<p>Specifies a put integration input's cache key parameters.</p>"
        }
      },
      "documentation":"<p>Represents a put integration request.</p>"
    },
    "PutIntegrationResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>Specifies a put integration response request's API identifier.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>Specifies a put integration response request's resource identifier.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies a put integration response request's HTTP method.</p>"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code",
          "documentation":"<p>Specifies the status code that is used to map the integration response to an existing <a>MethodResponse</a>.</p>"
        },
        "selectionPattern":{
          "shape":"String",
          "documentation":"<p>Specifies the selection pattern of a put integration response.</p>"
        },
        "responseParameters":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Represents response parameters that can be read from the backend response. Response parameters are represented as a key/value map, with a destination as the key and a source as the value. A destination must match an existing response parameter in the <a>Method</a>. The source can be a header from the backend response, or a static value. Static values are specified using enclosing single quotes, and backend response headers can be read using the pattern <code>integration.response.header.{name}</code>.</p>"
        },
        "responseTemplates":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Specifies a put integration response's templates.</p>"
        }
      },
      "documentation":"<p>Represents a put integration response request.</p>"
    },
    "PutMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "authorizationType"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the new <a>Method</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The <a>Resource</a> identifier for the new <a>Method</a> resource.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies the put method request's HTTP method type.</p>"
        },
        "authorizationType":{
          "shape":"String",
          "documentation":"<p>Specifies the type of authorization used for the method.</p>"
        },
        "apiKeyRequired":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether the method required a valid <a>ApiKey</a>.</p>"
        },
        "requestParameters":{
          "shape":"MapOfStringToBoolean",
          "documentation":"<p>Represents requests parameters that are sent with the backend request. Request parameters are represented as a key/value map, with a destination as the key and a source as the value. A source must match an existing method request parameter, or a static value. Static values must be enclosed with single quotes, and be pre-encoded based on their destination in the request. The destination must match the pattern <code>integration.request.{location}.{name}</code>, where <code>location</code> is either querystring, path, or header. <code>name</code> must be a valid, unique parameter name.</p>"
        },
        "requestModels":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Specifies the <a>Model</a> resources used for the request's content type. Request models are represented as a key/value map, with a content type as the key and a <a>Model</a> name as the value.</p>"
        }
      },
      "documentation":"<p>Request to add a method to an existing <a>Resource</a> resource.</p>"
    },
    "PutMethodResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>Method</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The <a>Resource</a> identifier for the <a>Method</a> resource.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>The HTTP verb that identifies the <a>Method</a> resource.</p>"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code",
          "documentation":"<p>The method response's status code.</p>"
        },
        "responseParameters":{
          "shape":"MapOfStringToBoolean",
          "documentation":"<p>Represents response parameters that can be sent back to the caller by Amazon API Gateway. Response parameters are represented as a key/value map, with a destination as the key and a Boolean flag as the value. The Boolean flag is used to specify whether the parameter is required. A destination must match the pattern <code>method.response.header.{name}</code>, where <code>name</code> is a valid, unique header name. Destinations specified here are available to the integration for mapping from integration response parameters.</p>"
        },
        "responseModels":{
          "shape":"MapOfStringToString",
          "documentation":"<p>Specifies the <a>Model</a> resources used for the response's content type. Response models are represented as a key/value map, with a content type as the key and a <a>Model</a> name as the value.</p>"
        }
      },
      "documentation":"<p>Request to add a <a>MethodResponse</a> to an existing <a>Method</a> resource.</p>"
    },
    "Resource":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"String",
          "documentation":"<p>The resource's identifier.</p>"
        },
        "parentId":{
          "shape":"String",
          "documentation":"<p>The parent resource's identifier.</p>"
        },
        "pathPart":{
          "shape":"String",
          "documentation":"<p>The last path segment for this resource.</p>"
        },
        "path":{
          "shape":"String",
          "documentation":"<p>The full path for this resource.</p>"
        },
        "resourceMethods":{
          "shape":"MapOfMethod",
          "documentation":"<p>Map of methods for this resource, which is included only if requested using the <b>embed</b> option.</p>"
        }
      },
      "documentation":"<p>Represents a resource.</p>"
    },
    "Resources":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfResource",
          "documentation":"<p>Gets the current <a>Resource</a> resource in the collection.</p>",
          "locationName":"item"
        }
      },
      "documentation":"<p>Represents a collection of <a>Resource</a> resources.</p>"
    },
    "RestApi":{
      "type":"structure",
      "members":{
        "id":{
          "shape":"String",
          "documentation":"<p>The API's identifier. This identifier is unique across all of your APIs in Amazon API Gateway.</p>"
        },
        "name":{
          "shape":"String",
          "documentation":"<p>The API's name.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The API's description.</p>"
        },
        "createdDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the API was created, in <a target=\"_blank\" href=\"http://www.iso.org/iso/home/standards/iso8601.htm\">ISO 8601 format</a>.</p>"
        }
      },
      "documentation":"<p>Represents a REST API.</p>"
    },
    "RestApis":{
      "type":"structure",
      "members":{
        "position":{"shape":"String"},
        "items":{
          "shape":"ListOfRestApi",
          "documentation":"<p>An array of links to the current page of <a>RestApi</a> resources.</p>",
          "locationName":"item"
        }
      },
      "documentation":"<p>Contains references to your APIs and links that guide you in ways to interact with your collection. A collection offers a paginated view of your APIs.</p>"
    },
    "SdkResponse":{
      "type":"structure",
      "members":{
        "contentType":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Type"
        },
        "contentDisposition":{
          "shape":"String",
          "location":"header",
          "locationName":"Content-Disposition"
        },
        "body":{"shape":"Blob"}
      },
      "payload":"body"
    },
    "ServiceUnavailableException":{
      "type":"structure",
      "members":{
        "retryAfterSeconds":{
          "shape":"String",
          "location":"header",
          "locationName":"Retry-After"
        },
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":503},
      "exception":true,
      "fault":true
    },
    "Stage":{
      "type":"structure",
      "members":{
        "deploymentId":{
          "shape":"String",
          "documentation":"<p>The identifier of the <a>Deployment</a> that the stage points to.</p>"
        },
        "clientCertificateId":{"shape":"String"},
        "stageName":{
          "shape":"String",
          "documentation":"<p>The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to Amazon API Gateway.</p>"
        },
        "description":{
          "shape":"String",
          "documentation":"<p>The stage's description.</p>"
        },
        "cacheClusterEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether a cache cluster is enabled for the stage.</p>"
        },
        "cacheClusterSize":{
          "shape":"CacheClusterSize",
          "documentation":"<p>The size of the cache cluster for the stage, if enabled.</p>"
        },
        "cacheClusterStatus":{
          "shape":"CacheClusterStatus",
          "documentation":"<p>The status of the cache cluster for the stage, if enabled.</p>"
        },
        "methodSettings":{
          "shape":"MapOfMethodSettings",
          "documentation":"<p>A map that defines the method settings for a <a>Stage</a> resource. Keys are defined as <code>{resource_path}/{http_method}</code> for an individual method override, or <code>\\*/\\*</code> for the settings applied to all methods in the stage.</p>"
        },
        "variables":{
          "shape":"MapOfStringToString",
          "documentation":"<p>A map that defines the stage variables for a <a>Stage</a> resource. Variable names can have alphabetic characters, and the values must match [A-Za-z0-9-._~:/?#&amp;=,]+</p>"
        },
        "createdDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time that the stage was created, in <a target=\"_blank\" href=\"http://www.iso.org/iso/home/standards/iso8601.htm\">ISO 8601 format</a>.</p>"
        },
        "lastUpdatedDate":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time that information about the stage was last updated, in <a target=\"_blank\" href=\"http://www.iso.org/iso/home/standards/iso8601.htm\">ISO 8601 format</a>.</p>"
        }
      },
      "documentation":"<p>Represents a unique identifier for a version of a deployed <a>RestApi</a> that is callable by users.</p>"
    },
    "StageKey":{
      "type":"structure",
      "members":{
        "restApiId":{
          "shape":"String",
          "documentation":"<p>A list of <a>Stage</a> resources that are associated with the <a>ApiKey</a> resource.</p>"
        },
        "stageName":{
          "shape":"String",
          "documentation":"<p>The stage name in the <a>RestApi</a> that the stage key references.</p>"
        }
      },
      "documentation":"<p>A reference to a unique stage identified in the format <code>{restApiId}/{stage}</code>.</p>"
    },
    "Stages":{
      "type":"structure",
      "members":{
        "item":{
          "shape":"ListOfStage",
          "documentation":"<p>An individual <a>Stage</a> resource.</p>"
        }
      },
      "documentation":"<p>A list of <a>Stage</a> resource that are associated with the <a>ApiKey</a> resource.</p>"
    },
    "StatusCode":{
      "type":"string",
      "pattern":"[1-5]\\d\\d",
      "documentation":"<p>The status code.</p>"
    },
    "String":{"type":"string"},
    "Template":{
      "type":"structure",
      "members":{
        "value":{
          "shape":"String",
          "documentation":"<p>The Apache <a target=\"_blank\" href=\"http://velocity.apache.org/engine/devel/vtl-reference-guide.html\">Velocity Template Language (VTL)</a> template content used for the template resource.</p>"
        }
      },
      "documentation":"<p>Represents a mapping template used to transform a payload.</p>"
    },
    "TestInvokeMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method"
        },
        "pathWithQueryString":{"shape":"String"},
        "body":{"shape":"String"},
        "headers":{"shape":"MapOfHeaderValues"},
        "clientCertificateId":{"shape":"String"},
        "stageVariables":{"shape":"MapOfStringToString"}
      }
    },
    "TestInvokeMethodResponse":{
      "type":"structure",
      "members":{
        "status":{
          "shape":"Integer",
          "documentation":"<p>The HTTP status code.</p>"
        },
        "body":{
          "shape":"String",
          "documentation":"<p>The body of HTTP response.</p>"
        },
        "headers":{
          "shape":"MapOfHeaderValues",
          "documentation":"<p>The headers of HTTP response.</p>"
        },
        "log":{
          "shape":"String",
          "documentation":"<p>The Amazon API Gateway execution log for the test invoke request.</p>"
        },
        "latency":{
          "shape":"Long",
          "documentation":"<p>The execution latency of the test invoke request.</p>"
        }
      },
      "documentation":"<p>Represents the response of the test invoke request in HTTP method.</p>"
    },
    "ThrottleSettings":{
      "type":"structure",
      "members":{
        "burstLimit":{
          "shape":"Integer",
          "documentation":"<p>Returns the burstLimit when <b>ThrottleSettings</b> is called.</p>"
        },
        "rateLimit":{
          "shape":"Double",
          "documentation":"<p>Returns the rateLimit when <b>ThrottleSettings</b> is called.</p>"
        }
      },
      "documentation":"<p>Returns the throttle settings.</p>"
    },
    "Timestamp":{"type":"timestamp"},
    "TooManyRequestsException":{
      "type":"structure",
      "members":{
        "retryAfterSeconds":{
          "shape":"String",
          "location":"header",
          "locationName":"Retry-After"
        },
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":429},
      "exception":true
    },
    "UnauthorizedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "error":{"httpStatusCode":401},
      "exception":true
    },
    "UpdateAccountRequest":{
      "type":"structure",
      "members":{
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to change information about the current <a>Account</a> resource.</p>"
    },
    "UpdateApiKeyRequest":{
      "type":"structure",
      "required":["apiKey"],
      "members":{
        "apiKey":{
          "shape":"String",
          "location":"uri",
          "locationName":"api_Key",
          "documentation":"<p>The identifier of the <a>ApiKey</a> resource to be updated.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>A request to change information about an <a>ApiKey</a> resource.</p>"
    },
    "UpdateBasePathMappingRequest":{
      "type":"structure",
      "required":[
        "domainName",
        "basePath"
      ],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name",
          "documentation":"<p>The domain name of the <a>BasePathMapping</a> resource to change.</p>"
        },
        "basePath":{
          "shape":"String",
          "location":"uri",
          "locationName":"base_path",
          "documentation":"<p>The base path of the <a>BasePathMapping</a> resource to change.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>A request to change information about the <a>BasePathMapping</a> resource.</p>"
    },
    "UpdateClientCertificateRequest":{
      "type":"structure",
      "required":["clientCertificateId"],
      "members":{
        "clientCertificateId":{
          "shape":"String",
          "location":"uri",
          "locationName":"clientcertificate_id"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      }
    },
    "UpdateDeploymentRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "deploymentId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The replacement identifier of the <a>RestApi</a> resource for the <a>Deployment</a> resource to change information about.</p>"
        },
        "deploymentId":{
          "shape":"String",
          "location":"uri",
          "locationName":"deployment_id",
          "documentation":"<p>The replacment identifier for the <a>Deployment</a> resource to change information about.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to change information about a <a>Deployment</a> resource.</p>"
    },
    "UpdateDomainNameRequest":{
      "type":"structure",
      "required":["domainName"],
      "members":{
        "domainName":{
          "shape":"String",
          "location":"uri",
          "locationName":"domain_name",
          "documentation":"<p>The name of the <a>DomainName</a> resource to be changed.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>A request to change information about the <a>DomainName</a> resource.</p>"
    },
    "UpdateIntegrationRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>Represents an update integration request's API identifier.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>Represents an update integration request's resource identifier.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Represents an update integration request's HTTP method.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Represents an update integration request.</p>"
    },
    "UpdateIntegrationResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>Specifies an update integration response request's API identifier.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>Specifies an update integration response request's resource identifier.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>Specifies an update integration response request's HTTP method.</p>"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code",
          "documentation":"<p>Specifies an update integration response request's status code.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Represents an update integration response request.</p>"
    },
    "UpdateMethodRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>Method</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The <a>Resource</a> identifier for the <a>Method</a> resource.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>The HTTP verb that identifies the <a>Method</a> resource.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Request to update an existing <a>Method</a> resource.</p>"
    },
    "UpdateMethodResponseRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId",
        "httpMethod",
        "statusCode"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>MethodResponse</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The <a>Resource</a> identifier for the <a>MethodResponse</a> resource.</p>"
        },
        "httpMethod":{
          "shape":"String",
          "location":"uri",
          "locationName":"http_method",
          "documentation":"<p>The HTTP verb identifier for the parent <a>Method</a> resource.</p>"
        },
        "statusCode":{
          "shape":"StatusCode",
          "location":"uri",
          "locationName":"status_code",
          "documentation":"<p>The status code identifier for the <a>MethodResponse</a> resource.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>A request to update an existing <a>MethodResponse</a> resource.</p>"
    },
    "UpdateModelRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "modelName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier under which the model exists.</p>"
        },
        "modelName":{
          "shape":"String",
          "location":"uri",
          "locationName":"model_name",
          "documentation":"<p>The name of the model to update.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Request to update an existing model in an existing <a>RestApi</a> resource.</p>"
    },
    "UpdateResourceRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "resourceId"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The <a>RestApi</a> identifier for the <a>Resource</a> resource.</p>"
        },
        "resourceId":{
          "shape":"String",
          "location":"uri",
          "locationName":"resource_id",
          "documentation":"<p>The identifier of the <a>Resource</a> resource.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Request to change information about a <a>Resource</a> resource.</p>"
    },
    "UpdateRestApiRequest":{
      "type":"structure",
      "required":["restApiId"],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The ID of the <a>RestApi</a> you want to update.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Request to update an existing <a>RestApi</a> resource in your collection.</p>"
    },
    "UpdateStageRequest":{
      "type":"structure",
      "required":[
        "restApiId",
        "stageName"
      ],
      "members":{
        "restApiId":{
          "shape":"String",
          "location":"uri",
          "locationName":"restapi_id",
          "documentation":"<p>The identifier of the <a>RestApi</a> resource for the <a>Stage</a> resource to change information about.</p>"
        },
        "stageName":{
          "shape":"String",
          "location":"uri",
          "locationName":"stage_name",
          "documentation":"<p>The name of the <a>Stage</a> resource to change information about.</p>"
        },
        "patchOperations":{
          "shape":"ListOfPatchOperation",
          "documentation":"<p>A list of operations describing the updates to apply to the specified resource. The patches are applied in the order specified in the list.</p>"
        }
      },
      "documentation":"<p>Requests Amazon API Gateway to change information about a <a>Stage</a> resource.</p>"
    },
    "op":{
      "type":"string",
      "enum":[
        "add",
        "remove",
        "replace",
        "move",
        "copy",
        "test"
      ]
    }
  },
  "examples":{
  }
}
