aws-cdk-lib 2.206.0__py3-none-any.whl → 2.208.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +96 -15
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.206.0.jsii.tgz → aws-cdk-lib@2.208.0.jsii.tgz} +0 -0
- aws_cdk/aws_aiops/__init__.py +70 -76
- aws_cdk/aws_amazonmq/__init__.py +8 -18
- aws_cdk/aws_appstream/__init__.py +36 -4
- aws_cdk/aws_autoscaling/__init__.py +20 -0
- aws_cdk/aws_bedrock/__init__.py +317 -142
- aws_cdk/aws_certificatemanager/__init__.py +48 -3
- aws_cdk/aws_cleanrooms/__init__.py +6 -2
- aws_cdk/aws_cloudformation/__init__.py +28 -15
- aws_cdk/aws_cloudfront/__init__.py +12 -2
- aws_cdk/aws_cloudwatch/__init__.py +574 -33
- aws_cdk/aws_connect/__init__.py +107 -3
- aws_cdk/aws_customerprofiles/__init__.py +27 -22
- aws_cdk/aws_datasync/__init__.py +14 -15
- aws_cdk/aws_docdb/__init__.py +5 -3
- aws_cdk/aws_ec2/__init__.py +59 -13
- aws_cdk/aws_ecs/__init__.py +185 -47
- aws_cdk/aws_events/__init__.py +142 -0
- aws_cdk/aws_gamelift/__init__.py +2 -2
- aws_cdk/aws_guardduty/__init__.py +86 -0
- aws_cdk/aws_iotsitewise/__init__.py +13 -9
- aws_cdk/aws_kinesisfirehose/__init__.py +377 -4
- aws_cdk/aws_kms/__init__.py +19 -17
- aws_cdk/aws_logs/__init__.py +4775 -764
- aws_cdk/aws_mediapackagev2/__init__.py +950 -48
- aws_cdk/aws_omics/__init__.py +13 -10
- aws_cdk/aws_opsworkscm/__init__.py +2 -4
- aws_cdk/aws_quicksight/__init__.py +111 -4
- aws_cdk/aws_rds/__init__.py +358 -27
- aws_cdk/aws_s3/__init__.py +781 -8
- aws_cdk/aws_s3express/__init__.py +61 -3
- aws_cdk/aws_s3tables/__init__.py +254 -0
- aws_cdk/aws_sagemaker/__init__.py +527 -140
- aws_cdk/aws_ssm/__init__.py +106 -33
- aws_cdk/aws_transfer/__init__.py +70 -11
- aws_cdk/aws_wisdom/__init__.py +1185 -100
- {aws_cdk_lib-2.206.0.dist-info → aws_cdk_lib-2.208.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.206.0.dist-info → aws_cdk_lib-2.208.0.dist-info}/RECORD +44 -44
- {aws_cdk_lib-2.206.0.dist-info → aws_cdk_lib-2.208.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.206.0.dist-info → aws_cdk_lib-2.208.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.206.0.dist-info → aws_cdk_lib-2.208.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.206.0.dist-info → aws_cdk_lib-2.208.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ecs/__init__.py
CHANGED
|
@@ -8701,9 +8701,9 @@ class CfnService(
|
|
|
8701
8701
|
:param capacity_provider_strategy: The capacity provider strategy to use for the service. If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. .. epigraph:: To remove this property from your service resource, specify an empty ``CapacityProviderStrategyItem`` array.
|
|
8702
8702
|
:param cluster: The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
|
|
8703
8703
|
:param deployment_configuration: Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
|
|
8704
|
-
:param deployment_controller: The deployment controller to use for the service.
|
|
8704
|
+
:param deployment_controller: The deployment controller to use for the service.
|
|
8705
8705
|
:param desired_count: The number of instantiations of the specified task definition to place and keep running in your service. For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
|
|
8706
|
-
:param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* . When you use Amazon ECS managed tags, you
|
|
8706
|
+
:param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* . When you use Amazon ECS managed tags, you must set the ``propagateTags`` request parameter.
|
|
8707
8707
|
:param enable_execute_command: Determines whether the execute command functionality is turned on for the service. If ``true`` , the execute command functionality is turned on for all containers in tasks as part of the service.
|
|
8708
8708
|
:param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you don't specify a health check grace period value, the default value of ``0`` is used. If you don't use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service's tasks take a while to start and respond to health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
|
|
8709
8709
|
:param launch_type: The launch type on which to run your service. For more information, see `Amazon ECS Launch Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
@@ -9239,11 +9239,14 @@ class CfnService(
|
|
|
9239
9239
|
role_arn: typing.Optional[builtins.str] = None,
|
|
9240
9240
|
test_listener_rule: typing.Optional[builtins.str] = None,
|
|
9241
9241
|
) -> None:
|
|
9242
|
-
'''
|
|
9243
|
-
|
|
9244
|
-
|
|
9245
|
-
|
|
9246
|
-
:param
|
|
9242
|
+
'''The advanced settings for a load balancer used in blue/green deployments.
|
|
9243
|
+
|
|
9244
|
+
Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments. For more information, see `Required resources for Amazon ECS blue/green deployments <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-deployment-implementation.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
9245
|
+
|
|
9246
|
+
:param alternate_target_group_arn: The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.
|
|
9247
|
+
:param production_listener_rule: The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.
|
|
9248
|
+
:param role_arn: The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.
|
|
9249
|
+
:param test_listener_rule: The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.
|
|
9247
9250
|
|
|
9248
9251
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-advancedconfiguration.html
|
|
9249
9252
|
:exampleMetadata: fixture=_generated
|
|
@@ -9281,7 +9284,8 @@ class CfnService(
|
|
|
9281
9284
|
|
|
9282
9285
|
@builtins.property
|
|
9283
9286
|
def alternate_target_group_arn(self) -> builtins.str:
|
|
9284
|
-
'''
|
|
9287
|
+
'''The Amazon Resource Name (ARN) of the alternate target group for Amazon ECS blue/green deployments.
|
|
9288
|
+
|
|
9285
9289
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-advancedconfiguration.html#cfn-ecs-service-advancedconfiguration-alternatetargetgrouparn
|
|
9286
9290
|
'''
|
|
9287
9291
|
result = self._values.get("alternate_target_group_arn")
|
|
@@ -9290,7 +9294,8 @@ class CfnService(
|
|
|
9290
9294
|
|
|
9291
9295
|
@builtins.property
|
|
9292
9296
|
def production_listener_rule(self) -> typing.Optional[builtins.str]:
|
|
9293
|
-
'''
|
|
9297
|
+
'''The Amazon Resource Name (ARN) that that identifies the production listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing production traffic.
|
|
9298
|
+
|
|
9294
9299
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-advancedconfiguration.html#cfn-ecs-service-advancedconfiguration-productionlistenerrule
|
|
9295
9300
|
'''
|
|
9296
9301
|
result = self._values.get("production_listener_rule")
|
|
@@ -9298,7 +9303,8 @@ class CfnService(
|
|
|
9298
9303
|
|
|
9299
9304
|
@builtins.property
|
|
9300
9305
|
def role_arn(self) -> typing.Optional[builtins.str]:
|
|
9301
|
-
'''
|
|
9306
|
+
'''The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call the Elastic Load Balancing APIs for you.
|
|
9307
|
+
|
|
9302
9308
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-advancedconfiguration.html#cfn-ecs-service-advancedconfiguration-rolearn
|
|
9303
9309
|
'''
|
|
9304
9310
|
result = self._values.get("role_arn")
|
|
@@ -9306,7 +9312,8 @@ class CfnService(
|
|
|
9306
9312
|
|
|
9307
9313
|
@builtins.property
|
|
9308
9314
|
def test_listener_rule(self) -> typing.Optional[builtins.str]:
|
|
9309
|
-
'''
|
|
9315
|
+
'''The Amazon Resource Name (ARN) that identifies ) that identifies the test listener rule (in the case of an Application Load Balancer) or listener (in the case for an Network Load Balancer) for routing test traffic.
|
|
9316
|
+
|
|
9310
9317
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-advancedconfiguration.html#cfn-ecs-service-advancedconfiguration-testlistenerrule
|
|
9311
9318
|
'''
|
|
9312
9319
|
result = self._values.get("test_listener_rule")
|
|
@@ -9555,7 +9562,7 @@ class CfnService(
|
|
|
9555
9562
|
|
|
9556
9563
|
When the alarms are generated, Amazon ECS sets the service deployment to failed. Set the rollback parameter to have Amazon ECS to roll back your service to the last completed deployment after a failure.
|
|
9557
9564
|
|
|
9558
|
-
You can only use the ``DeploymentAlarms`` method to detect failures when the ``DeploymentController`` is set to ``ECS``
|
|
9565
|
+
You can only use the ``DeploymentAlarms`` method to detect failures when the ``DeploymentController`` is set to ``ECS`` .
|
|
9559
9566
|
|
|
9560
9567
|
For more information, see `Rolling update <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html>`_ in the **Amazon Elastic Container Service Developer Guide** .
|
|
9561
9568
|
|
|
@@ -9741,12 +9748,12 @@ class CfnService(
|
|
|
9741
9748
|
'''Optional deployment parameters that control how many tasks run during a deployment and the ordering of stopping and starting tasks.
|
|
9742
9749
|
|
|
9743
9750
|
:param alarms: Information about the CloudWatch alarms.
|
|
9744
|
-
:param bake_time_in_minutes:
|
|
9751
|
+
:param bake_time_in_minutes: The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted. The following rules apply when you don't specify a value: - For rolling deployments, the value is set to 3 hours (180 minutes). - When you use an external deployment controller ( ``EXTERNAL`` ), or the CodeDeploy blue/green deployment controller ( ``CODE_DEPLOY`` ), the value is set to 3 hours (180 minutes). - For all other cases, the value is set to 36 hours (2160 minutes).
|
|
9745
9752
|
:param deployment_circuit_breaker: .. epigraph:: The deployment circuit breaker can only be used for services using the rolling update ( ``ECS`` ) deployment type. The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see `Rolling update <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html>`_ in the *Amazon Elastic Container Service Developer Guide*
|
|
9746
|
-
:param lifecycle_hooks:
|
|
9753
|
+
:param lifecycle_hooks: An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
|
|
9747
9754
|
:param maximum_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see `Amazon ECS services <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html>`_ . If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. .. epigraph:: You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. If the service uses either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service.
|
|
9748
9755
|
:param minimum_healthy_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. If any tasks are unhealthy and if ``maximumPercent`` doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using the ``minimumHealthyPercent`` as a constraint — to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see `Amazon ECS services <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html>`_ . For services that *do not* use a load balancer, the following should be noted: - A service is considered healthy if all essential containers within the tasks in the service pass their health checks. - If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total. - If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. For services that *do* use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent`` /100, rounded up to the nearest integer value. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. .. epigraph:: You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
|
|
9749
|
-
:param strategy:
|
|
9756
|
+
:param strategy: The deployment strategy for the service. Choose from these valid values:. - ``ROLLING`` - When you create a service which uses the rolling update ( ``ROLLING`` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration. - ``BLUE_GREEN`` - A blue/green deployment strategy ( ``BLUE_GREEN`` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
|
|
9750
9757
|
|
|
9751
9758
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html
|
|
9752
9759
|
:exampleMetadata: fixture=_generated
|
|
@@ -9816,7 +9823,14 @@ class CfnService(
|
|
|
9816
9823
|
|
|
9817
9824
|
@builtins.property
|
|
9818
9825
|
def bake_time_in_minutes(self) -> typing.Optional[jsii.Number]:
|
|
9819
|
-
'''
|
|
9826
|
+
'''The duration when both blue and green service revisions are running simultaneously after the production traffic has shifted.
|
|
9827
|
+
|
|
9828
|
+
The following rules apply when you don't specify a value:
|
|
9829
|
+
|
|
9830
|
+
- For rolling deployments, the value is set to 3 hours (180 minutes).
|
|
9831
|
+
- When you use an external deployment controller ( ``EXTERNAL`` ), or the CodeDeploy blue/green deployment controller ( ``CODE_DEPLOY`` ), the value is set to 3 hours (180 minutes).
|
|
9832
|
+
- For all other cases, the value is set to 36 hours (2160 minutes).
|
|
9833
|
+
|
|
9820
9834
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-baketimeinminutes
|
|
9821
9835
|
'''
|
|
9822
9836
|
result = self._values.get("bake_time_in_minutes")
|
|
@@ -9841,7 +9855,8 @@ class CfnService(
|
|
|
9841
9855
|
def lifecycle_hooks(
|
|
9842
9856
|
self,
|
|
9843
9857
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnService.DeploymentLifecycleHookProperty"]]]]:
|
|
9844
|
-
'''
|
|
9858
|
+
'''An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.
|
|
9859
|
+
|
|
9845
9860
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-lifecyclehooks
|
|
9846
9861
|
'''
|
|
9847
9862
|
result = self._values.get("lifecycle_hooks")
|
|
@@ -9904,7 +9919,11 @@ class CfnService(
|
|
|
9904
9919
|
|
|
9905
9920
|
@builtins.property
|
|
9906
9921
|
def strategy(self) -> typing.Optional[builtins.str]:
|
|
9907
|
-
'''
|
|
9922
|
+
'''The deployment strategy for the service. Choose from these valid values:.
|
|
9923
|
+
|
|
9924
|
+
- ``ROLLING`` - When you create a service which uses the rolling update ( ``ROLLING`` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.
|
|
9925
|
+
- ``BLUE_GREEN`` - A blue/green deployment strategy ( ``BLUE_GREEN`` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
|
|
9926
|
+
|
|
9908
9927
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-strategy
|
|
9909
9928
|
'''
|
|
9910
9929
|
result = self._values.get("strategy")
|
|
@@ -9930,7 +9949,7 @@ class CfnService(
|
|
|
9930
9949
|
def __init__(self, *, type: typing.Optional[builtins.str] = None) -> None:
|
|
9931
9950
|
'''The deployment controller to use for the service.
|
|
9932
9951
|
|
|
9933
|
-
:param type: The deployment controller type to use.
|
|
9952
|
+
:param type: The deployment controller type to use. The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are: - ECS When you create a service which uses the ``ECS`` deployment controller, you can choose between the following deployment strategies: - ``ROLLING`` : When you create a service which uses the *rolling update* ( ``ROLLING`` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration. Rolling update deployments are best suited for the following scenarios: - Gradual service updates: You need to update your service incrementally without taking the entire service offline at once. - Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments). - Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one. - No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds. - Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners. - No load balancer requirement: Your service doesn't use or require a load balancer, Application Load Balancer , Network Load Balancer , or Service Connect (which are required for blue/green deployments). - Stateful applications: Your application maintains state that makes it difficult to run two parallel environments. - Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment. Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios. - ``BLUE_GREEN`` : A *blue/green* deployment strategy ( ``BLUE_GREEN`` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed. Amazon ECS blue/green deployments are best suited for the following scenarios: - Service validation: When you need to validate new service revisions before directing production traffic to them - Zero downtime: When your service requires zero-downtime deployments - Instant roll back: When you need the ability to quickly roll back if issues are detected - Load balancer requirement: When your service uses Application Load Balancer , Network Load Balancer , or Service Connect - External Use a third-party deployment controller. - Blue/green deployment (powered by CodeDeploy ) CodeDeploy installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it. When updating the deployment controller for a service, consider the following depending on the type of migration you're performing. - If you have a template that contains the ``EXTERNAL`` deployment controller information as well as ``TaskSet`` and ``PrimaryTaskSet`` resources, and you remove the task set resources from the template when updating from ``EXTERNAL`` to ``ECS`` , the ``DescribeTaskSet`` and ``DeleteTaskSet`` API calls will return a 400 error after the deployment controller is updated to ``ECS`` . This results in a delete failure on the task set resources, even though the stack transitions to ``UPDATE_COMPLETE`` status. For more information, see `Resource removed from stack but not deleted <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-resource-removed-not-deleted>`_ in the AWS CloudFormation User Guide. To fix this issue, delete the task sets directly using the Amazon ECS ``DeleteTaskSet`` API. For more information about how to delete a task set, see `DeleteTaskSet <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html>`_ in the Amazon Elastic Container Service API Reference. - If you're migrating from ``CODE_DEPLOY`` to ``ECS`` with a new task definition and AWS CloudFormation performs a rollback operation, the Amazon ECS ``UpdateService`` request fails with the following error: Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller. - After a successful migration from ``ECS`` to ``EXTERNAL`` deployment controller, you need to manually remove the ``ACTIVE`` task set, because Amazon ECS no longer manages the deployment. For information about how to delete a task set, see `DeleteTaskSet <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html>`_ in the Amazon Elastic Container Service API Reference.
|
|
9934
9953
|
|
|
9935
9954
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html
|
|
9936
9955
|
:exampleMetadata: fixture=_generated
|
|
@@ -9954,11 +9973,53 @@ class CfnService(
|
|
|
9954
9973
|
|
|
9955
9974
|
@builtins.property
|
|
9956
9975
|
def type(self) -> typing.Optional[builtins.str]:
|
|
9957
|
-
'''The deployment controller type to use.
|
|
9976
|
+
'''The deployment controller type to use.
|
|
9977
|
+
|
|
9978
|
+
The deployment controller is the mechanism that determines how tasks are deployed for your service. The valid options are:
|
|
9979
|
+
|
|
9980
|
+
- ECS
|
|
9981
|
+
|
|
9982
|
+
When you create a service which uses the ``ECS`` deployment controller, you can choose between the following deployment strategies:
|
|
9958
9983
|
|
|
9959
|
-
-
|
|
9960
|
-
|
|
9961
|
-
|
|
9984
|
+
- ``ROLLING`` : When you create a service which uses the *rolling update* ( ``ROLLING`` ) deployment strategy, the Amazon ECS service scheduler replaces the currently running tasks with new tasks. The number of tasks that Amazon ECS adds or removes from the service during a rolling update is controlled by the service deployment configuration.
|
|
9985
|
+
|
|
9986
|
+
Rolling update deployments are best suited for the following scenarios:
|
|
9987
|
+
|
|
9988
|
+
- Gradual service updates: You need to update your service incrementally without taking the entire service offline at once.
|
|
9989
|
+
- Limited resource requirements: You want to avoid the additional resource costs of running two complete environments simultaneously (as required by blue/green deployments).
|
|
9990
|
+
- Acceptable deployment time: Your application can tolerate a longer deployment process, as rolling updates replace tasks one by one.
|
|
9991
|
+
- No need for instant roll back: Your service can tolerate a rollback process that takes minutes rather than seconds.
|
|
9992
|
+
- Simple deployment process: You prefer a straightforward deployment approach without the complexity of managing multiple environments, target groups, and listeners.
|
|
9993
|
+
- No load balancer requirement: Your service doesn't use or require a load balancer, Application Load Balancer , Network Load Balancer , or Service Connect (which are required for blue/green deployments).
|
|
9994
|
+
- Stateful applications: Your application maintains state that makes it difficult to run two parallel environments.
|
|
9995
|
+
- Cost sensitivity: You want to minimize deployment costs by not running duplicate environments during deployment.
|
|
9996
|
+
|
|
9997
|
+
Rolling updates are the default deployment strategy for services and provide a balance between deployment safety and resource efficiency for many common application scenarios.
|
|
9998
|
+
|
|
9999
|
+
- ``BLUE_GREEN`` : A *blue/green* deployment strategy ( ``BLUE_GREEN`` ) is a release methodology that reduces downtime and risk by running two identical production environments called blue and green. With Amazon ECS blue/green deployments, you can validate new service revisions before directing production traffic to them. This approach provides a safer way to deploy changes with the ability to quickly roll back if needed.
|
|
10000
|
+
|
|
10001
|
+
Amazon ECS blue/green deployments are best suited for the following scenarios:
|
|
10002
|
+
|
|
10003
|
+
- Service validation: When you need to validate new service revisions before directing production traffic to them
|
|
10004
|
+
- Zero downtime: When your service requires zero-downtime deployments
|
|
10005
|
+
- Instant roll back: When you need the ability to quickly roll back if issues are detected
|
|
10006
|
+
- Load balancer requirement: When your service uses Application Load Balancer , Network Load Balancer , or Service Connect
|
|
10007
|
+
- External
|
|
10008
|
+
|
|
10009
|
+
Use a third-party deployment controller.
|
|
10010
|
+
|
|
10011
|
+
- Blue/green deployment (powered by CodeDeploy )
|
|
10012
|
+
|
|
10013
|
+
CodeDeploy installs an updated version of the application as a new replacement task set and reroutes production traffic from the original application task set to the replacement task set. The original task set is terminated after a successful deployment. Use this deployment controller to verify a new deployment of a service before sending production traffic to it.
|
|
10014
|
+
|
|
10015
|
+
When updating the deployment controller for a service, consider the following depending on the type of migration you're performing.
|
|
10016
|
+
|
|
10017
|
+
- If you have a template that contains the ``EXTERNAL`` deployment controller information as well as ``TaskSet`` and ``PrimaryTaskSet`` resources, and you remove the task set resources from the template when updating from ``EXTERNAL`` to ``ECS`` , the ``DescribeTaskSet`` and ``DeleteTaskSet`` API calls will return a 400 error after the deployment controller is updated to ``ECS`` . This results in a delete failure on the task set resources, even though the stack transitions to ``UPDATE_COMPLETE`` status. For more information, see `Resource removed from stack but not deleted <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-resource-removed-not-deleted>`_ in the AWS CloudFormation User Guide. To fix this issue, delete the task sets directly using the Amazon ECS ``DeleteTaskSet`` API. For more information about how to delete a task set, see `DeleteTaskSet <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html>`_ in the Amazon Elastic Container Service API Reference.
|
|
10018
|
+
- If you're migrating from ``CODE_DEPLOY`` to ``ECS`` with a new task definition and AWS CloudFormation performs a rollback operation, the Amazon ECS ``UpdateService`` request fails with the following error:
|
|
10019
|
+
|
|
10020
|
+
Resource handler returned message: "Invalid request provided: Unable to update task definition on services with a CODE_DEPLOY deployment controller.
|
|
10021
|
+
|
|
10022
|
+
- After a successful migration from ``ECS`` to ``EXTERNAL`` deployment controller, you need to manually remove the ``ACTIVE`` task set, because Amazon ECS no longer manages the deployment. For information about how to delete a task set, see `DeleteTaskSet <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DeleteTaskSet.html>`_ in the Amazon Elastic Container Service API Reference.
|
|
9962
10023
|
|
|
9963
10024
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentcontroller.html#cfn-ecs-service-deploymentcontroller-type
|
|
9964
10025
|
'''
|
|
@@ -9993,10 +10054,15 @@ class CfnService(
|
|
|
9993
10054
|
lifecycle_stages: typing.Sequence[builtins.str],
|
|
9994
10055
|
role_arn: builtins.str,
|
|
9995
10056
|
) -> None:
|
|
9996
|
-
'''
|
|
9997
|
-
|
|
9998
|
-
|
|
9999
|
-
|
|
10057
|
+
'''A deployment lifecycle hook runs custom logic at specific stages of the deployment process.
|
|
10058
|
+
|
|
10059
|
+
Currently, you can use Lambda functions as hook targets.
|
|
10060
|
+
|
|
10061
|
+
For more information, see `Lifecycle hooks for Amazon ECS service deployments <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-lifecycle-hooks.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
10062
|
+
|
|
10063
|
+
:param hook_target_arn: The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported. You must provide this parameter when configuring a deployment lifecycle hook.
|
|
10064
|
+
:param lifecycle_stages: The lifecycle stages at which to run the hook. Choose from these valid values:. - RECONCILE_SERVICE The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state. You can use a lifecycle hook for this stage. - PRE_SCALE_UP The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage. - POST_SCALE_UP The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic. You can use a lifecycle hook for this stage. - TEST_TRAFFIC_SHIFT The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic. You can use a lifecycle hook for this stage. - POST_TEST_TRAFFIC_SHIFT The test traffic shift is complete. The green service revision handles 100% of the test traffic. You can use a lifecycle hook for this stage. - PRODUCTION_TRAFFIC_SHIFT Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic. You can use a lifecycle hook for this stage. - POST_PRODUCTION_TRAFFIC_SHIFT The production traffic shift is complete. You can use a lifecycle hook for this stage. You must provide this parameter when configuring a deployment lifecycle hook.
|
|
10065
|
+
:param role_arn: The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf. For more information, see `Permissions required for Lambda functions in Amazon ECS blue/green deployments <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-permissions.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
10000
10066
|
|
|
10001
10067
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentlifecyclehook.html
|
|
10002
10068
|
:exampleMetadata: fixture=_generated
|
|
@@ -10026,7 +10092,10 @@ class CfnService(
|
|
|
10026
10092
|
|
|
10027
10093
|
@builtins.property
|
|
10028
10094
|
def hook_target_arn(self) -> builtins.str:
|
|
10029
|
-
'''
|
|
10095
|
+
'''The Amazon Resource Name (ARN) of the hook target. Currently, only Lambda function ARNs are supported.
|
|
10096
|
+
|
|
10097
|
+
You must provide this parameter when configuring a deployment lifecycle hook.
|
|
10098
|
+
|
|
10030
10099
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentlifecyclehook.html#cfn-ecs-service-deploymentlifecyclehook-hooktargetarn
|
|
10031
10100
|
'''
|
|
10032
10101
|
result = self._values.get("hook_target_arn")
|
|
@@ -10035,7 +10104,52 @@ class CfnService(
|
|
|
10035
10104
|
|
|
10036
10105
|
@builtins.property
|
|
10037
10106
|
def lifecycle_stages(self) -> typing.List[builtins.str]:
|
|
10038
|
-
'''
|
|
10107
|
+
'''The lifecycle stages at which to run the hook. Choose from these valid values:.
|
|
10108
|
+
|
|
10109
|
+
- RECONCILE_SERVICE
|
|
10110
|
+
|
|
10111
|
+
The reconciliation stage that only happens when you start a new service deployment with more than 1 service revision in an ACTIVE state.
|
|
10112
|
+
|
|
10113
|
+
You can use a lifecycle hook for this stage.
|
|
10114
|
+
|
|
10115
|
+
- PRE_SCALE_UP
|
|
10116
|
+
|
|
10117
|
+
The green service revision has not started. The blue service revision is handling 100% of the production traffic. There is no test traffic.
|
|
10118
|
+
|
|
10119
|
+
You can use a lifecycle hook for this stage.
|
|
10120
|
+
|
|
10121
|
+
- POST_SCALE_UP
|
|
10122
|
+
|
|
10123
|
+
The green service revision has started. The blue service revision is handling 100% of the production traffic. There is no test traffic.
|
|
10124
|
+
|
|
10125
|
+
You can use a lifecycle hook for this stage.
|
|
10126
|
+
|
|
10127
|
+
- TEST_TRAFFIC_SHIFT
|
|
10128
|
+
|
|
10129
|
+
The blue and green service revisions are running. The blue service revision handles 100% of the production traffic. The green service revision is migrating from 0% to 100% of test traffic.
|
|
10130
|
+
|
|
10131
|
+
You can use a lifecycle hook for this stage.
|
|
10132
|
+
|
|
10133
|
+
- POST_TEST_TRAFFIC_SHIFT
|
|
10134
|
+
|
|
10135
|
+
The test traffic shift is complete. The green service revision handles 100% of the test traffic.
|
|
10136
|
+
|
|
10137
|
+
You can use a lifecycle hook for this stage.
|
|
10138
|
+
|
|
10139
|
+
- PRODUCTION_TRAFFIC_SHIFT
|
|
10140
|
+
|
|
10141
|
+
Production traffic is shifting to the green service revision. The green service revision is migrating from 0% to 100% of production traffic.
|
|
10142
|
+
|
|
10143
|
+
You can use a lifecycle hook for this stage.
|
|
10144
|
+
|
|
10145
|
+
- POST_PRODUCTION_TRAFFIC_SHIFT
|
|
10146
|
+
|
|
10147
|
+
The production traffic shift is complete.
|
|
10148
|
+
|
|
10149
|
+
You can use a lifecycle hook for this stage.
|
|
10150
|
+
|
|
10151
|
+
You must provide this parameter when configuring a deployment lifecycle hook.
|
|
10152
|
+
|
|
10039
10153
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentlifecyclehook.html#cfn-ecs-service-deploymentlifecyclehook-lifecyclestages
|
|
10040
10154
|
'''
|
|
10041
10155
|
result = self._values.get("lifecycle_stages")
|
|
@@ -10044,7 +10158,10 @@ class CfnService(
|
|
|
10044
10158
|
|
|
10045
10159
|
@builtins.property
|
|
10046
10160
|
def role_arn(self) -> builtins.str:
|
|
10047
|
-
'''
|
|
10161
|
+
'''The Amazon Resource Name (ARN) of the IAM role that grants Amazon ECS permission to call Lambda functions on your behalf.
|
|
10162
|
+
|
|
10163
|
+
For more information, see `Permissions required for Lambda functions in Amazon ECS blue/green deployments <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/blue-green-permissions.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
10164
|
+
|
|
10048
10165
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentlifecyclehook.html#cfn-ecs-service-deploymentlifecyclehook-rolearn
|
|
10049
10166
|
'''
|
|
10050
10167
|
result = self._values.get("role_arn")
|
|
@@ -10188,7 +10305,7 @@ class CfnService(
|
|
|
10188
10305
|
|
|
10189
10306
|
Services with tasks that use the ``awsvpc`` network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers are not supported. Also, when you create any target groups for these services, you must choose ``ip`` as the target type, not ``instance`` . Tasks that use the ``awsvpc`` network mode are associated with an elastic network interface, not an Amazon EC2 instance.
|
|
10190
10307
|
|
|
10191
|
-
:param advanced_configuration:
|
|
10308
|
+
:param advanced_configuration: The advanced settings for the load balancer used in blue/green deployments. Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
|
|
10192
10309
|
:param container_name: The name of the container (as it appears in a container definition) to associate with the load balancer. You need to specify the container name when configuring the target group for an Amazon ECS load balancer.
|
|
10193
10310
|
:param container_port: The port on the container to associate with the load balancer. This port must correspond to a ``containerPort`` in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they're launched on must allow ingress traffic on the ``hostPort`` of the port mapping.
|
|
10194
10311
|
:param load_balancer_name: The name of the load balancer to associate with the Amazon ECS service or task set. If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be omitted.
|
|
@@ -10241,7 +10358,10 @@ class CfnService(
|
|
|
10241
10358
|
def advanced_configuration(
|
|
10242
10359
|
self,
|
|
10243
10360
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnService.AdvancedConfigurationProperty"]]:
|
|
10244
|
-
'''
|
|
10361
|
+
'''The advanced settings for the load balancer used in blue/green deployments.
|
|
10362
|
+
|
|
10363
|
+
Specify the alternate target group, listener rules, and IAM role required for traffic shifting during blue/green deployments.
|
|
10364
|
+
|
|
10245
10365
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-loadbalancer.html#cfn-ecs-service-loadbalancer-advancedconfiguration
|
|
10246
10366
|
'''
|
|
10247
10367
|
result = self._values.get("advanced_configuration")
|
|
@@ -10860,7 +10980,7 @@ class CfnService(
|
|
|
10860
10980
|
|
|
10861
10981
|
:param port: The listening port number for the Service Connect proxy. This port is available inside of all of the tasks within the same namespace. To avoid changing your applications in client Amazon ECS services, set this to the same port that the client application uses by default. For more information, see `Service Connect <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
10862
10982
|
:param dns_name: The ``dnsName`` is the name that you use in the applications of client tasks to connect to this service. The name must be a valid DNS name but doesn't need to be fully-qualified. The name can include up to 127 characters. The name can include lowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name can't start with a hyphen. If this parameter isn't specified, the default value of ``discoveryName.namespace`` is used. If the ``discoveryName`` isn't specified, the port mapping name from the task definition is used in ``portName.namespace`` . To avoid changing your applications in client Amazon ECS services, set this to the same name that the client application uses by default. For example, a few common names are ``database`` , ``db`` , or the lowercase name of a database, such as ``mysql`` or ``redis`` . For more information, see `Service Connect <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
10863
|
-
:param test_traffic_rules:
|
|
10983
|
+
:param test_traffic_rules: The configuration for test traffic routing rules used during blue/green deployments with Amazon ECS Service Connect. This allows you to route a portion of traffic to the new service revision of your service for testing before shifting all production traffic.
|
|
10864
10984
|
|
|
10865
10985
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectclientalias.html
|
|
10866
10986
|
:exampleMetadata: fixture=_generated
|
|
@@ -10934,7 +11054,10 @@ class CfnService(
|
|
|
10934
11054
|
def test_traffic_rules(
|
|
10935
11055
|
self,
|
|
10936
11056
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnService.ServiceConnectTestTrafficRulesProperty"]]:
|
|
10937
|
-
'''
|
|
11057
|
+
'''The configuration for test traffic routing rules used during blue/green deployments with Amazon ECS Service Connect.
|
|
11058
|
+
|
|
11059
|
+
This allows you to route a portion of traffic to the new service revision of your service for testing before shifting all production traffic.
|
|
11060
|
+
|
|
10938
11061
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectclientalias.html#cfn-ecs-service-serviceconnectclientalias-testtrafficrules
|
|
10939
11062
|
'''
|
|
10940
11063
|
result = self._values.get("test_traffic_rules")
|
|
@@ -11460,8 +11583,13 @@ class CfnService(
|
|
|
11460
11583
|
*,
|
|
11461
11584
|
header: typing.Union[_IResolvable_da3f097b, typing.Union["CfnService.ServiceConnectTestTrafficRulesHeaderProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
11462
11585
|
) -> None:
|
|
11463
|
-
'''
|
|
11464
|
-
|
|
11586
|
+
'''The test traffic routing configuration for Amazon ECS blue/green deployments.
|
|
11587
|
+
|
|
11588
|
+
This configuration allows you to define rules for routing specific traffic to the new service revision during the deployment process, allowing for safe testing before full production traffic shift.
|
|
11589
|
+
|
|
11590
|
+
For more information, see `Service Connect for Amazon ECS blue/green deployments <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect-blue-green.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
11591
|
+
|
|
11592
|
+
:param header: The HTTP header-based routing rules that determine which requests should be routed to the new service version during blue/green deployment testing. These rules provide fine-grained control over test traffic routing based on request headers.
|
|
11465
11593
|
|
|
11466
11594
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttesttrafficrules.html
|
|
11467
11595
|
:exampleMetadata: fixture=_generated
|
|
@@ -11494,7 +11622,10 @@ class CfnService(
|
|
|
11494
11622
|
def header(
|
|
11495
11623
|
self,
|
|
11496
11624
|
) -> typing.Union[_IResolvable_da3f097b, "CfnService.ServiceConnectTestTrafficRulesHeaderProperty"]:
|
|
11497
|
-
'''
|
|
11625
|
+
'''The HTTP header-based routing rules that determine which requests should be routed to the new service version during blue/green deployment testing.
|
|
11626
|
+
|
|
11627
|
+
These rules provide fine-grained control over test traffic routing based on request headers.
|
|
11628
|
+
|
|
11498
11629
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnecttesttrafficrules.html#cfn-ecs-service-serviceconnecttesttrafficrules-header
|
|
11499
11630
|
'''
|
|
11500
11631
|
result = self._values.get("header")
|
|
@@ -12429,9 +12560,9 @@ class CfnServiceProps:
|
|
|
12429
12560
|
:param capacity_provider_strategy: The capacity provider strategy to use for the service. If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. .. epigraph:: To remove this property from your service resource, specify an empty ``CapacityProviderStrategyItem`` array.
|
|
12430
12561
|
:param cluster: The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
|
|
12431
12562
|
:param deployment_configuration: Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
|
|
12432
|
-
:param deployment_controller: The deployment controller to use for the service.
|
|
12563
|
+
:param deployment_controller: The deployment controller to use for the service.
|
|
12433
12564
|
:param desired_count: The number of instantiations of the specified task definition to place and keep running in your service. For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
|
|
12434
|
-
:param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* . When you use Amazon ECS managed tags, you
|
|
12565
|
+
:param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* . When you use Amazon ECS managed tags, you must set the ``propagateTags`` request parameter.
|
|
12435
12566
|
:param enable_execute_command: Determines whether the execute command functionality is turned on for the service. If ``true`` , the execute command functionality is turned on for all containers in tasks as part of the service.
|
|
12436
12567
|
:param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you don't specify a health check grace period value, the default value of ``0`` is used. If you don't use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service's tasks take a while to start and respond to health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
|
|
12437
12568
|
:param launch_type: The launch type on which to run your service. For more information, see `Amazon ECS Launch Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
@@ -12771,8 +12902,6 @@ class CfnServiceProps:
|
|
|
12771
12902
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnService.DeploymentControllerProperty]]:
|
|
12772
12903
|
'''The deployment controller to use for the service.
|
|
12773
12904
|
|
|
12774
|
-
If no deployment controller is specified, the default value of ``ECS`` is used.
|
|
12775
|
-
|
|
12776
12905
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-deploymentcontroller
|
|
12777
12906
|
'''
|
|
12778
12907
|
result = self._values.get("deployment_controller")
|
|
@@ -12799,7 +12928,7 @@ class CfnServiceProps:
|
|
|
12799
12928
|
|
|
12800
12929
|
For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
12801
12930
|
|
|
12802
|
-
When you use Amazon ECS managed tags, you
|
|
12931
|
+
When you use Amazon ECS managed tags, you must set the ``propagateTags`` request parameter.
|
|
12803
12932
|
|
|
12804
12933
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-enableecsmanagedtags
|
|
12805
12934
|
'''
|
|
@@ -33949,11 +34078,7 @@ class NetworkMode(enum.Enum):
|
|
|
33949
34078
|
single container instance when port mappings are used.
|
|
33950
34079
|
'''
|
|
33951
34080
|
NAT = "NAT"
|
|
33952
|
-
'''The task utilizes
|
|
33953
|
-
|
|
33954
|
-
This is the only supported network mode for Windows containers. For more information, see
|
|
33955
|
-
`Task Definition Parameters <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#network_mode>`_.
|
|
33956
|
-
'''
|
|
34081
|
+
'''The task utilizes Docker's built-in virtual network which runs inside each Windows container instance.'''
|
|
33957
34082
|
|
|
33958
34083
|
|
|
33959
34084
|
class OperatingSystemFamily(
|
|
@@ -34049,6 +34174,18 @@ class OperatingSystemFamily(
|
|
|
34049
34174
|
'''WINDOWS_SERVER_2022_FULL.'''
|
|
34050
34175
|
return typing.cast("OperatingSystemFamily", jsii.sget(cls, "WINDOWS_SERVER_2022_FULL"))
|
|
34051
34176
|
|
|
34177
|
+
@jsii.python.classproperty
|
|
34178
|
+
@jsii.member(jsii_name="WINDOWS_SERVER_2025_CORE")
|
|
34179
|
+
def WINDOWS_SERVER_2025_CORE(cls) -> "OperatingSystemFamily":
|
|
34180
|
+
'''WINDOWS_SERVER_2025_CORE.'''
|
|
34181
|
+
return typing.cast("OperatingSystemFamily", jsii.sget(cls, "WINDOWS_SERVER_2025_CORE"))
|
|
34182
|
+
|
|
34183
|
+
@jsii.python.classproperty
|
|
34184
|
+
@jsii.member(jsii_name="WINDOWS_SERVER_2025_FULL")
|
|
34185
|
+
def WINDOWS_SERVER_2025_FULL(cls) -> "OperatingSystemFamily":
|
|
34186
|
+
'''WINDOWS_SERVER_2025_FULL.'''
|
|
34187
|
+
return typing.cast("OperatingSystemFamily", jsii.sget(cls, "WINDOWS_SERVER_2025_FULL"))
|
|
34188
|
+
|
|
34052
34189
|
@jsii.python.classproperty
|
|
34053
34190
|
@jsii.member(jsii_name="WINDOWS_SERVER_20H2_CORE")
|
|
34054
34191
|
def WINDOWS_SERVER_20_H2_CORE(cls) -> "OperatingSystemFamily":
|
|
@@ -39861,6 +39998,7 @@ class VolumeFrom:
|
|
|
39861
39998
|
class WindowsOptimizedVersion(enum.Enum):
|
|
39862
39999
|
'''ECS-optimized Windows version list.'''
|
|
39863
40000
|
|
|
40001
|
+
SERVER_2025 = "SERVER_2025"
|
|
39864
40002
|
SERVER_2022 = "SERVER_2022"
|
|
39865
40003
|
SERVER_2019 = "SERVER_2019"
|
|
39866
40004
|
SERVER_2016 = "SERVER_2016"
|