This is the new AWS CloudFormation Template Reference Guide. Please update your bookmarks and links. For help getting started with CloudFormation, see the AWS CloudFormation User Guide.
AWS::ApiGatewayV2::Stage
The AWS::ApiGatewayV2::Stage resource specifies a stage for an API. Each stage is a named
        reference to a deployment of the API and is made available for client applications to call. To learn more, see
          Working with stages for
          HTTP APIs  and Deploy a WebSocket API in API Gateway.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::ApiGatewayV2::Stage", "Properties" : { "AccessLogSettings" :AccessLogSettings, "AccessPolicyId" :String, "ApiId" :String, "AutoDeploy" :Boolean, "ClientCertificateId" :String, "DefaultRouteSettings" :RouteSettings, "DeploymentId" :String, "Description" :String, "RouteSettings" :Json, "StageName" :String, "StageVariables" :Json, "Tags" :[} }Tag, ... ]
YAML
Type: AWS::ApiGatewayV2::Stage Properties: AccessLogSettings:AccessLogSettingsAccessPolicyId:StringApiId:StringAutoDeploy:BooleanClientCertificateId:StringDefaultRouteSettings:RouteSettingsDeploymentId:StringDescription:StringRouteSettings:JsonStageName:StringStageVariables:JsonTags:-Tag
Properties
AccessLogSettings- 
                    
Settings for logging access in this stage.
Required: No
Type: AccessLogSettings
Update requires: No interruption
 AccessPolicyId- 
                    
This parameter is not currently supported.
Required: No
Type: String
Update requires: No interruption
 ApiId- 
                    
The API identifier.
Required: Yes
Type: String
Update requires: Replacement
 AutoDeploy- 
                    
Specifies whether updates to an API automatically trigger a new deployment. The default value is
false.Required: No
Type: Boolean
Update requires: No interruption
 ClientCertificateId- 
                    
The identifier of a client certificate for a
Stage. Supported only for WebSocket APIs.Required: No
Type: String
Update requires: No interruption
 DefaultRouteSettings- 
                    
The default route settings for the stage.
Required: No
Type: RouteSettings
Update requires: No interruption
 DeploymentId- 
                    
The deployment identifier for the API stage. Can't be updated if
autoDeployis enabled.Required: No
Type: String
Update requires: No interruption
 Description- 
                    
The description for the API stage.
Required: No
Type: String
Update requires: No interruption
 RouteSettings- 
                    
Route settings for the stage.
Required: No
Type: Json
Update requires: No interruption
 StageName- 
                    
The stage name. Stage names can contain only alphanumeric characters, hyphens, and underscores, or be
$default. Maximum length is 128 characters.Required: Yes
Type: String
Update requires: Replacement
 StageVariables- 
                    
A map that defines the stage variables for a
Stage. Variable names can have alphanumeric and underscore characters, and the values must match [A-Za-z0-9-._~:/?#&=,]+.Required: No
Type: Json
Update requires: No interruption
 - 
                    
The collection of tags. Each tag element is associated with a given resource.
Required: No
Type: Array of
TagUpdate requires: No interruption
 
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the stage name, such as
                  MyTestStage.
For more information about using the Ref function, see Ref.
Fn::GetAtt
Id- 
                            
The identifier.
 
Examples
Stage creation example
The following example creates a stage resource called
                                    MyStage and associates it with an existing
                                    deployment called MyDeployment.
JSON
{ "MyStage": { "Type": "AWS::ApiGatewayV2::Stage", "Properties": { "StageName": "Prod", "Description": "Prod Stage", "DeploymentId": { "Ref": "MyDeployment" }, "ApiId": { "Ref": "CFNWebSocket" }, "DefaultRouteSettings": { "DetailedMetricsEnabled": true, "LoggingLevel": "INFO", "DataTraceEnabled": false, "ThrottlingBurstLimit": 10, "ThrottlingRateLimit": 10 }, "AccessLogSettings": { "DestinationArn": "arn:aws:logs:us-east-1:123456789:log-group:my-log-group", "Format": "{\"requestId\":\"$context.requestId\", \"ip\": \"$context.identity.sourceIp\", \"caller\":\"$context.identity.caller\", \"user\":\"$context.identity.user\",\"requestTime\":\"$context.requestTime\", \"eventType\":\"$context.eventType\",\"routeKey\":\"$context.routeKey\", \"status\":\"$context.status\",\"connectionId\":\"$context.connectionId\"}" } } } }
YAML
MyStage: Type: 'AWS::ApiGatewayV2::Stage' Properties: StageName: Prod Description: Prod Stage DeploymentId: !Ref MyDeployment ApiId: !Ref CFNWebSocket DefaultRouteSettings: DetailedMetricsEnabled: true LoggingLevel: INFO DataTraceEnabled: false ThrottlingBurstLimit: 10 ThrottlingRateLimit: 10 AccessLogSettings: DestinationArn: 'arn:aws:logs:us-east-1:123456789:log-group:my-log-group' Format: >- {"requestId":"$context.requestId", "ip": "$context.identity.sourceIp", "caller":"$context.identity.caller", "user":"$context.identity.user","requestTime":"$context.requestTime", "eventType":"$context.eventType","routeKey":"$context.routeKey", "status":"$context.status","connectionId":"$context.connectionId"}
See also
- 
                    
CreateStage in the Amazon API Gateway Version 2 API Reference