stages
Creates, updates, deletes or gets a stage
resource or lists stages
in a region
Overview
Name | stages |
Type | Resource |
Description | The AWS::ApiGateway::Stage resource creates a stage for a deployment. |
Id | aws.apigateway.stages |
Fields
Name | Datatype | Description |
---|---|---|
access_log_setting | object | Access log settings, including the access log format and access log destination ARN. |
cache_cluster_enabled | boolean | Specifies whether a cache cluster is enabled for the stage. |
cache_cluster_size | string | The stage's cache capacity in GB. For more information about choosing a cache size, see [Enabling API caching to enhance responsiveness](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html). |
canary_setting | object | Settings for the canary deployment in this stage. |
client_certificate_id | string | The identifier of a client certificate for an API stage. |
deployment_id | string | The identifier of the Deployment that the stage points to. |
description | string | The stage's description. |
documentation_version | string | The version of the associated API documentation. |
method_settings | array | A map that defines the method settings for a Stage resource. Keys (designated as /{method_setting_key below) are method paths defined as {resource_path}/{http_method} for an individual method override, or /\*/\* for overriding all methods in the stage. |
rest_api_id | string | The string identifier of the associated RestApi. |
stage_name | string | The name of the stage is the first path segment in the Uniform Resource Identifier (URI) of a call to API Gateway. Stage names can only contain alphanumeric characters, hyphens, and underscores. Maximum length is 128 characters. |
tags | array | The collection of tags. Each tag element is associated with a given resource. |
tracing_enabled | boolean | Specifies whether active tracing with X-ray is enabled for the Stage. |
variables | object | A map (string-to-string map) that defines the stage variables, where the variable name is the key and the variable value is the value. Variable names are limited to alphanumeric characters. Values must match the following regular expression: [A-Za-z0-9-._~:/?#&=,]+ . |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | RestApiId, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all stages
in a region.
SELECT
region,
access_log_setting,
cache_cluster_enabled,
cache_cluster_size,
canary_setting,
client_certificate_id,
deployment_id,
description,
documentation_version,
method_settings,
rest_api_id,
stage_name,
tags,
tracing_enabled,
variables
FROM aws.apigateway.stages
WHERE region = 'us-east-1';
Gets all properties from an individual stage
.
SELECT
region,
access_log_setting,
cache_cluster_enabled,
cache_cluster_size,
canary_setting,
client_certificate_id,
deployment_id,
description,
documentation_version,
method_settings,
rest_api_id,
stage_name,
tags,
tracing_enabled,
variables
FROM aws.apigateway.stages
WHERE region = 'us-east-1' AND data__Identifier = '<RestApiId>|<StageName>';
INSERT
example
Use the following StackQL query and manifest file to create a new stage
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.apigateway.stages (
RestApiId,
region
)
SELECT
'{{ RestApiId }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.apigateway.stages (
AccessLogSetting,
CacheClusterEnabled,
CacheClusterSize,
CanarySetting,
ClientCertificateId,
DeploymentId,
Description,
DocumentationVersion,
MethodSettings,
RestApiId,
StageName,
Tags,
TracingEnabled,
Variables,
region
)
SELECT
'{{ AccessLogSetting }}',
'{{ CacheClusterEnabled }}',
'{{ CacheClusterSize }}',
'{{ CanarySetting }}',
'{{ ClientCertificateId }}',
'{{ DeploymentId }}',
'{{ Description }}',
'{{ DocumentationVersion }}',
'{{ MethodSettings }}',
'{{ RestApiId }}',
'{{ StageName }}',
'{{ Tags }}',
'{{ TracingEnabled }}',
'{{ Variables }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: stage
props:
- name: AccessLogSetting
value:
DestinationArn: '{{ DestinationArn }}'
Format: '{{ Format }}'
- name: CacheClusterEnabled
value: '{{ CacheClusterEnabled }}'
- name: CacheClusterSize
value: '{{ CacheClusterSize }}'
- name: CanarySetting
value:
DeploymentId: '{{ DeploymentId }}'
PercentTraffic: null
StageVariableOverrides: {}
UseStageCache: '{{ UseStageCache }}'
- name: ClientCertificateId
value: '{{ ClientCertificateId }}'
- name: DeploymentId
value: '{{ DeploymentId }}'
- name: Description
value: '{{ Description }}'
- name: DocumentationVersion
value: '{{ DocumentationVersion }}'
- name: MethodSettings
value:
- CacheDataEncrypted: '{{ CacheDataEncrypted }}'
CacheTtlInSeconds: '{{ CacheTtlInSeconds }}'
CachingEnabled: '{{ CachingEnabled }}'
DataTraceEnabled: '{{ DataTraceEnabled }}'
HttpMethod: '{{ HttpMethod }}'
LoggingLevel: '{{ LoggingLevel }}'
MetricsEnabled: '{{ MetricsEnabled }}'
ResourcePath: '{{ ResourcePath }}'
ThrottlingBurstLimit: '{{ ThrottlingBurstLimit }}'
ThrottlingRateLimit: null
- name: RestApiId
value: '{{ RestApiId }}'
- name: StageName
value: '{{ StageName }}'
- name: Tags
value:
- Value: '{{ Value }}'
Key: '{{ Key }}'
- name: TracingEnabled
value: '{{ TracingEnabled }}'
- name: Variables
value: {}
DELETE
example
/*+ delete */
DELETE FROM aws.apigateway.stages
WHERE data__Identifier = '<RestApiId|StageName>'
AND region = 'us-east-1';
Permissions
To operate on the stages
resource, the following permissions are required:
Create
apigateway:POST,
apigateway:PATCH,
apigateway:GET,
apigateway:PUT
Read
apigateway:GET
Update
apigateway:GET,
apigateway:PATCH,
apigateway:PUT,
apigateway:DELETE
Delete
apigateway:DELETE
List
apigateway:GET