AppConfig / Client / update_deployment_strategy
update_deployment_strategy#
- AppConfig.Client.update_deployment_strategy(**kwargs)#
Updates a deployment strategy.
See also: AWS API Documentation
Request Syntax
response = client.update_deployment_strategy( DeploymentStrategyId='string', Description='string', DeploymentDurationInMinutes=123, FinalBakeTimeInMinutes=123, GrowthFactor=..., GrowthType='LINEAR'|'EXPONENTIAL' )
- Parameters:
DeploymentStrategyId (string) –
[REQUIRED]
The deployment strategy ID.
Description (string) – A description of the deployment strategy.
DeploymentDurationInMinutes (integer) – Total amount of time for a deployment to last.
FinalBakeTimeInMinutes (integer) – The amount of time that AppConfig monitors for alarms before considering the deployment to be complete and no longer eligible for automatic rollback.
GrowthFactor (float) – The percentage of targets to receive a deployed configuration during each interval.
GrowthType (string) –
The algorithm used to define how percentage grows over time. AppConfig supports the following growth types:
Linear: For this type, AppConfig processes the deployment by increments of the growth factor evenly distributed over the deployment time. For example, a linear deployment that uses a growth factor of 20 initially makes the configuration available to 20 percent of the targets. After 1/5th of the deployment time has passed, the system updates the percentage to 40 percent. This continues until 100% of the targets are set to receive the deployed configuration.
Exponential: For this type, AppConfig processes the deployment exponentially using the following formula:
G*(2^N)
. In this formula,G
is the growth factor specified by the user andN
is the number of steps until the configuration is deployed to all targets. For example, if you specify a growth factor of 2, then the system rolls out the configuration as follows:2*(2^0)
2*(2^1)
2*(2^2)
Expressed numerically, the deployment rolls out as follows: 2% of the targets, 4% of the targets, 8% of the targets, and continues until the configuration has been deployed to all targets.
- Return type:
dict
- Returns:
Response Syntax
{ 'Id': 'string', 'Name': 'string', 'Description': 'string', 'DeploymentDurationInMinutes': 123, 'GrowthType': 'LINEAR'|'EXPONENTIAL', 'GrowthFactor': ..., 'FinalBakeTimeInMinutes': 123, 'ReplicateTo': 'NONE'|'SSM_DOCUMENT' }
Response Structure
(dict) –
Id (string) –
The deployment strategy ID.
Name (string) –
The name of the deployment strategy.
Description (string) –
The description of the deployment strategy.
DeploymentDurationInMinutes (integer) –
Total amount of time the deployment lasted.
GrowthType (string) –
The algorithm used to define how percentage grew over time.
GrowthFactor (float) –
The percentage of targets that received a deployed configuration during each interval.
FinalBakeTimeInMinutes (integer) –
The amount of time that AppConfig monitored for alarms before considering the deployment to be complete and no longer eligible for automatic rollback.
ReplicateTo (string) –
Save the deployment strategy to a Systems Manager (SSM) document.
Exceptions
AppConfig.Client.exceptions.BadRequestException
AppConfig.Client.exceptions.ResourceNotFoundException
AppConfig.Client.exceptions.InternalServerException
Examples
The following update-deployment-strategy example updates final bake time to 20 minutes in the specified deployment strategy.
::
- response = client.update_deployment_strategy(
DeploymentStrategyId=’1225qzk’, FinalBakeTimeInMinutes=20,
)
print(response)
Expected Output:
{ 'DeploymentDurationInMinutes': 15, 'FinalBakeTimeInMinutes': 20, 'GrowthFactor': 25, 'GrowthType': 'LINEAR', 'Id': '1225qzk', 'Name': 'Example-Deployment', 'ReplicateTo': 'SSM_DOCUMENT', 'ResponseMetadata': { '...': '...', }, }