aws_api_gateway_response resource
Use the aws_api_gateway_response
Chef InSpec audit resource to test properties of a single AWS API Gateway gateway response.
The AWS::ApiGateway::GatewayResponse
resource creates a gateway response for your API.
For additional information, including details on parameters and properties, see the AWS documentation on the AWS::APIGateway::GatewayResponse
resource.
Syntax
Ensure that the response exists.
describe aws_api_gateway_response(rest_api_id: 'REST_API_ID', response_type: 'RESPONSE_TYPE') do
it { should exist }
end
Parameters
rest_api_id
(required)The string identifier of the associated REST API.
response_type
(required)The response type of the associated gateway response.
Properties
response_type
- The response type of the associated GatewayResponse.
status_code
- The HTTP status code for this GatewayResponse.
response_parameters
- Response parameters (paths, query strings and headers) of the GatewayResponse as a string-to-string map of key-value pairs.
response_templates
- Response templates of the GatewayResponse as a string-to-string map of key-value pairs.
default_response
- A Boolean flag to indicate whether this GatewayResponse is the default gateway response (true ) or not (false ).
Examples
Ensure a response type is ‘DEFAULT_4XX’:
describe aws_api_gateway_response(rest_api_id: 'REST_API_ID', response_type: 'DEFAULT_4XX') do
its('response_type') { should eq 'DEFAULT_4XX' }
end
Ensure a status code is 200
:
describe aws_api_gateway_response(rest_api_id: 'REST_API_ID', response_type: 'RESPONSE_TYPE') do
its('status_code') { should eq '200' }
end
Matchers
For a full list of available matchers, see our Universal Matchers page.This resource has the following special matchers.
exist
Use should
to test that the entity exists.
describe aws_api_gateway_response(rest_api_id: 'REST_API_ID', response_type: 'RESPONSE_TYPE') do
it { should exist }
end
Use should_not
to test the entity does not exist.
describe aws_api_gateway_response(rest_api_id: 'REST_API_ID', response_type: 'RESPONSE_TYPE') do
it { should_not exist }
end
AWS Permissions
Your AWS principal will need the APIGateway:Client:GatewayResponse
action with Effect
set to Allow
.