aws_api_gateway_model resource
Use the aws_api_gateway_model
Chef InSpec audit resource to test properties of a single AWS API Gateway model.
The AWS::ApiGateway::Model
resource defines the structure of a request or response payload for an API method.
For additional information, including details on parameters and properties, see the AWS documentation on AWS::APIGateway::Model
resource.
Syntax
Ensure that the model exists.
describe aws_api_gateway_model(rest_api_id: 'REST_API_ID', model_name: 'MODEL_NAME') do
it { should exist }
end
Parameters
rest_api_id
(required)The ID of a REST API associated with this model.
model_name
(required)A name for the model.
Properties
id
- The identifier for the model resource.
name
- The name of the model. Must be an alphanumeric string.
description
- The description of the model.
schema
- The schema for the model. For
application/json
models, this should be JSON schema draft 4 model. content_type
- The content-type for the model.
Examples
Ensure an ID is available:
describe aws_api_gateway_model(rest_api_id: 'REST_API_ID', model_name: 'MODEL_NAME') do
its('id') { should eq 'MODEL_ID' }
end
Ensure a name is available:
describe aws_api_gateway_model(rest_api_id: 'REST_API_ID', model_name: 'MODEL_NAME') do
its('name') { should eq 'MODEL_NAME' }
end
Ensure a description is available:
describe aws_api_gateway_model(rest_api_id: 'REST_API_ID', model_name: 'MODEL_NAME') do
its('description') { should eq 'MODEL_DESCRIPTION' }
end
Ensure a content type is available:
describe aws_api_gateway_model(rest_api_id: 'REST_API_ID', model_name: 'MODEL_NAME') do
its('content_type') { should eq 'CONTENT_TYPE' }
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_model(rest_api_id: 'REST_API_ID', model_name: 'MODEL_NAME') do
it { should exist }
end
Use should_not
to test the entity does not exist.
describe aws_api_gateway_model(rest_api_id: 'REST_API_ID', model_name: 'MODEL_NAME') do
it { should_not exist }
end
AWS Permissions
Your AWS principal will need the ApiGateway:Client:Model
action with Effect
set to Allow
.