Amazon API Gateway

2021/08/23 - Amazon API Gateway - 5 updated api methods

Changes  Adding some of the pending releases (1) Adding WAF Filter to GatewayResponseType enum (2) Ensuring consistent error model for all operations (3) Add missing BRE to GetVpcLink operation

DeleteGatewayResponse (updated) Link ¶
Changes (request)
{'responseType': {'WAF_FILTERED'}}

Clears any customization of a GatewayResponse of a specified response type on the given RestApi and resets it with the default settings.

See also: AWS API Documentation

Request Syntax

client.delete_gateway_response(
    restApiId='string',
    responseType='DEFAULT_4XX'|'DEFAULT_5XX'|'RESOURCE_NOT_FOUND'|'UNAUTHORIZED'|'INVALID_API_KEY'|'ACCESS_DENIED'|'AUTHORIZER_FAILURE'|'AUTHORIZER_CONFIGURATION_ERROR'|'INVALID_SIGNATURE'|'EXPIRED_TOKEN'|'MISSING_AUTHENTICATION_TOKEN'|'INTEGRATION_FAILURE'|'INTEGRATION_TIMEOUT'|'API_CONFIGURATION_ERROR'|'UNSUPPORTED_MEDIA_TYPE'|'BAD_REQUEST_PARAMETERS'|'BAD_REQUEST_BODY'|'REQUEST_TOO_LARGE'|'THROTTLED'|'QUOTA_EXCEEDED'|'WAF_FILTERED'
)
type restApiId:

string

param restApiId:

[REQUIRED]

[Required] The string identifier of the associated RestApi.

type responseType:

string

param responseType:

[REQUIRED]

[Required]

The response type of the associated GatewayResponse.

returns:

None

GetGatewayResponse (updated) Link ¶
Changes (both)
{'responseType': {'WAF_FILTERED'}}

Gets a GatewayResponse of a specified response type on the given RestApi.

See also: AWS API Documentation

Request Syntax

client.get_gateway_response(
    restApiId='string',
    responseType='DEFAULT_4XX'|'DEFAULT_5XX'|'RESOURCE_NOT_FOUND'|'UNAUTHORIZED'|'INVALID_API_KEY'|'ACCESS_DENIED'|'AUTHORIZER_FAILURE'|'AUTHORIZER_CONFIGURATION_ERROR'|'INVALID_SIGNATURE'|'EXPIRED_TOKEN'|'MISSING_AUTHENTICATION_TOKEN'|'INTEGRATION_FAILURE'|'INTEGRATION_TIMEOUT'|'API_CONFIGURATION_ERROR'|'UNSUPPORTED_MEDIA_TYPE'|'BAD_REQUEST_PARAMETERS'|'BAD_REQUEST_BODY'|'REQUEST_TOO_LARGE'|'THROTTLED'|'QUOTA_EXCEEDED'|'WAF_FILTERED'
)
type restApiId:

string

param restApiId:

[REQUIRED]

[Required] The string identifier of the associated RestApi.

type responseType:

string

param responseType:

[REQUIRED]

[Required]

The response type of the associated GatewayResponse.

rtype:

dict

returns:

Response Syntax

{
    'responseType': 'DEFAULT_4XX'|'DEFAULT_5XX'|'RESOURCE_NOT_FOUND'|'UNAUTHORIZED'|'INVALID_API_KEY'|'ACCESS_DENIED'|'AUTHORIZER_FAILURE'|'AUTHORIZER_CONFIGURATION_ERROR'|'INVALID_SIGNATURE'|'EXPIRED_TOKEN'|'MISSING_AUTHENTICATION_TOKEN'|'INTEGRATION_FAILURE'|'INTEGRATION_TIMEOUT'|'API_CONFIGURATION_ERROR'|'UNSUPPORTED_MEDIA_TYPE'|'BAD_REQUEST_PARAMETERS'|'BAD_REQUEST_BODY'|'REQUEST_TOO_LARGE'|'THROTTLED'|'QUOTA_EXCEEDED'|'WAF_FILTERED',
    'statusCode': 'string',
    'responseParameters': {
        'string': 'string'
    },
    'responseTemplates': {
        'string': 'string'
    },
    'defaultResponse': True|False
}

