create_deployment_strategy
¶
create_deployment_strategy(
name: Name,
deployment_duration_in_minutes: MinutesBetween0And24Hours,
growth_factor: GrowthFactor,
*,
config_overrides: Optional[AppConfigClientConfig] = None,
description: Optional[Description] = None,
final_bake_time_in_minutes: Optional[MinutesBetween0And24Hours] = None,
growth_type: Optional[GrowthType] = None,
replicate_to: Optional[ReplicateTo] = None,
tags: Optional[TagMap] = None,
) -> DeploymentStrategy
Creates a deployment strategy that defines important criteria for rolling out your configuration to the designated targets. A deployment strategy includes the overall duration required, a percentage of targets to receive the deployment during each interval, an algorithm that defines how percentage grows, and bake time.
Parameters:
-
name(Name) –A name for the deployment strategy.
-
description(Optional[Description], default:None) –A description of the deployment strategy.
-
deployment_duration_in_minutes(MinutesBetween0And24Hours) –Total amount of time for a deployment to last.
AppConfig Agent supports deploying feature flag or free-form configuration data to specific segments or individual users during a gradual rollout. Entity-based gradual deployments ensure that once a user or segment receives a configuration version, they continue to receive that same version throughout the deployment period, regardless of which compute resource serves their requests. For more information, see Using AppConfig Agent for user-based or entity-based gradual deployments
-
final_bake_time_in_minutes(Optional[MinutesBetween0And24Hours], default:None) –Specifies the amount of time AppConfig monitors for Amazon CloudWatch alarms after the configuration has been deployed to 100% of its targets, before considering the deployment to be complete. If an alarm is triggered during this time, AppConfig rolls back the deployment. You must configure permissions for AppConfig to roll back based on CloudWatch alarms. For more information, see Configuring permissions for rollback based on Amazon CloudWatch alarms in the AppConfig User Guide.
-
growth_factor(GrowthFactor) –The percentage of targets to receive a deployed configuration during each interval.
-
growth_type(Optional[GrowthType], default:None) –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 dividing the total number of targets by the value specified for
Step percentage. For example, a linear deployment that uses aStep percentageof 10 deploys the configuration to 10 percent of the hosts. After those deployments are complete, the system deploys the configuration to the next 10 percent. This continues until 100% of the targets have successfully received the configuration.Exponential: For this type, AppConfig processes the deployment exponentially using the following formula:
G*(2^N). In this formula,Gis the growth factor specified by the user andNis 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.
-
replicate_to(Optional[ReplicateTo], default:None) –Save the deployment strategy to a Systems Manager (SSM) document.
-
tags(Optional[TagMap], default:None) –Metadata to assign to the deployment strategy. Tags help organize and categorize your AppConfig resources. Each tag consists of a key and an optional value, both of which you define.
Raises:
-
BadRequestException–The input fails to satisfy the constraints specified by an Amazon Web Services service.
-
InternalServerException–There was an internal failure in the AppConfig service.
-
ServiceQuotaExceededException–The number of one more AppConfig resources exceeds the maximum allowed. Verify that your environment doesn't exceed the following service quotas:
Applications: 100 max
To resolve this issue, you can delete one or more resources and try again. Or, you can request a quota increase. For more information about quotas and to request an increase, see Service quotas for AppConfig in the Amazon Web Services General Reference.
-
UnknownServiceError–The service returned an error code this client does not model.
Examples:
To create a deployment strategy The following create-deployment-strategy example creates a deployment strategy called Example-Deployment that takes 15 minutes and deploys the configuration to 25% of the application at a time. The strategy is also copied to an SSM Document.
>>> client.create_deployment_strategy(name='Example-Deployment', deployment_duration_in_minutes=15, growth_factor=25, replicate_to='SSM_DOCUMENT')
Source code in docs_src/capo_appconfig/_services/app_config.py
453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 | |