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::ApiGateway::Deployment
The AWS::ApiGateway::Deployment resource deploys an API Gateway RestApi resource to a stage so that clients can call the API over the internet. The stage acts as an environment.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::ApiGateway::Deployment", "Properties" : { "DeploymentCanarySettings" :DeploymentCanarySettings, "Description" :String, "RestApiId" :String, "StageDescription" :StageDescription, "StageName" :String} }
YAML
Type: AWS::ApiGateway::Deployment Properties: DeploymentCanarySettings:DeploymentCanarySettingsDescription:StringRestApiId:StringStageDescription:StageDescriptionStageName:String
Properties
- DeploymentCanarySettings
- 
                    The input configuration for a canary deployment. Required: No Type: DeploymentCanarySettings Update requires: Replacement 
- Description
- 
                    The description for the Deployment resource to create. Required: No Type: String Update requires: No interruption 
- RestApiId
- 
                    The string identifier of the associated RestApi. Required: Yes Type: String Update requires: Replacement 
- StageDescription
- 
                    The description of the Stage resource for the Deployment resource to create. To specify a stage description, you must also provide a stage name. Required: Conditional Type: StageDescription Update requires: No interruption 
- StageName
- 
                    The name of the Stage resource for the Deployment resource to create. Required: No Type: String Update requires: No interruption 
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the deployment ID, such as 123abc.
For more information about using the Ref function, see Ref.
Fn::GetAtt
The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt.
- DeploymentId
- 
                            The ID for the deployment. For example: abc123.
Examples
The following sections provide examples for declaring API Gateway deployments.
Deployment with an empty embedded stage
The following example deploys the MyApi API to a stage named DummyStage.
JSON
{ "Deployment": { "Type": "AWS::ApiGateway::Deployment", "Properties": { "RestApiId": { "Ref": "MyApi" }, "Description": "My deployment", "StageName": "DummyStage" } } }
YAML
Deployment: Type: 'AWS::ApiGateway::Deployment' Properties: RestApiId: !Ref MyApi Description: My deployment StageName: DummyStage
AWS::ApiGateway::Method Dependency
If you create an AWS::ApiGateway::RestApi resource and its methods (using AWS::ApiGateway::Method) in the same template as your deployment, the deployment must depend on the RestApi's methods. To create a dependency, add a DependsOn attribute to the deployment. If you don't, AWS CloudFormation creates the deployment right after it creates the RestApi resource that doesn't contain any methods, and AWS CloudFormation encounters the following error: The REST API doesn't contain any methods.
JSON
{ "Deployment": { "DependsOn": "MyMethod", "Type": "AWS::ApiGateway::Deployment", "Properties": { "RestApiId": { "Ref": "MyApi" }, "Description": "My deployment", "StageName": "DummyStage" } } }
YAML
Deployment: DependsOn: MyMethod Type: 'AWS::ApiGateway::Deployment' Properties: RestApiId: !Ref MyApi Description: My deployment StageName: DummyStage
See also
- 
                    deployment:create in the Amazon API Gateway REST API Reference