Response Structure

  • (dict) --

    A gateway response of a given response type and status code, with optional response parameters and mapping templates.

    For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway Example: Get a Gateway Response of a given response type Request

    This example shows how to get a gateway response of the MISSING_AUTHENTICATION_TOKEN type.

    ``GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45 ``

    The response type is specified as a URL path.

    Response

    The successful operation returns the 200 OK status code and a payload similar to the following:

    { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html", "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path": "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin": "'a.b.c'", "gatewayresponse.header.x-request-query": "method.request.querystring.q", "gatewayresponse.header.x-request-header": "method.request.header.Accept" }, "responseTemplates": { "application/json": "{\n \"message\": $context.error.messageString,\n \"type\": \"$context.error.responseType\",\n \"stage\": \"$context.stage\",\n \"resourcePath\": \"$context.resourcePath\",\n \"stageVariables.a\": \"$stageVariables.a\",\n \"statusCode\": \"'404'\"\n}" }, "responseType": "MISSING_AUTHENTICATION_TOKEN", "statusCode": "404" }

    Customize Gateway Responses

    • responseType (string) --

      The response type of the associated GatewayResponse.

    • statusCode (string) --

      The HTTP status code for this GatewayResponse.

    • responseParameters (dict) --

      Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

      • (string) --

        • (string) --

    • responseTemplates (dict) --

      Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

      • (string) --

        • (string) --

    • defaultResponse (boolean) --

      A Boolean flag to indicate whether this GatewayResponse is the default gateway response ( true) or not ( false). A default gateway response is one generated by API Gateway without any customization by an API developer.

GetGatewayResponses (updated) Link ¶
Changes (response)
{'items': {'responseType': {'WAF_FILTERED'}}}
PutGatewayResponse (updated) Link ¶
Changes (both)
{'responseType': {'WAF_FILTERED'}}

Creates a customization of a GatewayResponse of a specified response type and status code on the given RestApi.

See also: AWS API Documentation

Request Syntax

client.put_gateway_response(
    restApiId='string',
    responseType='DEFAULT_4XX'|'DEFAULT_5XX'|'RESOURCE_NOT_FOUND'|'UNAUTHORIZED'|'INVALID_API_KEY'|'ACCESS_DENIED'|'AUTHORIZER_FAILURE'|'AUTHORIZER_CONFIGURATION_ERROR'|'INVALID_SIGNATURE'|'EXPIRED_TOKEN'|'MISSING_AUTHENTICATION_TOKEN'|'INTEGRATION_FAILURE'|'INTEGRATION_TIMEOUT'|'API_CONFIGURATION_ERROR'|'UNSUPPORTED_MEDIA_TYPE'|'BAD_REQUEST_PARAMETERS'|'BAD_REQUEST_BODY'|'REQUEST_TOO_LARGE'|'THROTTLED'|'QUOTA_EXCEEDED'|'WAF_FILTERED',
    statusCode='string',
    responseParameters={
        'string': 'string'
    },
    responseTemplates={
        'string': 'string'
    }
)
type restApiId:

string

param restApiId:

[REQUIRED]

[Required] The string identifier of the associated RestApi.

type responseType:

string

param responseType:

[REQUIRED]

[Required]

The response type of the associated GatewayResponse.

type statusCode:

string

param statusCode:

The HTTP status code of the GatewayResponse.

type responseParameters:

dict

param responseParameters:

Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

  • (string) --

    • (string) --

type responseTemplates:

dict

param responseTemplates:

Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

  • (string) --

    • (string) --

rtype:

dict

returns:

Response Syntax

{
    'responseType': 'DEFAULT_4XX'|'DEFAULT_5XX'|'RESOURCE_NOT_FOUND'|'UNAUTHORIZED'|'INVALID_API_KEY'|'ACCESS_DENIED'|'AUTHORIZER_FAILURE'|'AUTHORIZER_CONFIGURATION_ERROR'|'INVALID_SIGNATURE'|'EXPIRED_TOKEN'|'MISSING_AUTHENTICATION_TOKEN'|'INTEGRATION_FAILURE'|'INTEGRATION_TIMEOUT'|'API_CONFIGURATION_ERROR'|'UNSUPPORTED_MEDIA_TYPE'|'BAD_REQUEST_PARAMETERS'|'BAD_REQUEST_BODY'|'REQUEST_TOO_LARGE'|'THROTTLED'|'QUOTA_EXCEEDED'|'WAF_FILTERED',
    'statusCode': 'string',
    'responseParameters': {
        'string': 'string'
    },
    'responseTemplates': {
        'string': 'string'
    },
    'defaultResponse': True|False
}

