StartDeployment - AWS AppConfig

StartDeployment

Starts a deployment.

Request Syntax

POST /applications/ApplicationId/environments/EnvironmentId/deployments HTTP/1.1 Content-type: application/json { "ConfigurationProfileId": "string", "ConfigurationVersion": "string", "DeploymentStrategyId": "string", "Description": "string", "DynamicExtensionParameters": { "string" : "string" }, "KmsKeyIdentifier": "string", "Tags": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

ApplicationId

The application ID.

Pattern: [a-z0-9]{4,7}

Required: Yes

EnvironmentId

The environment ID.

Pattern: [a-z0-9]{4,7}

Required: Yes

Request Body

The request accepts the following data in JSON format.

ConfigurationProfileId

The configuration profile ID.

Type: String

Pattern: [a-z0-9]{4,7}

Required: Yes

ConfigurationVersion

The configuration version to deploy. If deploying an AWS AppConfig hosted configuration version, you can specify either the version number or version label. For all other configurations, you must specify the version number.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1024.

Required: Yes

DeploymentStrategyId

The deployment strategy ID.

Type: String

Pattern: (^[a-z0-9]{4,7}$|^AppConfig\.[A-Za-z0-9]{9,40}$)

Required: Yes

Description

A description of the deployment.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Required: No

DynamicExtensionParameters

A map of dynamic extension parameter names to values to pass to associated extensions with PRE_START_DEPLOYMENT actions.

Type: String to string map

Map Entries: Maximum number of 10 items.

Key Pattern: ^([^#\n]{1,96})#([^\/#\n]{1,64})$

Value Length Constraints: Minimum length of 1. Maximum length of 2048.

Required: No

KmsKeyIdentifier

The AWS KMS key identifier (key ID, key alias, or key ARN). AWS AppConfig uses this ID to encrypt the configuration data using a customer managed key.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Required: No

Tags

Metadata to assign to the deployment. Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.

Type: String to string map

Map Entries: Minimum number of 0 items. Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Value Length Constraints: Maximum length of 256.

Required: No

Response Syntax

HTTP/1.1 201 Content-type: application/json { "ApplicationId": "string", "AppliedExtensions": [ { "ExtensionAssociationId": "string", "ExtensionId": "string", "Parameters": { "string" : "string" }, "VersionNumber": number } ], "CompletedAt": "string", "ConfigurationLocationUri": "string", "ConfigurationName": "string", "ConfigurationProfileId": "string", "ConfigurationVersion": "string", "DeploymentDurationInMinutes": number, "DeploymentNumber": number, "DeploymentStrategyId": "string", "Description": "string", "EnvironmentId": "string", "EventLog": [ { "ActionInvocations": [ { "ActionName": "string", "ErrorCode": "string", "ErrorMessage": "string", "ExtensionIdentifier": "string", "InvocationId": "string", "RoleArn": "string", "Uri": "string" } ], "Description": "string", "EventType": "string", "OccurredAt": "string", "TriggeredBy": "string" } ], "FinalBakeTimeInMinutes": number, "GrowthFactor": number, "GrowthType": "string", "KmsKeyArn": "string", "KmsKeyIdentifier": "string", "PercentageComplete": number, "StartedAt": "string", "State": "string", "VersionLabel": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 201 response.

The following data is returned in JSON format by the service.

ApplicationId

The ID of the application that was deployed.

Type: String

Pattern: [a-z0-9]{4,7}

AppliedExtensions

A list of extensions that were processed as part of the deployment. The extensions that were previously associated to the configuration profile, environment, or the application when StartDeployment was called.

Type: Array of AppliedExtension objects

CompletedAt

The time the deployment completed.

Type: Timestamp

ConfigurationLocationUri

Information about the source location of the configuration.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

ConfigurationName

The name of the configuration.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

ConfigurationProfileId

The ID of the configuration profile that was deployed.

Type: String

Pattern: [a-z0-9]{4,7}

ConfigurationVersion

The configuration version that was deployed.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 1024.

DeploymentDurationInMinutes

Total amount of time the deployment lasted.

Type: Integer

Valid Range: Minimum value of 0. Maximum value of 1440.

DeploymentNumber

The sequence number of the deployment.

Type: Integer

DeploymentStrategyId

The ID of the deployment strategy that was deployed.

Type: String

Pattern: [a-z0-9]{4,7}

Description

The description of the deployment.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

EnvironmentId

The ID of the environment that was deployed.

Type: String

Pattern: [a-z0-9]{4,7}

EventLog

A list containing all events related to a deployment. The most recent events are displayed first.

Type: Array of DeploymentEvent objects

FinalBakeTimeInMinutes

The amount of time that AWS AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic rollback.

Type: Integer

Valid Range: Minimum value of 0. Maximum value of 1440.

GrowthFactor

The percentage of targets to receive a deployed configuration during each interval.

Type: Float

Valid Range: Minimum value of 1.0. Maximum value of 100.0.

GrowthType

The algorithm used to define how percentage grew over time.

Type: String

Valid Values: LINEAR | EXPONENTIAL

KmsKeyArn

The Amazon Resource Name of the AWS Key Management Service key used to encrypt configuration data. You can encrypt secrets stored in AWS Secrets Manager, Amazon Simple Storage Service (Amazon S3) objects encrypted with SSE-KMS, or secure string parameters stored in AWS Systems Manager Parameter Store.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: arn:(aws[a-zA-Z-]*)?:[a-z]+:([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\d{1})?:(\d{12})?:[a-zA-Z0-9-_/:.]+

KmsKeyIdentifier

The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

PercentageComplete

The percentage of targets for which the deployment is available.

Type: Float

Valid Range: Minimum value of 1.0. Maximum value of 100.0.

StartedAt

The time the deployment started.

Type: Timestamp

State

The state of the deployment.

Type: String

Valid Values: BAKING | VALIDATING | DEPLOYING | COMPLETE | ROLLING_BACK | ROLLED_BACK

VersionLabel

A user-defined label for an AWS AppConfig hosted configuration version.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

Pattern: .*[^0-9].*

Errors

For information about the errors that are common to all actions, see Common Errors.

BadRequestException

The input fails to satisfy the constraints specified by an AWS service.

HTTP Status Code: 400

ConflictException

The request could not be processed because of conflict in the current state of the resource.

HTTP Status Code: 409

InternalServerException

There was an internal failure in the AWS AppConfig service.

HTTP Status Code: 500

ResourceNotFoundException

The requested resource could not be found.

HTTP Status Code: 404

Examples

Example

This example illustrates one usage of StartDeployment.

Sample Request

POST /applications/abc1234/environments/54j1r29/deployments HTTP/1.1 Host: appconfig.us-east-1.amazonaws.com Accept-Encoding: identity User-Agent: aws-cli/2.2.4 Python/3.8.8 Linux/5.4.134-73.228.amzn2int.x86_64 exe/x86_64.amzn.2 prompt/off command/appconfig.start-deployment X-Amz-Date: 20210917T214353Z Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20210917/us-east-1/appconfig/aws4_request, SignedHeaders=host;x-amz-date, Signature=39c3b3042cd2aEXAMPLE Content-Length: 101 { "DeploymentStrategyId": "1225qzk", "ConfigurationProfileId": "ur8hx2f", "ConfigurationVersion": "1" }

Sample Response

{ "ApplicationId": "abc1234", "EnvironmentId": "54j1r29", "DeploymentStrategyId": "1225qzk", "ConfigurationProfileId": "ur8hx2f", "DeploymentNumber": 1, "ConfigurationName": "Example-Configuration-Profile", "ConfigurationLocationUri": "ssm-parameter://Example-Parameter", "ConfigurationVersion": "1", "DeploymentDurationInMinutes": 15, "GrowthType": "LINEAR", "GrowthFactor": 25.0, "FinalBakeTimeInMinutes": 0, "State": "DEPLOYING", "EventLog": [ { "EventType": "DEPLOYMENT_STARTED", "TriggeredBy": "USER", "Description": "Deployment started", "OccurredAt": "2021-09-17T21:43:54.205000+00:00" } ], "PercentageComplete": 0.0, "StartedAt": "2021-09-17T21:43:54.205000+00:00" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: