aws_api_gateway_stages Resource
Use the aws_api_gateway_stages
InSpec audit resource to test properties of multiple AWS API Gateway stages.
The ‘AWS::ApiGateway::Stage’ resource deploys an API Gateway REST API resource to a stage so that clients can call the API over the internet. The stage acts as an environment.
For additional information, including details on parameters and properties, see the AWS API Gateway stage Stage documentation.
Installation
This resource is available in the Chef InSpec AWS resource pack.
See the Chef InSpec documentation on cloud platforms for information on configuring your AWS environment for InSpec and creating an InSpec profile that uses the InSpec AWS resource pack.
Syntax
Ensure that the stage exists.
describe aws_api_gateway_stages(rest_api_id: 'REST_API_ID') do
it { should exist }
end
Parameters
rest_api_id
(required)The ID of the REST API resource that you’re deploying with this stage.
Properties
deployment_ids
- The identifier for the deployment attached to stage resource.
descriptions
- The description for the stage resource.
created_dates
- The date and time that the stage resource was created.
stage_names
- The name for the stage resource.
Examples
Ensure that the stage name exists.
describe aws_api_gateway_stages(rest_api_id: 'REST_API_ID') do
its('stage_names') { should include 'STAGE_NAME' }
end
Matchers
This InSpec audit resource has the following special matchers. For a full list of available matchers, please visit our Universal Matchers page.
The controls will pass if the get
method returns at least one result.
exist
Use should
to test that the entity exists.
describe aws_api_gateway_stages(rest_api_id: 'REST_API_ID') do
it { should exist }
end
Use should_not
to test the entity does not exist.
describe aws_api_gateway_stages(rest_api_id: 'REST_API_ID') do
it { should_not exist }
end
be_available
Use should
to check if the stage is available.
describe aws_api_gateway_stages(rest_api_id: 'REST_API_ID') do
it { should be_available }
end
AWS Permissions
Your Principal will need the APIGateway:Client::Stages
action with Effect
set to Allow
.