Response Structure

  • (dict) --

    A gateway response of a given response type and status code, with optional response parameters and mapping templates.

    For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway Example: Get a Gateway Response of a given response type Request

    This example shows how to get a gateway response of the MISSING_AUTHENTICATION_TOKEN type.

    ``GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45 ``

    The response type is specified as a URL path.

    Response

    The successful operation returns the 200 OK status code and a payload similar to the following:

    { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html", "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path": "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin": "'a.b.c'", "gatewayresponse.header.x-request-query": "method.request.querystring.q", "gatewayresponse.header.x-request-header": "method.request.header.Accept" }, "responseTemplates": { "application/json": "{\n \"message\": $context.error.messageString,\n \"type\": \"$context.error.responseType\",\n \"stage\": \"$context.stage\",\n \"resourcePath\": \"$context.resourcePath\",\n \"stageVariables.a\": \"$stageVariables.a\",\n \"statusCode\": \"'404'\"\n}" }, "responseType": "MISSING_AUTHENTICATION_TOKEN", "statusCode": "404" }

    Customize Gateway Responses

    • responseType (string) --

      The response type of the associated GatewayResponse.

    • statusCode (string) --

      The HTTP status code for this GatewayResponse.

    • responseParameters (dict) --

      Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

      • (string) --

        • (string) --

    • responseTemplates (dict) --

      Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

      • (string) --

        • (string) --

    • defaultResponse (boolean) --

      A Boolean flag to indicate whether this GatewayResponse is the default gateway response ( true) or not ( false). A default gateway response is one generated by API Gateway without any customization by an API developer.

UpdateGatewayResponse (updated) Link ¶
Changes (both)
{'responseType': {'WAF_FILTERED'}}

Updates a GatewayResponse of a specified response type on the given RestApi.

See also: AWS API Documentation

Request Syntax

client.update_gateway_response(
    restApiId='string',
    responseType='DEFAULT_4XX'|'DEFAULT_5XX'|'RESOURCE_NOT_FOUND'|'UNAUTHORIZED'|'INVALID_API_KEY'|'ACCESS_DENIED'|'AUTHORIZER_FAILURE'|'AUTHORIZER_CONFIGURATION_ERROR'|'INVALID_SIGNATURE'|'EXPIRED_TOKEN'|'MISSING_AUTHENTICATION_TOKEN'|'INTEGRATION_FAILURE'|'INTEGRATION_TIMEOUT'|'API_CONFIGURATION_ERROR'|'UNSUPPORTED_MEDIA_TYPE'|'BAD_REQUEST_PARAMETERS'|'BAD_REQUEST_BODY'|'REQUEST_TOO_LARGE'|'THROTTLED'|'QUOTA_EXCEEDED'|'WAF_FILTERED',
    patchOperations=[
        {
            'op': 'add'|'remove'|'replace'|'move'|'copy'|'test',
            'path': 'string',
            'value': 'string',
            'from': 'string'
        },
    ]
)
type restApiId:

string

param restApiId:

[REQUIRED]

[Required] The string identifier of the associated RestApi.

type responseType:

string

param responseType:

[REQUIRED]

[Required]

The response type of the associated GatewayResponse.

type patchOperations:

list

param patchOperations:

A list of update operations to be applied to the specified resource and in the order specified in this list.

  • (dict) -- 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.

    • op (string) --

      An update operation to be performed with this PATCH request. The valid value can be add, remove, replace or copy. Not all valid operations are supported for a given resource. Support of the operations depends on specific operational contexts. Attempts to apply an unsupported operation on a resource will return an error message.

    • path (string) --

      The op operation's target, as identified by a JSON Pointer value that references a location within the targeted resource. For example, if the target resource has an updateable property of {"name":"value"}, the path for this property is /name. If the name property value is a JSON object (e.g., {"name": {"child/name": "child-value"}}), the path for the child/name property will be /name/child~1name. Any slash ("/") character appearing in path names must be escaped with "~1", as shown in the example above. Each op operation can have only one path associated with it.

    • value (string) --

      The new target value of the update operation. It is applicable for the add or replace operation. When using AWS CLI to update a property of a JSON value, enclose the JSON object with a pair of single quotes in a Linux shell, e.g., '{"a": ...}'. In a Windows shell, see Using JSON for Parameters.

    • from (string) --

      The copy update operation's source as identified by a JSON-Pointer value referencing the location within the targeted resource to copy the value from. For example, to promote a canary deployment, you copy the canary deployment ID to the affiliated deployment ID by calling a PATCH request on a Stage resource with "op":"copy", "from":"/canarySettings/deploymentId" and "path":"/deploymentId".

rtype:

dict

returns:

Response Syntax

{
    'responseType': 'DEFAULT_4XX'|'DEFAULT_5XX'|'RESOURCE_NOT_FOUND'|'UNAUTHORIZED'|'INVALID_API_KEY'|'ACCESS_DENIED'|'AUTHORIZER_FAILURE'|'AUTHORIZER_CONFIGURATION_ERROR'|'INVALID_SIGNATURE'|'EXPIRED_TOKEN'|'MISSING_AUTHENTICATION_TOKEN'|'INTEGRATION_FAILURE'|'INTEGRATION_TIMEOUT'|'API_CONFIGURATION_ERROR'|'UNSUPPORTED_MEDIA_TYPE'|'BAD_REQUEST_PARAMETERS'|'BAD_REQUEST_BODY'|'REQUEST_TOO_LARGE'|'THROTTLED'|'QUOTA_EXCEEDED'|'WAF_FILTERED',
    'statusCode': 'string',
    'responseParameters': {
        'string': 'string'
    },
    'responseTemplates': {
        'string': 'string'
    },
    'defaultResponse': True|False
}

Response Structure

  • (dict) --

    A gateway response of a given response type and status code, with optional response parameters and mapping templates.

    For more information about valid gateway response types, see Gateway Response Types Supported by API Gateway Example: Get a Gateway Response of a given response type Request

    This example shows how to get a gateway response of the MISSING_AUTHENTICATION_TOKEN type.

    ``GET /restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN HTTP/1.1 Host: beta-apigateway.us-east-1.amazonaws.com Content-Type: application/json X-Amz-Date: 20170503T202516Z Authorization: AWS4-HMAC-SHA256 Credential={access-key-id}/20170503/us-east-1/apigateway/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=1b52460e3159c1a26cff29093855d50ea141c1c5b937528fecaf60f51129697a Cache-Control: no-cache Postman-Token: 3b2a1ce9-c848-2e26-2e2f-9c2caefbed45 ``

    The response type is specified as a URL path.

    Response

    The successful operation returns the 200 OK status code and a payload similar to the following:

    { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-gatewayresponse-{rel}.html", "name": "gatewayresponse", "templated": true }, "self": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:delete": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" }, "gatewayresponse:put": { "href": "/restapis/o81lxisefl/gatewayresponses/{response_type}", "templated": true }, "gatewayresponse:update": { "href": "/restapis/o81lxisefl/gatewayresponses/MISSING_AUTHENTICATION_TOKEN" } }, "defaultResponse": false, "responseParameters": { "gatewayresponse.header.x-request-path": "method.request.path.petId", "gatewayresponse.header.Access-Control-Allow-Origin": "'a.b.c'", "gatewayresponse.header.x-request-query": "method.request.querystring.q", "gatewayresponse.header.x-request-header": "method.request.header.Accept" }, "responseTemplates": { "application/json": "{\n \"message\": $context.error.messageString,\n \"type\": \"$context.error.responseType\",\n \"stage\": \"$context.stage\",\n \"resourcePath\": \"$context.resourcePath\",\n \"stageVariables.a\": \"$stageVariables.a\",\n \"statusCode\": \"'404'\"\n}" }, "responseType": "MISSING_AUTHENTICATION_TOKEN", "statusCode": "404" }

    Customize Gateway Responses

    • responseType (string) --

      The response type of the associated GatewayResponse.

    • statusCode (string) --

      The HTTP status code for this GatewayResponse.

    • responseParameters (dict) --

      Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.

      • (string) --

        • (string) --

    • responseTemplates (dict) --

      Response templates of the GatewayResponse as a string-to-string map of key-value pairs.

      • (string) --

        • (string) --

    • defaultResponse (boolean) --

      A Boolean flag to indicate whether this GatewayResponse is the default gateway response ( true) or not ( false). A default gateway response is one generated by API Gateway without any customization by an API developer.