aws-cdk-lib 2.209.1__py3-none-any.whl → 2.210.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.

@@ -2118,41 +2118,6 @@ Amazon ECS supports native blue/green deployments that allow you to deploy new v
2118
2118
 
2119
2119
  [Amazon ECS blue/green deployments](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-blue-green.html)
2120
2120
 
2121
- ### Using Fargate L2 constructs for Blue/Green Feature
2122
-
2123
- ```python
2124
- import aws_cdk.aws_lambda as lambda_
2125
-
2126
- # cluster: ecs.Cluster
2127
- # task_definition: ecs.TaskDefinition
2128
- # lambda_hook: lambda.Function
2129
- # blue_target_group: elbv2.ApplicationTargetGroup
2130
- # green_target_group: elbv2.ApplicationTargetGroup
2131
- # prod_listener_rule: elbv2.ApplicationListenerRule
2132
-
2133
-
2134
- service = ecs.FargateService(self, "Service",
2135
- cluster=cluster,
2136
- task_definition=task_definition,
2137
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
2138
- )
2139
-
2140
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
2141
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
2142
- ))
2143
-
2144
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
2145
- container_name="nginx",
2146
- container_port=80,
2147
- protocol=ecs.Protocol.TCP
2148
- ), ecs.AlternateTarget("AlternateTarget",
2149
- alternate_target_group=green_target_group,
2150
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
2151
- ))
2152
-
2153
- target.attach_to_application_target_group(blue_target_group)
2154
- ```
2155
-
2156
2121
  ### Using Escape Hatches for Blue/Green Features
2157
2122
 
2158
2123
  The new blue/green deployment features are added to CloudFormation but not yet available in the CDK L2 constructs, you can use escape hatches to access them through the L1 (CfnService) construct.
@@ -2373,7 +2338,6 @@ from ..aws_elasticloadbalancingv2 import (
2373
2338
  AddApplicationTargetsProps as _AddApplicationTargetsProps_76c7d190,
2374
2339
  AddNetworkTargetsProps as _AddNetworkTargetsProps_ce6bdf17,
2375
2340
  ApplicationListener as _ApplicationListener_e0620bf5,
2376
- ApplicationListenerRule as _ApplicationListenerRule_f93ff606,
2377
2341
  ApplicationProtocol as _ApplicationProtocol_aa5e9f29,
2378
2342
  ApplicationProtocolVersion as _ApplicationProtocolVersion_dddfe47b,
2379
2343
  ApplicationTargetGroup as _ApplicationTargetGroup_906fe365,
@@ -2382,7 +2346,6 @@ from ..aws_elasticloadbalancingv2 import (
2382
2346
  IApplicationTargetGroup as _IApplicationTargetGroup_57799827,
2383
2347
  INetworkLoadBalancerTarget as _INetworkLoadBalancerTarget_688b169f,
2384
2348
  INetworkTargetGroup as _INetworkTargetGroup_abca2df7,
2385
- ITargetGroup as _ITargetGroup_83c6f8c4,
2386
2349
  ListenerCondition as _ListenerCondition_e8416430,
2387
2350
  LoadBalancerTargetProps as _LoadBalancerTargetProps_4c30a73c,
2388
2351
  NetworkListener as _NetworkListener_539c17bf,
@@ -2396,7 +2359,6 @@ from ..aws_iam import (
2396
2359
  PolicyStatement as _PolicyStatement_0fe33853,
2397
2360
  )
2398
2361
  from ..aws_kms import IKey as _IKey_5f11635f
2399
- from ..aws_lambda import IFunction as _IFunction_6adb0ab8
2400
2362
  from ..aws_logs import (
2401
2363
  ILogGroup as _ILogGroup_3c4fa718, RetentionDays as _RetentionDays_070f99f0
2402
2364
  )
@@ -3324,305 +3286,6 @@ class AlarmBehavior(enum.Enum):
3324
3286
  '''
3325
3287
 
3326
3288
 
3327
- @jsii.data_type(
3328
- jsii_type="aws-cdk-lib.aws_ecs.AlternateTargetConfig",
3329
- jsii_struct_bases=[],
3330
- name_mapping={
3331
- "alternate_target_group_arn": "alternateTargetGroupArn",
3332
- "role_arn": "roleArn",
3333
- "production_listener_rule": "productionListenerRule",
3334
- "test_listener_rule": "testListenerRule",
3335
- },
3336
- )
3337
- class AlternateTargetConfig:
3338
- def __init__(
3339
- self,
3340
- *,
3341
- alternate_target_group_arn: builtins.str,
3342
- role_arn: builtins.str,
3343
- production_listener_rule: typing.Optional[builtins.str] = None,
3344
- test_listener_rule: typing.Optional[builtins.str] = None,
3345
- ) -> None:
3346
- '''Configuration returned by AlternateTargetConfiguration.bind().
3347
-
3348
- :param alternate_target_group_arn: The ARN of the alternate target group.
3349
- :param role_arn: The IAM role ARN for the configuration. Default: - a new role will be created
3350
- :param production_listener_rule: The production listener rule ARN (ALB) or listener ARN (NLB). Default: - none
3351
- :param test_listener_rule: The test listener rule ARN (ALB) or listener ARN (NLB). Default: - none
3352
-
3353
- :exampleMetadata: fixture=_generated
3354
-
3355
- Example::
3356
-
3357
- # The code below shows an example of how to instantiate this type.
3358
- # The values are placeholders you should change.
3359
- from aws_cdk import aws_ecs as ecs
3360
-
3361
- alternate_target_config = ecs.AlternateTargetConfig(
3362
- alternate_target_group_arn="alternateTargetGroupArn",
3363
- role_arn="roleArn",
3364
-
3365
- # the properties below are optional
3366
- production_listener_rule="productionListenerRule",
3367
- test_listener_rule="testListenerRule"
3368
- )
3369
- '''
3370
- if __debug__:
3371
- type_hints = typing.get_type_hints(_typecheckingstub__792a358f64361d957b07e1ed7f1116dd993837c77bffc674ebb1385615159cd7)
3372
- check_type(argname="argument alternate_target_group_arn", value=alternate_target_group_arn, expected_type=type_hints["alternate_target_group_arn"])
3373
- check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
3374
- check_type(argname="argument production_listener_rule", value=production_listener_rule, expected_type=type_hints["production_listener_rule"])
3375
- check_type(argname="argument test_listener_rule", value=test_listener_rule, expected_type=type_hints["test_listener_rule"])
3376
- self._values: typing.Dict[builtins.str, typing.Any] = {
3377
- "alternate_target_group_arn": alternate_target_group_arn,
3378
- "role_arn": role_arn,
3379
- }
3380
- if production_listener_rule is not None:
3381
- self._values["production_listener_rule"] = production_listener_rule
3382
- if test_listener_rule is not None:
3383
- self._values["test_listener_rule"] = test_listener_rule
3384
-
3385
- @builtins.property
3386
- def alternate_target_group_arn(self) -> builtins.str:
3387
- '''The ARN of the alternate target group.'''
3388
- result = self._values.get("alternate_target_group_arn")
3389
- assert result is not None, "Required property 'alternate_target_group_arn' is missing"
3390
- return typing.cast(builtins.str, result)
3391
-
3392
- @builtins.property
3393
- def role_arn(self) -> builtins.str:
3394
- '''The IAM role ARN for the configuration.
3395
-
3396
- :default: - a new role will be created
3397
- '''
3398
- result = self._values.get("role_arn")
3399
- assert result is not None, "Required property 'role_arn' is missing"
3400
- return typing.cast(builtins.str, result)
3401
-
3402
- @builtins.property
3403
- def production_listener_rule(self) -> typing.Optional[builtins.str]:
3404
- '''The production listener rule ARN (ALB) or listener ARN (NLB).
3405
-
3406
- :default: - none
3407
- '''
3408
- result = self._values.get("production_listener_rule")
3409
- return typing.cast(typing.Optional[builtins.str], result)
3410
-
3411
- @builtins.property
3412
- def test_listener_rule(self) -> typing.Optional[builtins.str]:
3413
- '''The test listener rule ARN (ALB) or listener ARN (NLB).
3414
-
3415
- :default: - none
3416
- '''
3417
- result = self._values.get("test_listener_rule")
3418
- return typing.cast(typing.Optional[builtins.str], result)
3419
-
3420
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
3421
- return isinstance(rhs, self.__class__) and rhs._values == self._values
3422
-
3423
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
3424
- return not (rhs == self)
3425
-
3426
- def __repr__(self) -> str:
3427
- return "AlternateTargetConfig(%s)" % ", ".join(
3428
- k + "=" + repr(v) for k, v in self._values.items()
3429
- )
3430
-
3431
-
3432
- @jsii.data_type(
3433
- jsii_type="aws-cdk-lib.aws_ecs.AlternateTargetOptions",
3434
- jsii_struct_bases=[],
3435
- name_mapping={"role": "role", "test_listener": "testListener"},
3436
- )
3437
- class AlternateTargetOptions:
3438
- def __init__(
3439
- self,
3440
- *,
3441
- role: typing.Optional[_IRole_235f5d8e] = None,
3442
- test_listener: typing.Optional["ListenerRuleConfiguration"] = None,
3443
- ) -> None:
3444
- '''Options for AlternateTarget configuration.
3445
-
3446
- :param role: The IAM role for the configuration. Default: - a new role will be created
3447
- :param test_listener: The test listener configuration. Default: - none
3448
-
3449
- :exampleMetadata: fixture=_generated
3450
-
3451
- Example::
3452
-
3453
- # The code below shows an example of how to instantiate this type.
3454
- # The values are placeholders you should change.
3455
- from aws_cdk import aws_ecs as ecs
3456
- from aws_cdk import aws_iam as iam
3457
-
3458
- # listener_rule_configuration: ecs.ListenerRuleConfiguration
3459
- # role: iam.Role
3460
-
3461
- alternate_target_options = ecs.AlternateTargetOptions(
3462
- role=role,
3463
- test_listener=listener_rule_configuration
3464
- )
3465
- '''
3466
- if __debug__:
3467
- type_hints = typing.get_type_hints(_typecheckingstub__419cc917bedbbd0a41ca044bcc54720f5a35bdc4f2dca6e11ae40da3ed05758d)
3468
- check_type(argname="argument role", value=role, expected_type=type_hints["role"])
3469
- check_type(argname="argument test_listener", value=test_listener, expected_type=type_hints["test_listener"])
3470
- self._values: typing.Dict[builtins.str, typing.Any] = {}
3471
- if role is not None:
3472
- self._values["role"] = role
3473
- if test_listener is not None:
3474
- self._values["test_listener"] = test_listener
3475
-
3476
- @builtins.property
3477
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
3478
- '''The IAM role for the configuration.
3479
-
3480
- :default: - a new role will be created
3481
- '''
3482
- result = self._values.get("role")
3483
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
3484
-
3485
- @builtins.property
3486
- def test_listener(self) -> typing.Optional["ListenerRuleConfiguration"]:
3487
- '''The test listener configuration.
3488
-
3489
- :default: - none
3490
- '''
3491
- result = self._values.get("test_listener")
3492
- return typing.cast(typing.Optional["ListenerRuleConfiguration"], result)
3493
-
3494
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
3495
- return isinstance(rhs, self.__class__) and rhs._values == self._values
3496
-
3497
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
3498
- return not (rhs == self)
3499
-
3500
- def __repr__(self) -> str:
3501
- return "AlternateTargetOptions(%s)" % ", ".join(
3502
- k + "=" + repr(v) for k, v in self._values.items()
3503
- )
3504
-
3505
-
3506
- @jsii.data_type(
3507
- jsii_type="aws-cdk-lib.aws_ecs.AlternateTargetProps",
3508
- jsii_struct_bases=[AlternateTargetOptions],
3509
- name_mapping={
3510
- "role": "role",
3511
- "test_listener": "testListener",
3512
- "alternate_target_group": "alternateTargetGroup",
3513
- "production_listener": "productionListener",
3514
- },
3515
- )
3516
- class AlternateTargetProps(AlternateTargetOptions):
3517
- def __init__(
3518
- self,
3519
- *,
3520
- role: typing.Optional[_IRole_235f5d8e] = None,
3521
- test_listener: typing.Optional["ListenerRuleConfiguration"] = None,
3522
- alternate_target_group: _ITargetGroup_83c6f8c4,
3523
- production_listener: "ListenerRuleConfiguration",
3524
- ) -> None:
3525
- '''Properties for AlternateTarget configuration.
3526
-
3527
- :param role: The IAM role for the configuration. Default: - a new role will be created
3528
- :param test_listener: The test listener configuration. Default: - none
3529
- :param alternate_target_group: The alternate target group.
3530
- :param production_listener: The production listener rule ARN (ALB) or listener ARN (NLB).
3531
-
3532
- :exampleMetadata: infused
3533
-
3534
- Example::
3535
-
3536
- import aws_cdk.aws_lambda as lambda_
3537
-
3538
- # cluster: ecs.Cluster
3539
- # task_definition: ecs.TaskDefinition
3540
- # lambda_hook: lambda.Function
3541
- # blue_target_group: elbv2.ApplicationTargetGroup
3542
- # green_target_group: elbv2.ApplicationTargetGroup
3543
- # prod_listener_rule: elbv2.ApplicationListenerRule
3544
-
3545
-
3546
- service = ecs.FargateService(self, "Service",
3547
- cluster=cluster,
3548
- task_definition=task_definition,
3549
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
3550
- )
3551
-
3552
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
3553
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
3554
- ))
3555
-
3556
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
3557
- container_name="nginx",
3558
- container_port=80,
3559
- protocol=ecs.Protocol.TCP
3560
- ), ecs.AlternateTarget("AlternateTarget",
3561
- alternate_target_group=green_target_group,
3562
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
3563
- ))
3564
-
3565
- target.attach_to_application_target_group(blue_target_group)
3566
- '''
3567
- if __debug__:
3568
- type_hints = typing.get_type_hints(_typecheckingstub__308a285b9e7be7ba49d4d78caf88537a973f5504d7b7519fb1fe4ab1c987b690)
3569
- check_type(argname="argument role", value=role, expected_type=type_hints["role"])
3570
- check_type(argname="argument test_listener", value=test_listener, expected_type=type_hints["test_listener"])
3571
- check_type(argname="argument alternate_target_group", value=alternate_target_group, expected_type=type_hints["alternate_target_group"])
3572
- check_type(argname="argument production_listener", value=production_listener, expected_type=type_hints["production_listener"])
3573
- self._values: typing.Dict[builtins.str, typing.Any] = {
3574
- "alternate_target_group": alternate_target_group,
3575
- "production_listener": production_listener,
3576
- }
3577
- if role is not None:
3578
- self._values["role"] = role
3579
- if test_listener is not None:
3580
- self._values["test_listener"] = test_listener
3581
-
3582
- @builtins.property
3583
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
3584
- '''The IAM role for the configuration.
3585
-
3586
- :default: - a new role will be created
3587
- '''
3588
- result = self._values.get("role")
3589
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
3590
-
3591
- @builtins.property
3592
- def test_listener(self) -> typing.Optional["ListenerRuleConfiguration"]:
3593
- '''The test listener configuration.
3594
-
3595
- :default: - none
3596
- '''
3597
- result = self._values.get("test_listener")
3598
- return typing.cast(typing.Optional["ListenerRuleConfiguration"], result)
3599
-
3600
- @builtins.property
3601
- def alternate_target_group(self) -> _ITargetGroup_83c6f8c4:
3602
- '''The alternate target group.'''
3603
- result = self._values.get("alternate_target_group")
3604
- assert result is not None, "Required property 'alternate_target_group' is missing"
3605
- return typing.cast(_ITargetGroup_83c6f8c4, result)
3606
-
3607
- @builtins.property
3608
- def production_listener(self) -> "ListenerRuleConfiguration":
3609
- '''The production listener rule ARN (ALB) or listener ARN (NLB).'''
3610
- result = self._values.get("production_listener")
3611
- assert result is not None, "Required property 'production_listener' is missing"
3612
- return typing.cast("ListenerRuleConfiguration", result)
3613
-
3614
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
3615
- return isinstance(rhs, self.__class__) and rhs._values == self._values
3616
-
3617
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
3618
- return not (rhs == self)
3619
-
3620
- def __repr__(self) -> str:
3621
- return "AlternateTargetProps(%s)" % ", ".join(
3622
- k + "=" + repr(v) for k, v in self._values.items()
3623
- )
3624
-
3625
-
3626
3289
  @jsii.enum(jsii_type="aws-cdk-lib.aws_ecs.AmiHardwareType")
3627
3290
  class AmiHardwareType(enum.Enum):
3628
3291
  '''The ECS-optimized AMI variant to use.
@@ -5434,18 +5097,15 @@ class BaseMountPoint:
5434
5097
  jsii_struct_bases=[],
5435
5098
  name_mapping={
5436
5099
  "cluster": "cluster",
5437
- "bake_time": "bakeTime",
5438
5100
  "capacity_provider_strategies": "capacityProviderStrategies",
5439
5101
  "circuit_breaker": "circuitBreaker",
5440
5102
  "cloud_map_options": "cloudMapOptions",
5441
5103
  "deployment_alarms": "deploymentAlarms",
5442
5104
  "deployment_controller": "deploymentController",
5443
- "deployment_strategy": "deploymentStrategy",
5444
5105
  "desired_count": "desiredCount",
5445
5106
  "enable_ecs_managed_tags": "enableECSManagedTags",
5446
5107
  "enable_execute_command": "enableExecuteCommand",
5447
5108
  "health_check_grace_period": "healthCheckGracePeriod",
5448
- "lifecycle_hooks": "lifecycleHooks",
5449
5109
  "max_healthy_percent": "maxHealthyPercent",
5450
5110
  "min_healthy_percent": "minHealthyPercent",
5451
5111
  "propagate_tags": "propagateTags",
@@ -5460,18 +5120,15 @@ class BaseServiceOptions:
5460
5120
  self,
5461
5121
  *,
5462
5122
  cluster: "ICluster",
5463
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
5464
5123
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union["CapacityProviderStrategy", typing.Dict[builtins.str, typing.Any]]]] = None,
5465
5124
  circuit_breaker: typing.Optional[typing.Union["DeploymentCircuitBreaker", typing.Dict[builtins.str, typing.Any]]] = None,
5466
5125
  cloud_map_options: typing.Optional[typing.Union["CloudMapOptions", typing.Dict[builtins.str, typing.Any]]] = None,
5467
5126
  deployment_alarms: typing.Optional[typing.Union["DeploymentAlarmConfig", typing.Dict[builtins.str, typing.Any]]] = None,
5468
5127
  deployment_controller: typing.Optional[typing.Union["DeploymentController", typing.Dict[builtins.str, typing.Any]]] = None,
5469
- deployment_strategy: typing.Optional["DeploymentStrategy"] = None,
5470
5128
  desired_count: typing.Optional[jsii.Number] = None,
5471
5129
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
5472
5130
  enable_execute_command: typing.Optional[builtins.bool] = None,
5473
5131
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
5474
- lifecycle_hooks: typing.Optional[typing.Sequence["IDeploymentLifecycleHookTarget"]] = None,
5475
5132
  max_healthy_percent: typing.Optional[jsii.Number] = None,
5476
5133
  min_healthy_percent: typing.Optional[jsii.Number] = None,
5477
5134
  propagate_tags: typing.Optional["PropagatedTagSource"] = None,
@@ -5483,18 +5140,15 @@ class BaseServiceOptions:
5483
5140
  '''The properties for the base Ec2Service or FargateService service.
5484
5141
 
5485
5142
  :param cluster: The name of the cluster that hosts the service.
5486
- :param bake_time: bake time minutes for service. Default: - none
5487
5143
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
5488
5144
  :param circuit_breaker: Whether to enable the deployment circuit breaker. If this property is defined, circuit breaker will be implicitly enabled. Default: - disabled
5489
5145
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
5490
5146
  :param deployment_alarms: The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. Default: - No alarms will be monitored during deployment.
5491
5147
  :param deployment_controller: Specifies which deployment controller to use for the service. For more information, see `Amazon ECS Deployment Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ Default: - Rolling update (ECS)
5492
- :param deployment_strategy: The deployment strategy to use for the service. Default: ROLLING
5493
5148
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
5494
5149
  :param enable_ecs_managed_tags: Specifies whether to enable 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>`_ Default: false
5495
5150
  :param enable_execute_command: Whether to enable the ability to execute into a container. Default: - undefined
5496
5151
  :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
5497
- :param lifecycle_hooks: The lifecycle hooks to execute during deployment stages. Default: - none;
5498
5152
  :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 100 if daemon, otherwise 200
5499
5153
  :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 0 if daemon, otherwise 50
5500
5154
  :param propagate_tags: Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE Default: PropagatedTagSource.NONE
@@ -5517,7 +5171,6 @@ class BaseServiceOptions:
5517
5171
 
5518
5172
  # cluster: ecs.Cluster
5519
5173
  # container_definition: ecs.ContainerDefinition
5520
- # deployment_lifecycle_hook_target: ecs.IDeploymentLifecycleHookTarget
5521
5174
  # key: kms.Key
5522
5175
  # log_driver: ecs.LogDriver
5523
5176
  # namespace: servicediscovery.INamespace
@@ -5529,7 +5182,6 @@ class BaseServiceOptions:
5529
5182
  cluster=cluster,
5530
5183
 
5531
5184
  # the properties below are optional
5532
- bake_time=cdk.Duration.minutes(30),
5533
5185
  capacity_provider_strategies=[ecs.CapacityProviderStrategy(
5534
5186
  capacity_provider="capacityProvider",
5535
5187
 
@@ -5559,12 +5211,10 @@ class BaseServiceOptions:
5559
5211
  deployment_controller=ecs.DeploymentController(
5560
5212
  type=ecs.DeploymentControllerType.ECS
5561
5213
  ),
5562
- deployment_strategy=ecs.DeploymentStrategy.ROLLING,
5563
5214
  desired_count=123,
5564
5215
  enable_eCSManaged_tags=False,
5565
5216
  enable_execute_command=False,
5566
5217
  health_check_grace_period=cdk.Duration.minutes(30),
5567
- lifecycle_hooks=[deployment_lifecycle_hook_target],
5568
5218
  max_healthy_percent=123,
5569
5219
  min_healthy_percent=123,
5570
5220
  propagate_tags=ecs.PropagatedTagSource.SERVICE,
@@ -5606,18 +5256,15 @@ class BaseServiceOptions:
5606
5256
  if __debug__:
5607
5257
  type_hints = typing.get_type_hints(_typecheckingstub__c2e0ba28c74987301a54b0d197b791a6a94084b5f40d15304ffabf113b3f7daa)
5608
5258
  check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
5609
- check_type(argname="argument bake_time", value=bake_time, expected_type=type_hints["bake_time"])
5610
5259
  check_type(argname="argument capacity_provider_strategies", value=capacity_provider_strategies, expected_type=type_hints["capacity_provider_strategies"])
5611
5260
  check_type(argname="argument circuit_breaker", value=circuit_breaker, expected_type=type_hints["circuit_breaker"])
5612
5261
  check_type(argname="argument cloud_map_options", value=cloud_map_options, expected_type=type_hints["cloud_map_options"])
5613
5262
  check_type(argname="argument deployment_alarms", value=deployment_alarms, expected_type=type_hints["deployment_alarms"])
5614
5263
  check_type(argname="argument deployment_controller", value=deployment_controller, expected_type=type_hints["deployment_controller"])
5615
- check_type(argname="argument deployment_strategy", value=deployment_strategy, expected_type=type_hints["deployment_strategy"])
5616
5264
  check_type(argname="argument desired_count", value=desired_count, expected_type=type_hints["desired_count"])
5617
5265
  check_type(argname="argument enable_ecs_managed_tags", value=enable_ecs_managed_tags, expected_type=type_hints["enable_ecs_managed_tags"])
5618
5266
  check_type(argname="argument enable_execute_command", value=enable_execute_command, expected_type=type_hints["enable_execute_command"])
5619
5267
  check_type(argname="argument health_check_grace_period", value=health_check_grace_period, expected_type=type_hints["health_check_grace_period"])
5620
- check_type(argname="argument lifecycle_hooks", value=lifecycle_hooks, expected_type=type_hints["lifecycle_hooks"])
5621
5268
  check_type(argname="argument max_healthy_percent", value=max_healthy_percent, expected_type=type_hints["max_healthy_percent"])
5622
5269
  check_type(argname="argument min_healthy_percent", value=min_healthy_percent, expected_type=type_hints["min_healthy_percent"])
5623
5270
  check_type(argname="argument propagate_tags", value=propagate_tags, expected_type=type_hints["propagate_tags"])
@@ -5628,8 +5275,6 @@ class BaseServiceOptions:
5628
5275
  self._values: typing.Dict[builtins.str, typing.Any] = {
5629
5276
  "cluster": cluster,
5630
5277
  }
5631
- if bake_time is not None:
5632
- self._values["bake_time"] = bake_time
5633
5278
  if capacity_provider_strategies is not None:
5634
5279
  self._values["capacity_provider_strategies"] = capacity_provider_strategies
5635
5280
  if circuit_breaker is not None:
@@ -5640,8 +5285,6 @@ class BaseServiceOptions:
5640
5285
  self._values["deployment_alarms"] = deployment_alarms
5641
5286
  if deployment_controller is not None:
5642
5287
  self._values["deployment_controller"] = deployment_controller
5643
- if deployment_strategy is not None:
5644
- self._values["deployment_strategy"] = deployment_strategy
5645
5288
  if desired_count is not None:
5646
5289
  self._values["desired_count"] = desired_count
5647
5290
  if enable_ecs_managed_tags is not None:
@@ -5650,8 +5293,6 @@ class BaseServiceOptions:
5650
5293
  self._values["enable_execute_command"] = enable_execute_command
5651
5294
  if health_check_grace_period is not None:
5652
5295
  self._values["health_check_grace_period"] = health_check_grace_period
5653
- if lifecycle_hooks is not None:
5654
- self._values["lifecycle_hooks"] = lifecycle_hooks
5655
5296
  if max_healthy_percent is not None:
5656
5297
  self._values["max_healthy_percent"] = max_healthy_percent
5657
5298
  if min_healthy_percent is not None:
@@ -5674,15 +5315,6 @@ class BaseServiceOptions:
5674
5315
  assert result is not None, "Required property 'cluster' is missing"
5675
5316
  return typing.cast("ICluster", result)
5676
5317
 
5677
- @builtins.property
5678
- def bake_time(self) -> typing.Optional[_Duration_4839e8c3]:
5679
- '''bake time minutes for service.
5680
-
5681
- :default: - none
5682
- '''
5683
- result = self._values.get("bake_time")
5684
- return typing.cast(typing.Optional[_Duration_4839e8c3], result)
5685
-
5686
5318
  @builtins.property
5687
5319
  def capacity_provider_strategies(
5688
5320
  self,
@@ -5736,15 +5368,6 @@ class BaseServiceOptions:
5736
5368
  result = self._values.get("deployment_controller")
5737
5369
  return typing.cast(typing.Optional["DeploymentController"], result)
5738
5370
 
5739
- @builtins.property
5740
- def deployment_strategy(self) -> typing.Optional["DeploymentStrategy"]:
5741
- '''The deployment strategy to use for the service.
5742
-
5743
- :default: ROLLING
5744
- '''
5745
- result = self._values.get("deployment_strategy")
5746
- return typing.cast(typing.Optional["DeploymentStrategy"], result)
5747
-
5748
5371
  @builtins.property
5749
5372
  def desired_count(self) -> typing.Optional[jsii.Number]:
5750
5373
  '''The desired number of instantiations of the task definition to keep running on the service.
@@ -5787,17 +5410,6 @@ class BaseServiceOptions:
5787
5410
  result = self._values.get("health_check_grace_period")
5788
5411
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
5789
5412
 
5790
- @builtins.property
5791
- def lifecycle_hooks(
5792
- self,
5793
- ) -> typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]]:
5794
- '''The lifecycle hooks to execute during deployment stages.
5795
-
5796
- :default: - none;
5797
- '''
5798
- result = self._values.get("lifecycle_hooks")
5799
- return typing.cast(typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]], result)
5800
-
5801
5413
  @builtins.property
5802
5414
  def max_healthy_percent(self) -> typing.Optional[jsii.Number]:
5803
5415
  '''The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.
@@ -5888,18 +5500,15 @@ class BaseServiceOptions:
5888
5500
  jsii_struct_bases=[BaseServiceOptions],
5889
5501
  name_mapping={
5890
5502
  "cluster": "cluster",
5891
- "bake_time": "bakeTime",
5892
5503
  "capacity_provider_strategies": "capacityProviderStrategies",
5893
5504
  "circuit_breaker": "circuitBreaker",
5894
5505
  "cloud_map_options": "cloudMapOptions",
5895
5506
  "deployment_alarms": "deploymentAlarms",
5896
5507
  "deployment_controller": "deploymentController",
5897
- "deployment_strategy": "deploymentStrategy",
5898
5508
  "desired_count": "desiredCount",
5899
5509
  "enable_ecs_managed_tags": "enableECSManagedTags",
5900
5510
  "enable_execute_command": "enableExecuteCommand",
5901
5511
  "health_check_grace_period": "healthCheckGracePeriod",
5902
- "lifecycle_hooks": "lifecycleHooks",
5903
5512
  "max_healthy_percent": "maxHealthyPercent",
5904
5513
  "min_healthy_percent": "minHealthyPercent",
5905
5514
  "propagate_tags": "propagateTags",
@@ -5915,18 +5524,15 @@ class BaseServiceProps(BaseServiceOptions):
5915
5524
  self,
5916
5525
  *,
5917
5526
  cluster: "ICluster",
5918
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
5919
5527
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union["CapacityProviderStrategy", typing.Dict[builtins.str, typing.Any]]]] = None,
5920
5528
  circuit_breaker: typing.Optional[typing.Union["DeploymentCircuitBreaker", typing.Dict[builtins.str, typing.Any]]] = None,
5921
5529
  cloud_map_options: typing.Optional[typing.Union["CloudMapOptions", typing.Dict[builtins.str, typing.Any]]] = None,
5922
5530
  deployment_alarms: typing.Optional[typing.Union["DeploymentAlarmConfig", typing.Dict[builtins.str, typing.Any]]] = None,
5923
5531
  deployment_controller: typing.Optional[typing.Union["DeploymentController", typing.Dict[builtins.str, typing.Any]]] = None,
5924
- deployment_strategy: typing.Optional["DeploymentStrategy"] = None,
5925
5532
  desired_count: typing.Optional[jsii.Number] = None,
5926
5533
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
5927
5534
  enable_execute_command: typing.Optional[builtins.bool] = None,
5928
5535
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
5929
- lifecycle_hooks: typing.Optional[typing.Sequence["IDeploymentLifecycleHookTarget"]] = None,
5930
5536
  max_healthy_percent: typing.Optional[jsii.Number] = None,
5931
5537
  min_healthy_percent: typing.Optional[jsii.Number] = None,
5932
5538
  propagate_tags: typing.Optional["PropagatedTagSource"] = None,
@@ -5939,18 +5545,15 @@ class BaseServiceProps(BaseServiceOptions):
5939
5545
  '''Complete base service properties that are required to be supplied by the implementation of the BaseService class.
5940
5546
 
5941
5547
  :param cluster: The name of the cluster that hosts the service.
5942
- :param bake_time: bake time minutes for service. Default: - none
5943
5548
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
5944
5549
  :param circuit_breaker: Whether to enable the deployment circuit breaker. If this property is defined, circuit breaker will be implicitly enabled. Default: - disabled
5945
5550
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
5946
5551
  :param deployment_alarms: The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. Default: - No alarms will be monitored during deployment.
5947
5552
  :param deployment_controller: Specifies which deployment controller to use for the service. For more information, see `Amazon ECS Deployment Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ Default: - Rolling update (ECS)
5948
- :param deployment_strategy: The deployment strategy to use for the service. Default: ROLLING
5949
5553
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
5950
5554
  :param enable_ecs_managed_tags: Specifies whether to enable 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>`_ Default: false
5951
5555
  :param enable_execute_command: Whether to enable the ability to execute into a container. Default: - undefined
5952
5556
  :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
5953
- :param lifecycle_hooks: The lifecycle hooks to execute during deployment stages. Default: - none;
5954
5557
  :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 100 if daemon, otherwise 200
5955
5558
  :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 0 if daemon, otherwise 50
5956
5559
  :param propagate_tags: Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE Default: PropagatedTagSource.NONE
@@ -5974,7 +5577,6 @@ class BaseServiceProps(BaseServiceOptions):
5974
5577
 
5975
5578
  # cluster: ecs.Cluster
5976
5579
  # container_definition: ecs.ContainerDefinition
5977
- # deployment_lifecycle_hook_target: ecs.IDeploymentLifecycleHookTarget
5978
5580
  # key: kms.Key
5979
5581
  # log_driver: ecs.LogDriver
5980
5582
  # namespace: servicediscovery.INamespace
@@ -5987,7 +5589,6 @@ class BaseServiceProps(BaseServiceOptions):
5987
5589
  launch_type=ecs.LaunchType.EC2,
5988
5590
 
5989
5591
  # the properties below are optional
5990
- bake_time=cdk.Duration.minutes(30),
5991
5592
  capacity_provider_strategies=[ecs.CapacityProviderStrategy(
5992
5593
  capacity_provider="capacityProvider",
5993
5594
 
@@ -6017,12 +5618,10 @@ class BaseServiceProps(BaseServiceOptions):
6017
5618
  deployment_controller=ecs.DeploymentController(
6018
5619
  type=ecs.DeploymentControllerType.ECS
6019
5620
  ),
6020
- deployment_strategy=ecs.DeploymentStrategy.ROLLING,
6021
5621
  desired_count=123,
6022
5622
  enable_eCSManaged_tags=False,
6023
5623
  enable_execute_command=False,
6024
5624
  health_check_grace_period=cdk.Duration.minutes(30),
6025
- lifecycle_hooks=[deployment_lifecycle_hook_target],
6026
5625
  max_healthy_percent=123,
6027
5626
  min_healthy_percent=123,
6028
5627
  propagate_tags=ecs.PropagatedTagSource.SERVICE,
@@ -6064,18 +5663,15 @@ class BaseServiceProps(BaseServiceOptions):
6064
5663
  if __debug__:
6065
5664
  type_hints = typing.get_type_hints(_typecheckingstub__3ecfd95265b873c2042a9d5cb8465a48f9e325e2271c18461e2b266333563d84)
6066
5665
  check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
6067
- check_type(argname="argument bake_time", value=bake_time, expected_type=type_hints["bake_time"])
6068
5666
  check_type(argname="argument capacity_provider_strategies", value=capacity_provider_strategies, expected_type=type_hints["capacity_provider_strategies"])
6069
5667
  check_type(argname="argument circuit_breaker", value=circuit_breaker, expected_type=type_hints["circuit_breaker"])
6070
5668
  check_type(argname="argument cloud_map_options", value=cloud_map_options, expected_type=type_hints["cloud_map_options"])
6071
5669
  check_type(argname="argument deployment_alarms", value=deployment_alarms, expected_type=type_hints["deployment_alarms"])
6072
5670
  check_type(argname="argument deployment_controller", value=deployment_controller, expected_type=type_hints["deployment_controller"])
6073
- check_type(argname="argument deployment_strategy", value=deployment_strategy, expected_type=type_hints["deployment_strategy"])
6074
5671
  check_type(argname="argument desired_count", value=desired_count, expected_type=type_hints["desired_count"])
6075
5672
  check_type(argname="argument enable_ecs_managed_tags", value=enable_ecs_managed_tags, expected_type=type_hints["enable_ecs_managed_tags"])
6076
5673
  check_type(argname="argument enable_execute_command", value=enable_execute_command, expected_type=type_hints["enable_execute_command"])
6077
5674
  check_type(argname="argument health_check_grace_period", value=health_check_grace_period, expected_type=type_hints["health_check_grace_period"])
6078
- check_type(argname="argument lifecycle_hooks", value=lifecycle_hooks, expected_type=type_hints["lifecycle_hooks"])
6079
5675
  check_type(argname="argument max_healthy_percent", value=max_healthy_percent, expected_type=type_hints["max_healthy_percent"])
6080
5676
  check_type(argname="argument min_healthy_percent", value=min_healthy_percent, expected_type=type_hints["min_healthy_percent"])
6081
5677
  check_type(argname="argument propagate_tags", value=propagate_tags, expected_type=type_hints["propagate_tags"])
@@ -6088,8 +5684,6 @@ class BaseServiceProps(BaseServiceOptions):
6088
5684
  "cluster": cluster,
6089
5685
  "launch_type": launch_type,
6090
5686
  }
6091
- if bake_time is not None:
6092
- self._values["bake_time"] = bake_time
6093
5687
  if capacity_provider_strategies is not None:
6094
5688
  self._values["capacity_provider_strategies"] = capacity_provider_strategies
6095
5689
  if circuit_breaker is not None:
@@ -6100,8 +5694,6 @@ class BaseServiceProps(BaseServiceOptions):
6100
5694
  self._values["deployment_alarms"] = deployment_alarms
6101
5695
  if deployment_controller is not None:
6102
5696
  self._values["deployment_controller"] = deployment_controller
6103
- if deployment_strategy is not None:
6104
- self._values["deployment_strategy"] = deployment_strategy
6105
5697
  if desired_count is not None:
6106
5698
  self._values["desired_count"] = desired_count
6107
5699
  if enable_ecs_managed_tags is not None:
@@ -6110,8 +5702,6 @@ class BaseServiceProps(BaseServiceOptions):
6110
5702
  self._values["enable_execute_command"] = enable_execute_command
6111
5703
  if health_check_grace_period is not None:
6112
5704
  self._values["health_check_grace_period"] = health_check_grace_period
6113
- if lifecycle_hooks is not None:
6114
- self._values["lifecycle_hooks"] = lifecycle_hooks
6115
5705
  if max_healthy_percent is not None:
6116
5706
  self._values["max_healthy_percent"] = max_healthy_percent
6117
5707
  if min_healthy_percent is not None:
@@ -6134,15 +5724,6 @@ class BaseServiceProps(BaseServiceOptions):
6134
5724
  assert result is not None, "Required property 'cluster' is missing"
6135
5725
  return typing.cast("ICluster", result)
6136
5726
 
6137
- @builtins.property
6138
- def bake_time(self) -> typing.Optional[_Duration_4839e8c3]:
6139
- '''bake time minutes for service.
6140
-
6141
- :default: - none
6142
- '''
6143
- result = self._values.get("bake_time")
6144
- return typing.cast(typing.Optional[_Duration_4839e8c3], result)
6145
-
6146
5727
  @builtins.property
6147
5728
  def capacity_provider_strategies(
6148
5729
  self,
@@ -6196,15 +5777,6 @@ class BaseServiceProps(BaseServiceOptions):
6196
5777
  result = self._values.get("deployment_controller")
6197
5778
  return typing.cast(typing.Optional["DeploymentController"], result)
6198
5779
 
6199
- @builtins.property
6200
- def deployment_strategy(self) -> typing.Optional["DeploymentStrategy"]:
6201
- '''The deployment strategy to use for the service.
6202
-
6203
- :default: ROLLING
6204
- '''
6205
- result = self._values.get("deployment_strategy")
6206
- return typing.cast(typing.Optional["DeploymentStrategy"], result)
6207
-
6208
5780
  @builtins.property
6209
5781
  def desired_count(self) -> typing.Optional[jsii.Number]:
6210
5782
  '''The desired number of instantiations of the task definition to keep running on the service.
@@ -6247,17 +5819,6 @@ class BaseServiceProps(BaseServiceOptions):
6247
5819
  result = self._values.get("health_check_grace_period")
6248
5820
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
6249
5821
 
6250
- @builtins.property
6251
- def lifecycle_hooks(
6252
- self,
6253
- ) -> typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]]:
6254
- '''The lifecycle hooks to execute during deployment stages.
6255
-
6256
- :default: - none;
6257
- '''
6258
- result = self._values.get("lifecycle_hooks")
6259
- return typing.cast(typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]], result)
6260
-
6261
5822
  @builtins.property
6262
5823
  def max_healthy_percent(self) -> typing.Optional[jsii.Number]:
6263
5824
  '''The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.
@@ -24860,287 +24421,6 @@ class DeploymentControllerType(enum.Enum):
24860
24421
  '''The external (EXTERNAL) deployment type enables you to use any third-party deployment controller.'''
24861
24422
 
24862
24423
 
24863
- @jsii.data_type(
24864
- jsii_type="aws-cdk-lib.aws_ecs.DeploymentLifecycleHookTargetConfig",
24865
- jsii_struct_bases=[],
24866
- name_mapping={
24867
- "lifecycle_stages": "lifecycleStages",
24868
- "target_arn": "targetArn",
24869
- "role": "role",
24870
- },
24871
- )
24872
- class DeploymentLifecycleHookTargetConfig:
24873
- def __init__(
24874
- self,
24875
- *,
24876
- lifecycle_stages: typing.Sequence["DeploymentLifecycleStage"],
24877
- target_arn: builtins.str,
24878
- role: typing.Optional[_IRole_235f5d8e] = None,
24879
- ) -> None:
24880
- '''Configuration for a deployment lifecycle hook target.
24881
-
24882
- :param lifecycle_stages: The lifecycle stages when this hook should be executed.
24883
- :param target_arn: The ARN of the target resource.
24884
- :param role: The IAM role that grants permissions to invoke the target. Default: - a role will be created automatically
24885
-
24886
- :exampleMetadata: fixture=_generated
24887
-
24888
- Example::
24889
-
24890
- # The code below shows an example of how to instantiate this type.
24891
- # The values are placeholders you should change.
24892
- from aws_cdk import aws_ecs as ecs
24893
- from aws_cdk import aws_iam as iam
24894
-
24895
- # role: iam.Role
24896
-
24897
- deployment_lifecycle_hook_target_config = ecs.DeploymentLifecycleHookTargetConfig(
24898
- lifecycle_stages=[ecs.DeploymentLifecycleStage.RECONCILE_SERVICE],
24899
- target_arn="targetArn",
24900
-
24901
- # the properties below are optional
24902
- role=role
24903
- )
24904
- '''
24905
- if __debug__:
24906
- type_hints = typing.get_type_hints(_typecheckingstub__58b105a4a38be4fd4e5d81c3d78a7d0fc4d3120086f0f1235d58be7e964bf172)
24907
- check_type(argname="argument lifecycle_stages", value=lifecycle_stages, expected_type=type_hints["lifecycle_stages"])
24908
- check_type(argname="argument target_arn", value=target_arn, expected_type=type_hints["target_arn"])
24909
- check_type(argname="argument role", value=role, expected_type=type_hints["role"])
24910
- self._values: typing.Dict[builtins.str, typing.Any] = {
24911
- "lifecycle_stages": lifecycle_stages,
24912
- "target_arn": target_arn,
24913
- }
24914
- if role is not None:
24915
- self._values["role"] = role
24916
-
24917
- @builtins.property
24918
- def lifecycle_stages(self) -> typing.List["DeploymentLifecycleStage"]:
24919
- '''The lifecycle stages when this hook should be executed.'''
24920
- result = self._values.get("lifecycle_stages")
24921
- assert result is not None, "Required property 'lifecycle_stages' is missing"
24922
- return typing.cast(typing.List["DeploymentLifecycleStage"], result)
24923
-
24924
- @builtins.property
24925
- def target_arn(self) -> builtins.str:
24926
- '''The ARN of the target resource.'''
24927
- result = self._values.get("target_arn")
24928
- assert result is not None, "Required property 'target_arn' is missing"
24929
- return typing.cast(builtins.str, result)
24930
-
24931
- @builtins.property
24932
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
24933
- '''The IAM role that grants permissions to invoke the target.
24934
-
24935
- :default: - a role will be created automatically
24936
- '''
24937
- result = self._values.get("role")
24938
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
24939
-
24940
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
24941
- return isinstance(rhs, self.__class__) and rhs._values == self._values
24942
-
24943
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
24944
- return not (rhs == self)
24945
-
24946
- def __repr__(self) -> str:
24947
- return "DeploymentLifecycleHookTargetConfig(%s)" % ", ".join(
24948
- k + "=" + repr(v) for k, v in self._values.items()
24949
- )
24950
-
24951
-
24952
- @jsii.data_type(
24953
- jsii_type="aws-cdk-lib.aws_ecs.DeploymentLifecycleLambdaTargetProps",
24954
- jsii_struct_bases=[],
24955
- name_mapping={"lifecycle_stages": "lifecycleStages", "role": "role"},
24956
- )
24957
- class DeploymentLifecycleLambdaTargetProps:
24958
- def __init__(
24959
- self,
24960
- *,
24961
- lifecycle_stages: typing.Sequence["DeploymentLifecycleStage"],
24962
- role: typing.Optional[_IRole_235f5d8e] = None,
24963
- ) -> None:
24964
- '''Configuration for a lambda deployment lifecycle hook.
24965
-
24966
- :param lifecycle_stages: The lifecycle stages when this hook should be executed.
24967
- :param role: The IAM role that grants permissions to invoke the lambda target. Default: - A unique role will be generated for this lambda function.
24968
-
24969
- :exampleMetadata: infused
24970
-
24971
- Example::
24972
-
24973
- import aws_cdk.aws_lambda as lambda_
24974
-
24975
- # cluster: ecs.Cluster
24976
- # task_definition: ecs.TaskDefinition
24977
- # lambda_hook: lambda.Function
24978
- # blue_target_group: elbv2.ApplicationTargetGroup
24979
- # green_target_group: elbv2.ApplicationTargetGroup
24980
- # prod_listener_rule: elbv2.ApplicationListenerRule
24981
-
24982
-
24983
- service = ecs.FargateService(self, "Service",
24984
- cluster=cluster,
24985
- task_definition=task_definition,
24986
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
24987
- )
24988
-
24989
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
24990
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
24991
- ))
24992
-
24993
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
24994
- container_name="nginx",
24995
- container_port=80,
24996
- protocol=ecs.Protocol.TCP
24997
- ), ecs.AlternateTarget("AlternateTarget",
24998
- alternate_target_group=green_target_group,
24999
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
25000
- ))
25001
-
25002
- target.attach_to_application_target_group(blue_target_group)
25003
- '''
25004
- if __debug__:
25005
- type_hints = typing.get_type_hints(_typecheckingstub__e812b4c257c9817fdc66c09cfbc9ed6c2dae75feb52fdb91c33339837dbb883c)
25006
- check_type(argname="argument lifecycle_stages", value=lifecycle_stages, expected_type=type_hints["lifecycle_stages"])
25007
- check_type(argname="argument role", value=role, expected_type=type_hints["role"])
25008
- self._values: typing.Dict[builtins.str, typing.Any] = {
25009
- "lifecycle_stages": lifecycle_stages,
25010
- }
25011
- if role is not None:
25012
- self._values["role"] = role
25013
-
25014
- @builtins.property
25015
- def lifecycle_stages(self) -> typing.List["DeploymentLifecycleStage"]:
25016
- '''The lifecycle stages when this hook should be executed.'''
25017
- result = self._values.get("lifecycle_stages")
25018
- assert result is not None, "Required property 'lifecycle_stages' is missing"
25019
- return typing.cast(typing.List["DeploymentLifecycleStage"], result)
25020
-
25021
- @builtins.property
25022
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
25023
- '''The IAM role that grants permissions to invoke the lambda target.
25024
-
25025
- :default: - A unique role will be generated for this lambda function.
25026
- '''
25027
- result = self._values.get("role")
25028
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
25029
-
25030
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
25031
- return isinstance(rhs, self.__class__) and rhs._values == self._values
25032
-
25033
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
25034
- return not (rhs == self)
25035
-
25036
- def __repr__(self) -> str:
25037
- return "DeploymentLifecycleLambdaTargetProps(%s)" % ", ".join(
25038
- k + "=" + repr(v) for k, v in self._values.items()
25039
- )
25040
-
25041
-
25042
- @jsii.enum(jsii_type="aws-cdk-lib.aws_ecs.DeploymentLifecycleStage")
25043
- class DeploymentLifecycleStage(enum.Enum):
25044
- '''Deployment lifecycle stages where hooks can be executed.
25045
-
25046
- :exampleMetadata: infused
25047
-
25048
- Example::
25049
-
25050
- import aws_cdk.aws_lambda as lambda_
25051
-
25052
- # cluster: ecs.Cluster
25053
- # task_definition: ecs.TaskDefinition
25054
- # lambda_hook: lambda.Function
25055
- # blue_target_group: elbv2.ApplicationTargetGroup
25056
- # green_target_group: elbv2.ApplicationTargetGroup
25057
- # prod_listener_rule: elbv2.ApplicationListenerRule
25058
-
25059
-
25060
- service = ecs.FargateService(self, "Service",
25061
- cluster=cluster,
25062
- task_definition=task_definition,
25063
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
25064
- )
25065
-
25066
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
25067
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
25068
- ))
25069
-
25070
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
25071
- container_name="nginx",
25072
- container_port=80,
25073
- protocol=ecs.Protocol.TCP
25074
- ), ecs.AlternateTarget("AlternateTarget",
25075
- alternate_target_group=green_target_group,
25076
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
25077
- ))
25078
-
25079
- target.attach_to_application_target_group(blue_target_group)
25080
- '''
25081
-
25082
- RECONCILE_SERVICE = "RECONCILE_SERVICE"
25083
- '''Execute during service reconciliation.'''
25084
- PRE_SCALE_UP = "PRE_SCALE_UP"
25085
- '''Execute before scaling up tasks.'''
25086
- POST_SCALE_UP = "POST_SCALE_UP"
25087
- '''Execute after scaling up tasks.'''
25088
- TEST_TRAFFIC_SHIFT = "TEST_TRAFFIC_SHIFT"
25089
- '''Execute during test traffic shift.'''
25090
- POST_TEST_TRAFFIC_SHIFT = "POST_TEST_TRAFFIC_SHIFT"
25091
- '''Execute after test traffic shift.'''
25092
- PRODUCTION_TRAFFIC_SHIFT = "PRODUCTION_TRAFFIC_SHIFT"
25093
- '''Execute during production traffic shift.'''
25094
- POST_PRODUCTION_TRAFFIC_SHIFT = "POST_PRODUCTION_TRAFFIC_SHIFT"
25095
- '''Execute after production traffic shift.'''
25096
-
25097
-
25098
- @jsii.enum(jsii_type="aws-cdk-lib.aws_ecs.DeploymentStrategy")
25099
- class DeploymentStrategy(enum.Enum):
25100
- '''The deployment stratergy to use for ECS controller.
25101
-
25102
- :exampleMetadata: infused
25103
-
25104
- Example::
25105
-
25106
- import aws_cdk.aws_lambda as lambda_
25107
-
25108
- # cluster: ecs.Cluster
25109
- # task_definition: ecs.TaskDefinition
25110
- # lambda_hook: lambda.Function
25111
- # blue_target_group: elbv2.ApplicationTargetGroup
25112
- # green_target_group: elbv2.ApplicationTargetGroup
25113
- # prod_listener_rule: elbv2.ApplicationListenerRule
25114
-
25115
-
25116
- service = ecs.FargateService(self, "Service",
25117
- cluster=cluster,
25118
- task_definition=task_definition,
25119
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
25120
- )
25121
-
25122
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
25123
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
25124
- ))
25125
-
25126
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
25127
- container_name="nginx",
25128
- container_port=80,
25129
- protocol=ecs.Protocol.TCP
25130
- ), ecs.AlternateTarget("AlternateTarget",
25131
- alternate_target_group=green_target_group,
25132
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
25133
- ))
25134
-
25135
- target.attach_to_application_target_group(blue_target_group)
25136
- '''
25137
-
25138
- ROLLING = "ROLLING"
25139
- '''Rolling update deployment.'''
25140
- BLUE_GREEN = "BLUE_GREEN"
25141
- '''Blue/green deployment.'''
25142
-
25143
-
25144
24424
  @jsii.data_type(
25145
24425
  jsii_type="aws-cdk-lib.aws_ecs.Device",
25146
24426
  jsii_struct_bases=[],
@@ -25743,18 +25023,15 @@ class Ec2ServiceAttributes:
25743
25023
  jsii_struct_bases=[BaseServiceOptions],
25744
25024
  name_mapping={
25745
25025
  "cluster": "cluster",
25746
- "bake_time": "bakeTime",
25747
25026
  "capacity_provider_strategies": "capacityProviderStrategies",
25748
25027
  "circuit_breaker": "circuitBreaker",
25749
25028
  "cloud_map_options": "cloudMapOptions",
25750
25029
  "deployment_alarms": "deploymentAlarms",
25751
25030
  "deployment_controller": "deploymentController",
25752
- "deployment_strategy": "deploymentStrategy",
25753
25031
  "desired_count": "desiredCount",
25754
25032
  "enable_ecs_managed_tags": "enableECSManagedTags",
25755
25033
  "enable_execute_command": "enableExecuteCommand",
25756
25034
  "health_check_grace_period": "healthCheckGracePeriod",
25757
- "lifecycle_hooks": "lifecycleHooks",
25758
25035
  "max_healthy_percent": "maxHealthyPercent",
25759
25036
  "min_healthy_percent": "minHealthyPercent",
25760
25037
  "propagate_tags": "propagateTags",
@@ -25777,18 +25054,15 @@ class Ec2ServiceProps(BaseServiceOptions):
25777
25054
  self,
25778
25055
  *,
25779
25056
  cluster: "ICluster",
25780
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
25781
25057
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
25782
25058
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
25783
25059
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
25784
25060
  deployment_alarms: typing.Optional[typing.Union["DeploymentAlarmConfig", typing.Dict[builtins.str, typing.Any]]] = None,
25785
25061
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
25786
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
25787
25062
  desired_count: typing.Optional[jsii.Number] = None,
25788
25063
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
25789
25064
  enable_execute_command: typing.Optional[builtins.bool] = None,
25790
25065
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
25791
- lifecycle_hooks: typing.Optional[typing.Sequence["IDeploymentLifecycleHookTarget"]] = None,
25792
25066
  max_healthy_percent: typing.Optional[jsii.Number] = None,
25793
25067
  min_healthy_percent: typing.Optional[jsii.Number] = None,
25794
25068
  propagate_tags: typing.Optional["PropagatedTagSource"] = None,
@@ -25808,18 +25082,15 @@ class Ec2ServiceProps(BaseServiceOptions):
25808
25082
  '''The properties for defining a service using the EC2 launch type.
25809
25083
 
25810
25084
  :param cluster: The name of the cluster that hosts the service.
25811
- :param bake_time: bake time minutes for service. Default: - none
25812
25085
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
25813
25086
  :param circuit_breaker: Whether to enable the deployment circuit breaker. If this property is defined, circuit breaker will be implicitly enabled. Default: - disabled
25814
25087
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
25815
25088
  :param deployment_alarms: The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. Default: - No alarms will be monitored during deployment.
25816
25089
  :param deployment_controller: Specifies which deployment controller to use for the service. For more information, see `Amazon ECS Deployment Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ Default: - Rolling update (ECS)
25817
- :param deployment_strategy: The deployment strategy to use for the service. Default: ROLLING
25818
25090
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
25819
25091
  :param enable_ecs_managed_tags: Specifies whether to enable 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>`_ Default: false
25820
25092
  :param enable_execute_command: Whether to enable the ability to execute into a container. Default: - undefined
25821
25093
  :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
25822
- :param lifecycle_hooks: The lifecycle hooks to execute during deployment stages. Default: - none;
25823
25094
  :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 100 if daemon, otherwise 200
25824
25095
  :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 0 if daemon, otherwise 50
25825
25096
  :param propagate_tags: Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE Default: PropagatedTagSource.NONE
@@ -25881,18 +25152,15 @@ class Ec2ServiceProps(BaseServiceOptions):
25881
25152
  if __debug__:
25882
25153
  type_hints = typing.get_type_hints(_typecheckingstub__95634258086aa3448fbdfd9896017a2cbeb858f382deb61186bb9e22b1ccd366)
25883
25154
  check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
25884
- check_type(argname="argument bake_time", value=bake_time, expected_type=type_hints["bake_time"])
25885
25155
  check_type(argname="argument capacity_provider_strategies", value=capacity_provider_strategies, expected_type=type_hints["capacity_provider_strategies"])
25886
25156
  check_type(argname="argument circuit_breaker", value=circuit_breaker, expected_type=type_hints["circuit_breaker"])
25887
25157
  check_type(argname="argument cloud_map_options", value=cloud_map_options, expected_type=type_hints["cloud_map_options"])
25888
25158
  check_type(argname="argument deployment_alarms", value=deployment_alarms, expected_type=type_hints["deployment_alarms"])
25889
25159
  check_type(argname="argument deployment_controller", value=deployment_controller, expected_type=type_hints["deployment_controller"])
25890
- check_type(argname="argument deployment_strategy", value=deployment_strategy, expected_type=type_hints["deployment_strategy"])
25891
25160
  check_type(argname="argument desired_count", value=desired_count, expected_type=type_hints["desired_count"])
25892
25161
  check_type(argname="argument enable_ecs_managed_tags", value=enable_ecs_managed_tags, expected_type=type_hints["enable_ecs_managed_tags"])
25893
25162
  check_type(argname="argument enable_execute_command", value=enable_execute_command, expected_type=type_hints["enable_execute_command"])
25894
25163
  check_type(argname="argument health_check_grace_period", value=health_check_grace_period, expected_type=type_hints["health_check_grace_period"])
25895
- check_type(argname="argument lifecycle_hooks", value=lifecycle_hooks, expected_type=type_hints["lifecycle_hooks"])
25896
25164
  check_type(argname="argument max_healthy_percent", value=max_healthy_percent, expected_type=type_hints["max_healthy_percent"])
25897
25165
  check_type(argname="argument min_healthy_percent", value=min_healthy_percent, expected_type=type_hints["min_healthy_percent"])
25898
25166
  check_type(argname="argument propagate_tags", value=propagate_tags, expected_type=type_hints["propagate_tags"])
@@ -25912,8 +25180,6 @@ class Ec2ServiceProps(BaseServiceOptions):
25912
25180
  "cluster": cluster,
25913
25181
  "task_definition": task_definition,
25914
25182
  }
25915
- if bake_time is not None:
25916
- self._values["bake_time"] = bake_time
25917
25183
  if capacity_provider_strategies is not None:
25918
25184
  self._values["capacity_provider_strategies"] = capacity_provider_strategies
25919
25185
  if circuit_breaker is not None:
@@ -25924,8 +25190,6 @@ class Ec2ServiceProps(BaseServiceOptions):
25924
25190
  self._values["deployment_alarms"] = deployment_alarms
25925
25191
  if deployment_controller is not None:
25926
25192
  self._values["deployment_controller"] = deployment_controller
25927
- if deployment_strategy is not None:
25928
- self._values["deployment_strategy"] = deployment_strategy
25929
25193
  if desired_count is not None:
25930
25194
  self._values["desired_count"] = desired_count
25931
25195
  if enable_ecs_managed_tags is not None:
@@ -25934,8 +25198,6 @@ class Ec2ServiceProps(BaseServiceOptions):
25934
25198
  self._values["enable_execute_command"] = enable_execute_command
25935
25199
  if health_check_grace_period is not None:
25936
25200
  self._values["health_check_grace_period"] = health_check_grace_period
25937
- if lifecycle_hooks is not None:
25938
- self._values["lifecycle_hooks"] = lifecycle_hooks
25939
25201
  if max_healthy_percent is not None:
25940
25202
  self._values["max_healthy_percent"] = max_healthy_percent
25941
25203
  if min_healthy_percent is not None:
@@ -25972,15 +25234,6 @@ class Ec2ServiceProps(BaseServiceOptions):
25972
25234
  assert result is not None, "Required property 'cluster' is missing"
25973
25235
  return typing.cast("ICluster", result)
25974
25236
 
25975
- @builtins.property
25976
- def bake_time(self) -> typing.Optional[_Duration_4839e8c3]:
25977
- '''bake time minutes for service.
25978
-
25979
- :default: - none
25980
- '''
25981
- result = self._values.get("bake_time")
25982
- return typing.cast(typing.Optional[_Duration_4839e8c3], result)
25983
-
25984
25237
  @builtins.property
25985
25238
  def capacity_provider_strategies(
25986
25239
  self,
@@ -26034,15 +25287,6 @@ class Ec2ServiceProps(BaseServiceOptions):
26034
25287
  result = self._values.get("deployment_controller")
26035
25288
  return typing.cast(typing.Optional[DeploymentController], result)
26036
25289
 
26037
- @builtins.property
26038
- def deployment_strategy(self) -> typing.Optional[DeploymentStrategy]:
26039
- '''The deployment strategy to use for the service.
26040
-
26041
- :default: ROLLING
26042
- '''
26043
- result = self._values.get("deployment_strategy")
26044
- return typing.cast(typing.Optional[DeploymentStrategy], result)
26045
-
26046
25290
  @builtins.property
26047
25291
  def desired_count(self) -> typing.Optional[jsii.Number]:
26048
25292
  '''The desired number of instantiations of the task definition to keep running on the service.
@@ -26085,17 +25329,6 @@ class Ec2ServiceProps(BaseServiceOptions):
26085
25329
  result = self._values.get("health_check_grace_period")
26086
25330
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
26087
25331
 
26088
- @builtins.property
26089
- def lifecycle_hooks(
26090
- self,
26091
- ) -> typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]]:
26092
- '''The lifecycle hooks to execute during deployment stages.
26093
-
26094
- :default: - none;
26095
- '''
26096
- result = self._values.get("lifecycle_hooks")
26097
- return typing.cast(typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]], result)
26098
-
26099
25332
  @builtins.property
26100
25333
  def max_healthy_percent(self) -> typing.Optional[jsii.Number]:
26101
25334
  '''The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.
@@ -27811,18 +27044,15 @@ class ExternalServiceAttributes:
27811
27044
  jsii_struct_bases=[BaseServiceOptions],
27812
27045
  name_mapping={
27813
27046
  "cluster": "cluster",
27814
- "bake_time": "bakeTime",
27815
27047
  "capacity_provider_strategies": "capacityProviderStrategies",
27816
27048
  "circuit_breaker": "circuitBreaker",
27817
27049
  "cloud_map_options": "cloudMapOptions",
27818
27050
  "deployment_alarms": "deploymentAlarms",
27819
27051
  "deployment_controller": "deploymentController",
27820
- "deployment_strategy": "deploymentStrategy",
27821
27052
  "desired_count": "desiredCount",
27822
27053
  "enable_ecs_managed_tags": "enableECSManagedTags",
27823
27054
  "enable_execute_command": "enableExecuteCommand",
27824
27055
  "health_check_grace_period": "healthCheckGracePeriod",
27825
- "lifecycle_hooks": "lifecycleHooks",
27826
27056
  "max_healthy_percent": "maxHealthyPercent",
27827
27057
  "min_healthy_percent": "minHealthyPercent",
27828
27058
  "propagate_tags": "propagateTags",
@@ -27840,18 +27070,15 @@ class ExternalServiceProps(BaseServiceOptions):
27840
27070
  self,
27841
27071
  *,
27842
27072
  cluster: "ICluster",
27843
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
27844
27073
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
27845
27074
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
27846
27075
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
27847
27076
  deployment_alarms: typing.Optional[typing.Union["DeploymentAlarmConfig", typing.Dict[builtins.str, typing.Any]]] = None,
27848
27077
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
27849
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
27850
27078
  desired_count: typing.Optional[jsii.Number] = None,
27851
27079
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
27852
27080
  enable_execute_command: typing.Optional[builtins.bool] = None,
27853
27081
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
27854
- lifecycle_hooks: typing.Optional[typing.Sequence["IDeploymentLifecycleHookTarget"]] = None,
27855
27082
  max_healthy_percent: typing.Optional[jsii.Number] = None,
27856
27083
  min_healthy_percent: typing.Optional[jsii.Number] = None,
27857
27084
  propagate_tags: typing.Optional["PropagatedTagSource"] = None,
@@ -27866,18 +27093,15 @@ class ExternalServiceProps(BaseServiceOptions):
27866
27093
  '''The properties for defining a service using the External launch type.
27867
27094
 
27868
27095
  :param cluster: The name of the cluster that hosts the service.
27869
- :param bake_time: bake time minutes for service. Default: - none
27870
27096
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
27871
27097
  :param circuit_breaker: Whether to enable the deployment circuit breaker. If this property is defined, circuit breaker will be implicitly enabled. Default: - disabled
27872
27098
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
27873
27099
  :param deployment_alarms: The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. Default: - No alarms will be monitored during deployment.
27874
27100
  :param deployment_controller: Specifies which deployment controller to use for the service. For more information, see `Amazon ECS Deployment Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ Default: - Rolling update (ECS)
27875
- :param deployment_strategy: The deployment strategy to use for the service. Default: ROLLING
27876
27101
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
27877
27102
  :param enable_ecs_managed_tags: Specifies whether to enable 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>`_ Default: false
27878
27103
  :param enable_execute_command: Whether to enable the ability to execute into a container. Default: - undefined
27879
27104
  :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
27880
- :param lifecycle_hooks: The lifecycle hooks to execute during deployment stages. Default: - none;
27881
27105
  :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 100 if daemon, otherwise 200
27882
27106
  :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 0 if daemon, otherwise 50
27883
27107
  :param propagate_tags: Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE Default: PropagatedTagSource.NONE
@@ -27922,18 +27146,15 @@ class ExternalServiceProps(BaseServiceOptions):
27922
27146
  if __debug__:
27923
27147
  type_hints = typing.get_type_hints(_typecheckingstub__3cc413964caae89bfcfbcabff8356ffe5c054f46824be99731a77b64ec052a8a)
27924
27148
  check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
27925
- check_type(argname="argument bake_time", value=bake_time, expected_type=type_hints["bake_time"])
27926
27149
  check_type(argname="argument capacity_provider_strategies", value=capacity_provider_strategies, expected_type=type_hints["capacity_provider_strategies"])
27927
27150
  check_type(argname="argument circuit_breaker", value=circuit_breaker, expected_type=type_hints["circuit_breaker"])
27928
27151
  check_type(argname="argument cloud_map_options", value=cloud_map_options, expected_type=type_hints["cloud_map_options"])
27929
27152
  check_type(argname="argument deployment_alarms", value=deployment_alarms, expected_type=type_hints["deployment_alarms"])
27930
27153
  check_type(argname="argument deployment_controller", value=deployment_controller, expected_type=type_hints["deployment_controller"])
27931
- check_type(argname="argument deployment_strategy", value=deployment_strategy, expected_type=type_hints["deployment_strategy"])
27932
27154
  check_type(argname="argument desired_count", value=desired_count, expected_type=type_hints["desired_count"])
27933
27155
  check_type(argname="argument enable_ecs_managed_tags", value=enable_ecs_managed_tags, expected_type=type_hints["enable_ecs_managed_tags"])
27934
27156
  check_type(argname="argument enable_execute_command", value=enable_execute_command, expected_type=type_hints["enable_execute_command"])
27935
27157
  check_type(argname="argument health_check_grace_period", value=health_check_grace_period, expected_type=type_hints["health_check_grace_period"])
27936
- check_type(argname="argument lifecycle_hooks", value=lifecycle_hooks, expected_type=type_hints["lifecycle_hooks"])
27937
27158
  check_type(argname="argument max_healthy_percent", value=max_healthy_percent, expected_type=type_hints["max_healthy_percent"])
27938
27159
  check_type(argname="argument min_healthy_percent", value=min_healthy_percent, expected_type=type_hints["min_healthy_percent"])
27939
27160
  check_type(argname="argument propagate_tags", value=propagate_tags, expected_type=type_hints["propagate_tags"])
@@ -27948,8 +27169,6 @@ class ExternalServiceProps(BaseServiceOptions):
27948
27169
  "cluster": cluster,
27949
27170
  "task_definition": task_definition,
27950
27171
  }
27951
- if bake_time is not None:
27952
- self._values["bake_time"] = bake_time
27953
27172
  if capacity_provider_strategies is not None:
27954
27173
  self._values["capacity_provider_strategies"] = capacity_provider_strategies
27955
27174
  if circuit_breaker is not None:
@@ -27960,8 +27179,6 @@ class ExternalServiceProps(BaseServiceOptions):
27960
27179
  self._values["deployment_alarms"] = deployment_alarms
27961
27180
  if deployment_controller is not None:
27962
27181
  self._values["deployment_controller"] = deployment_controller
27963
- if deployment_strategy is not None:
27964
- self._values["deployment_strategy"] = deployment_strategy
27965
27182
  if desired_count is not None:
27966
27183
  self._values["desired_count"] = desired_count
27967
27184
  if enable_ecs_managed_tags is not None:
@@ -27970,8 +27187,6 @@ class ExternalServiceProps(BaseServiceOptions):
27970
27187
  self._values["enable_execute_command"] = enable_execute_command
27971
27188
  if health_check_grace_period is not None:
27972
27189
  self._values["health_check_grace_period"] = health_check_grace_period
27973
- if lifecycle_hooks is not None:
27974
- self._values["lifecycle_hooks"] = lifecycle_hooks
27975
27190
  if max_healthy_percent is not None:
27976
27191
  self._values["max_healthy_percent"] = max_healthy_percent
27977
27192
  if min_healthy_percent is not None:
@@ -27998,15 +27213,6 @@ class ExternalServiceProps(BaseServiceOptions):
27998
27213
  assert result is not None, "Required property 'cluster' is missing"
27999
27214
  return typing.cast("ICluster", result)
28000
27215
 
28001
- @builtins.property
28002
- def bake_time(self) -> typing.Optional[_Duration_4839e8c3]:
28003
- '''bake time minutes for service.
28004
-
28005
- :default: - none
28006
- '''
28007
- result = self._values.get("bake_time")
28008
- return typing.cast(typing.Optional[_Duration_4839e8c3], result)
28009
-
28010
27216
  @builtins.property
28011
27217
  def capacity_provider_strategies(
28012
27218
  self,
@@ -28060,15 +27266,6 @@ class ExternalServiceProps(BaseServiceOptions):
28060
27266
  result = self._values.get("deployment_controller")
28061
27267
  return typing.cast(typing.Optional[DeploymentController], result)
28062
27268
 
28063
- @builtins.property
28064
- def deployment_strategy(self) -> typing.Optional[DeploymentStrategy]:
28065
- '''The deployment strategy to use for the service.
28066
-
28067
- :default: ROLLING
28068
- '''
28069
- result = self._values.get("deployment_strategy")
28070
- return typing.cast(typing.Optional[DeploymentStrategy], result)
28071
-
28072
27269
  @builtins.property
28073
27270
  def desired_count(self) -> typing.Optional[jsii.Number]:
28074
27271
  '''The desired number of instantiations of the task definition to keep running on the service.
@@ -28111,17 +27308,6 @@ class ExternalServiceProps(BaseServiceOptions):
28111
27308
  result = self._values.get("health_check_grace_period")
28112
27309
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
28113
27310
 
28114
- @builtins.property
28115
- def lifecycle_hooks(
28116
- self,
28117
- ) -> typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]]:
28118
- '''The lifecycle hooks to execute during deployment stages.
28119
-
28120
- :default: - none;
28121
- '''
28122
- result = self._values.get("lifecycle_hooks")
28123
- return typing.cast(typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]], result)
28124
-
28125
27311
  @builtins.property
28126
27312
  def max_healthy_percent(self) -> typing.Optional[jsii.Number]:
28127
27313
  '''The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.
@@ -28702,18 +27888,15 @@ class FargateServiceAttributes:
28702
27888
  jsii_struct_bases=[BaseServiceOptions],
28703
27889
  name_mapping={
28704
27890
  "cluster": "cluster",
28705
- "bake_time": "bakeTime",
28706
27891
  "capacity_provider_strategies": "capacityProviderStrategies",
28707
27892
  "circuit_breaker": "circuitBreaker",
28708
27893
  "cloud_map_options": "cloudMapOptions",
28709
27894
  "deployment_alarms": "deploymentAlarms",
28710
27895
  "deployment_controller": "deploymentController",
28711
- "deployment_strategy": "deploymentStrategy",
28712
27896
  "desired_count": "desiredCount",
28713
27897
  "enable_ecs_managed_tags": "enableECSManagedTags",
28714
27898
  "enable_execute_command": "enableExecuteCommand",
28715
27899
  "health_check_grace_period": "healthCheckGracePeriod",
28716
- "lifecycle_hooks": "lifecycleHooks",
28717
27900
  "max_healthy_percent": "maxHealthyPercent",
28718
27901
  "min_healthy_percent": "minHealthyPercent",
28719
27902
  "propagate_tags": "propagateTags",
@@ -28734,18 +27917,15 @@ class FargateServiceProps(BaseServiceOptions):
28734
27917
  self,
28735
27918
  *,
28736
27919
  cluster: "ICluster",
28737
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
28738
27920
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
28739
27921
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
28740
27922
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
28741
27923
  deployment_alarms: typing.Optional[typing.Union["DeploymentAlarmConfig", typing.Dict[builtins.str, typing.Any]]] = None,
28742
27924
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
28743
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
28744
27925
  desired_count: typing.Optional[jsii.Number] = None,
28745
27926
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
28746
27927
  enable_execute_command: typing.Optional[builtins.bool] = None,
28747
27928
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
28748
- lifecycle_hooks: typing.Optional[typing.Sequence["IDeploymentLifecycleHookTarget"]] = None,
28749
27929
  max_healthy_percent: typing.Optional[jsii.Number] = None,
28750
27930
  min_healthy_percent: typing.Optional[jsii.Number] = None,
28751
27931
  propagate_tags: typing.Optional["PropagatedTagSource"] = None,
@@ -28763,18 +27943,15 @@ class FargateServiceProps(BaseServiceOptions):
28763
27943
  '''The properties for defining a service using the Fargate launch type.
28764
27944
 
28765
27945
  :param cluster: The name of the cluster that hosts the service.
28766
- :param bake_time: bake time minutes for service. Default: - none
28767
27946
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
28768
27947
  :param circuit_breaker: Whether to enable the deployment circuit breaker. If this property is defined, circuit breaker will be implicitly enabled. Default: - disabled
28769
27948
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
28770
27949
  :param deployment_alarms: The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. Default: - No alarms will be monitored during deployment.
28771
27950
  :param deployment_controller: Specifies which deployment controller to use for the service. For more information, see `Amazon ECS Deployment Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ Default: - Rolling update (ECS)
28772
- :param deployment_strategy: The deployment strategy to use for the service. Default: ROLLING
28773
27951
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
28774
27952
  :param enable_ecs_managed_tags: Specifies whether to enable 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>`_ Default: false
28775
27953
  :param enable_execute_command: Whether to enable the ability to execute into a container. Default: - undefined
28776
27954
  :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
28777
- :param lifecycle_hooks: The lifecycle hooks to execute during deployment stages. Default: - none;
28778
27955
  :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 100 if daemon, otherwise 200
28779
27956
  :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 0 if daemon, otherwise 50
28780
27957
  :param propagate_tags: Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE Default: PropagatedTagSource.NONE
@@ -28837,18 +28014,15 @@ class FargateServiceProps(BaseServiceOptions):
28837
28014
  if __debug__:
28838
28015
  type_hints = typing.get_type_hints(_typecheckingstub__8290283f61f3e2d289b7e7f81cad1a5d1e9ed9dbc07ccce2b57604682a42ded7)
28839
28016
  check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
28840
- check_type(argname="argument bake_time", value=bake_time, expected_type=type_hints["bake_time"])
28841
28017
  check_type(argname="argument capacity_provider_strategies", value=capacity_provider_strategies, expected_type=type_hints["capacity_provider_strategies"])
28842
28018
  check_type(argname="argument circuit_breaker", value=circuit_breaker, expected_type=type_hints["circuit_breaker"])
28843
28019
  check_type(argname="argument cloud_map_options", value=cloud_map_options, expected_type=type_hints["cloud_map_options"])
28844
28020
  check_type(argname="argument deployment_alarms", value=deployment_alarms, expected_type=type_hints["deployment_alarms"])
28845
28021
  check_type(argname="argument deployment_controller", value=deployment_controller, expected_type=type_hints["deployment_controller"])
28846
- check_type(argname="argument deployment_strategy", value=deployment_strategy, expected_type=type_hints["deployment_strategy"])
28847
28022
  check_type(argname="argument desired_count", value=desired_count, expected_type=type_hints["desired_count"])
28848
28023
  check_type(argname="argument enable_ecs_managed_tags", value=enable_ecs_managed_tags, expected_type=type_hints["enable_ecs_managed_tags"])
28849
28024
  check_type(argname="argument enable_execute_command", value=enable_execute_command, expected_type=type_hints["enable_execute_command"])
28850
28025
  check_type(argname="argument health_check_grace_period", value=health_check_grace_period, expected_type=type_hints["health_check_grace_period"])
28851
- check_type(argname="argument lifecycle_hooks", value=lifecycle_hooks, expected_type=type_hints["lifecycle_hooks"])
28852
28026
  check_type(argname="argument max_healthy_percent", value=max_healthy_percent, expected_type=type_hints["max_healthy_percent"])
28853
28027
  check_type(argname="argument min_healthy_percent", value=min_healthy_percent, expected_type=type_hints["min_healthy_percent"])
28854
28028
  check_type(argname="argument propagate_tags", value=propagate_tags, expected_type=type_hints["propagate_tags"])
@@ -28866,8 +28040,6 @@ class FargateServiceProps(BaseServiceOptions):
28866
28040
  "cluster": cluster,
28867
28041
  "task_definition": task_definition,
28868
28042
  }
28869
- if bake_time is not None:
28870
- self._values["bake_time"] = bake_time
28871
28043
  if capacity_provider_strategies is not None:
28872
28044
  self._values["capacity_provider_strategies"] = capacity_provider_strategies
28873
28045
  if circuit_breaker is not None:
@@ -28878,8 +28050,6 @@ class FargateServiceProps(BaseServiceOptions):
28878
28050
  self._values["deployment_alarms"] = deployment_alarms
28879
28051
  if deployment_controller is not None:
28880
28052
  self._values["deployment_controller"] = deployment_controller
28881
- if deployment_strategy is not None:
28882
- self._values["deployment_strategy"] = deployment_strategy
28883
28053
  if desired_count is not None:
28884
28054
  self._values["desired_count"] = desired_count
28885
28055
  if enable_ecs_managed_tags is not None:
@@ -28888,8 +28058,6 @@ class FargateServiceProps(BaseServiceOptions):
28888
28058
  self._values["enable_execute_command"] = enable_execute_command
28889
28059
  if health_check_grace_period is not None:
28890
28060
  self._values["health_check_grace_period"] = health_check_grace_period
28891
- if lifecycle_hooks is not None:
28892
- self._values["lifecycle_hooks"] = lifecycle_hooks
28893
28061
  if max_healthy_percent is not None:
28894
28062
  self._values["max_healthy_percent"] = max_healthy_percent
28895
28063
  if min_healthy_percent is not None:
@@ -28922,15 +28090,6 @@ class FargateServiceProps(BaseServiceOptions):
28922
28090
  assert result is not None, "Required property 'cluster' is missing"
28923
28091
  return typing.cast("ICluster", result)
28924
28092
 
28925
- @builtins.property
28926
- def bake_time(self) -> typing.Optional[_Duration_4839e8c3]:
28927
- '''bake time minutes for service.
28928
-
28929
- :default: - none
28930
- '''
28931
- result = self._values.get("bake_time")
28932
- return typing.cast(typing.Optional[_Duration_4839e8c3], result)
28933
-
28934
28093
  @builtins.property
28935
28094
  def capacity_provider_strategies(
28936
28095
  self,
@@ -28984,15 +28143,6 @@ class FargateServiceProps(BaseServiceOptions):
28984
28143
  result = self._values.get("deployment_controller")
28985
28144
  return typing.cast(typing.Optional[DeploymentController], result)
28986
28145
 
28987
- @builtins.property
28988
- def deployment_strategy(self) -> typing.Optional[DeploymentStrategy]:
28989
- '''The deployment strategy to use for the service.
28990
-
28991
- :default: ROLLING
28992
- '''
28993
- result = self._values.get("deployment_strategy")
28994
- return typing.cast(typing.Optional[DeploymentStrategy], result)
28995
-
28996
28146
  @builtins.property
28997
28147
  def desired_count(self) -> typing.Optional[jsii.Number]:
28998
28148
  '''The desired number of instantiations of the task definition to keep running on the service.
@@ -29035,17 +28185,6 @@ class FargateServiceProps(BaseServiceOptions):
29035
28185
  result = self._values.get("health_check_grace_period")
29036
28186
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
29037
28187
 
29038
- @builtins.property
29039
- def lifecycle_hooks(
29040
- self,
29041
- ) -> typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]]:
29042
- '''The lifecycle hooks to execute during deployment stages.
29043
-
29044
- :default: - none;
29045
- '''
29046
- result = self._values.get("lifecycle_hooks")
29047
- return typing.cast(typing.Optional[typing.List["IDeploymentLifecycleHookTarget"]], result)
29048
-
29049
28188
  @builtins.property
29050
28189
  def max_healthy_percent(self) -> typing.Optional[jsii.Number]:
29051
28190
  '''The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment.
@@ -32689,43 +31828,6 @@ class Host:
32689
31828
  )
32690
31829
 
32691
31830
 
32692
- @jsii.interface(jsii_type="aws-cdk-lib.aws_ecs.IAlternateTarget")
32693
- class IAlternateTarget(typing_extensions.Protocol):
32694
- '''Interface for configuring alternate target groups for blue/green deployments.'''
32695
-
32696
- @jsii.member(jsii_name="bind")
32697
- def bind(self, scope: _constructs_77d1e7e8.IConstruct) -> AlternateTargetConfig:
32698
- '''Bind this configuration to a service.
32699
-
32700
- :param scope: The construct scope.
32701
-
32702
- :return: The configuration to apply to the service
32703
- '''
32704
- ...
32705
-
32706
-
32707
- class _IAlternateTargetProxy:
32708
- '''Interface for configuring alternate target groups for blue/green deployments.'''
32709
-
32710
- __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_ecs.IAlternateTarget"
32711
-
32712
- @jsii.member(jsii_name="bind")
32713
- def bind(self, scope: _constructs_77d1e7e8.IConstruct) -> AlternateTargetConfig:
32714
- '''Bind this configuration to a service.
32715
-
32716
- :param scope: The construct scope.
32717
-
32718
- :return: The configuration to apply to the service
32719
- '''
32720
- if __debug__:
32721
- type_hints = typing.get_type_hints(_typecheckingstub__1f10764be69e962209020c3a7e772567f1cbc3d3673cf209506562511ce9cd0a)
32722
- check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
32723
- return typing.cast(AlternateTargetConfig, jsii.invoke(self, "bind", [scope]))
32724
-
32725
- # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
32726
- typing.cast(typing.Any, IAlternateTarget).__jsii_proxy_class__ = lambda : _IAlternateTargetProxy
32727
-
32728
-
32729
31831
  @jsii.interface(jsii_type="aws-cdk-lib.aws_ecs.ICluster")
32730
31832
  class ICluster(_IResource_c80c4260, typing_extensions.Protocol):
32731
31833
  '''A regional grouping of one or more container instances on which you can run tasks and services.'''
@@ -32854,45 +31956,6 @@ class _IClusterProxy(
32854
31956
  typing.cast(typing.Any, ICluster).__jsii_proxy_class__ = lambda : _IClusterProxy
32855
31957
 
32856
31958
 
32857
- @jsii.interface(jsii_type="aws-cdk-lib.aws_ecs.IDeploymentLifecycleHookTarget")
32858
- class IDeploymentLifecycleHookTarget(typing_extensions.Protocol):
32859
- '''Interface for deployment lifecycle hook targets.'''
32860
-
32861
- @jsii.member(jsii_name="bind")
32862
- def bind(
32863
- self,
32864
- scope: _constructs_77d1e7e8.IConstruct,
32865
- ) -> DeploymentLifecycleHookTargetConfig:
32866
- '''Bind this target to a deployment lifecycle hook.
32867
-
32868
- :param scope: The construct scope.
32869
- '''
32870
- ...
32871
-
32872
-
32873
- class _IDeploymentLifecycleHookTargetProxy:
32874
- '''Interface for deployment lifecycle hook targets.'''
32875
-
32876
- __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_ecs.IDeploymentLifecycleHookTarget"
32877
-
32878
- @jsii.member(jsii_name="bind")
32879
- def bind(
32880
- self,
32881
- scope: _constructs_77d1e7e8.IConstruct,
32882
- ) -> DeploymentLifecycleHookTargetConfig:
32883
- '''Bind this target to a deployment lifecycle hook.
32884
-
32885
- :param scope: The construct scope.
32886
- '''
32887
- if __debug__:
32888
- type_hints = typing.get_type_hints(_typecheckingstub__1cdcc51dc61399e62078243a225e42fd6901317236efebe039a9e3b36834d4b7)
32889
- check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
32890
- return typing.cast(DeploymentLifecycleHookTargetConfig, jsii.invoke(self, "bind", [scope]))
32891
-
32892
- # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
32893
- typing.cast(typing.Any, IDeploymentLifecycleHookTarget).__jsii_proxy_class__ = lambda : _IDeploymentLifecycleHookTargetProxy
32894
-
32895
-
32896
31959
  @jsii.interface(jsii_type="aws-cdk-lib.aws_ecs.IEcsLoadBalancerTarget")
32897
31960
  class IEcsLoadBalancerTarget(
32898
31961
  _IApplicationLoadBalancerTarget_fabf9003,
@@ -33967,89 +33030,6 @@ class _ListenerConfigProxy(ListenerConfig):
33967
33030
  typing.cast(typing.Any, ListenerConfig).__jsii_proxy_class__ = lambda : _ListenerConfigProxy
33968
33031
 
33969
33032
 
33970
- class ListenerRuleConfiguration(
33971
- metaclass=jsii.JSIIAbstractClass,
33972
- jsii_type="aws-cdk-lib.aws_ecs.ListenerRuleConfiguration",
33973
- ):
33974
- '''Represents a listener configuration for advanced load balancer settings.
33975
-
33976
- :exampleMetadata: infused
33977
-
33978
- Example::
33979
-
33980
- import aws_cdk.aws_lambda as lambda_
33981
-
33982
- # cluster: ecs.Cluster
33983
- # task_definition: ecs.TaskDefinition
33984
- # lambda_hook: lambda.Function
33985
- # blue_target_group: elbv2.ApplicationTargetGroup
33986
- # green_target_group: elbv2.ApplicationTargetGroup
33987
- # prod_listener_rule: elbv2.ApplicationListenerRule
33988
-
33989
-
33990
- service = ecs.FargateService(self, "Service",
33991
- cluster=cluster,
33992
- task_definition=task_definition,
33993
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
33994
- )
33995
-
33996
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
33997
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
33998
- ))
33999
-
34000
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
34001
- container_name="nginx",
34002
- container_port=80,
34003
- protocol=ecs.Protocol.TCP
34004
- ), ecs.AlternateTarget("AlternateTarget",
34005
- alternate_target_group=green_target_group,
34006
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
34007
- ))
34008
-
34009
- target.attach_to_application_target_group(blue_target_group)
34010
- '''
34011
-
34012
- def __init__(self) -> None:
34013
- jsii.create(self.__class__, self, [])
34014
-
34015
- @jsii.member(jsii_name="applicationListenerRule")
34016
- @builtins.classmethod
34017
- def application_listener_rule(
34018
- cls,
34019
- rule: _ApplicationListenerRule_f93ff606,
34020
- ) -> "ListenerRuleConfiguration":
34021
- '''Use an Application Load Balancer listener rule.
34022
-
34023
- :param rule: -
34024
- '''
34025
- if __debug__:
34026
- type_hints = typing.get_type_hints(_typecheckingstub__e4bdbe1ec0e220912f9ff8b7769875a4eebd5168734b702329f9d4600ecdb318)
34027
- check_type(argname="argument rule", value=rule, expected_type=type_hints["rule"])
34028
- return typing.cast("ListenerRuleConfiguration", jsii.sinvoke(cls, "applicationListenerRule", [rule]))
34029
-
34030
- @jsii.member(jsii_name="networkListener")
34031
- @builtins.classmethod
34032
- def network_listener(
34033
- cls,
34034
- listener: _NetworkListener_539c17bf,
34035
- ) -> "ListenerRuleConfiguration":
34036
- '''Use a Network Load Balancer listener.
34037
-
34038
- :param listener: -
34039
- '''
34040
- if __debug__:
34041
- type_hints = typing.get_type_hints(_typecheckingstub__c964a7ba26c195318cd3937b823b36facecf4120aeb9196876feb206f6f9855a)
34042
- check_type(argname="argument listener", value=listener, expected_type=type_hints["listener"])
34043
- return typing.cast("ListenerRuleConfiguration", jsii.sinvoke(cls, "networkListener", [listener]))
34044
-
34045
-
34046
- class _ListenerRuleConfigurationProxy(ListenerRuleConfiguration):
34047
- pass
34048
-
34049
- # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
34050
- typing.cast(typing.Any, ListenerRuleConfiguration).__jsii_proxy_class__ = lambda : _ListenerRuleConfigurationProxy
34051
-
34052
-
34053
33033
  @jsii.data_type(
34054
33034
  jsii_type="aws-cdk-lib.aws_ecs.LoadBalancerTargetOptions",
34055
33035
  jsii_struct_bases=[],
@@ -35736,36 +34716,34 @@ class Protocol(enum.Enum):
35736
34716
 
35737
34717
  Example::
35738
34718
 
35739
- import aws_cdk.aws_lambda as lambda_
35740
-
35741
- # cluster: ecs.Cluster
35742
34719
  # task_definition: ecs.TaskDefinition
35743
- # lambda_hook: lambda.Function
35744
- # blue_target_group: elbv2.ApplicationTargetGroup
35745
- # green_target_group: elbv2.ApplicationTargetGroup
35746
- # prod_listener_rule: elbv2.ApplicationListenerRule
34720
+ # cluster: ecs.Cluster
35747
34721
 
35748
34722
 
35749
- service = ecs.FargateService(self, "Service",
35750
- cluster=cluster,
35751
- task_definition=task_definition,
35752
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
34723
+ # Add a container to the task definition
34724
+ specific_container = task_definition.add_container("Container",
34725
+ image=ecs.ContainerImage.from_registry("/aws/aws-example-app"),
34726
+ memory_limit_mi_b=2048
35753
34727
  )
35754
34728
 
35755
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
35756
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
35757
- ))
35758
-
35759
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
35760
- container_name="nginx",
35761
- container_port=80,
34729
+ # Add a port mapping
34730
+ specific_container.add_port_mappings(
34731
+ container_port=7600,
35762
34732
  protocol=ecs.Protocol.TCP
35763
- ), ecs.AlternateTarget("AlternateTarget",
35764
- alternate_target_group=green_target_group,
35765
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
35766
- ))
34733
+ )
35767
34734
 
35768
- target.attach_to_application_target_group(blue_target_group)
34735
+ ecs.Ec2Service(self, "Service",
34736
+ cluster=cluster,
34737
+ task_definition=task_definition,
34738
+ min_healthy_percent=100,
34739
+ cloud_map_options=ecs.CloudMapOptions(
34740
+ # Create SRV records - useful for bridge networking
34741
+ dns_record_type=cloudmap.DnsRecordType.SRV,
34742
+ # Targets port TCP port 7600 `specificContainer`
34743
+ container=specific_container,
34744
+ container_port=7600
34745
+ )
34746
+ )
35769
34747
  '''
35770
34748
 
35771
34749
  TCP = "TCP"
@@ -41026,89 +40004,6 @@ class WindowsOptimizedVersion(enum.Enum):
41026
40004
  SERVER_2016 = "SERVER_2016"
41027
40005
 
41028
40006
 
41029
- @jsii.implements(IAlternateTarget)
41030
- class AlternateTarget(
41031
- metaclass=jsii.JSIIMeta,
41032
- jsii_type="aws-cdk-lib.aws_ecs.AlternateTarget",
41033
- ):
41034
- '''Configuration for alternate target groups used in blue/green deployments with load balancers.
41035
-
41036
- :exampleMetadata: infused
41037
-
41038
- Example::
41039
-
41040
- import aws_cdk.aws_lambda as lambda_
41041
-
41042
- # cluster: ecs.Cluster
41043
- # task_definition: ecs.TaskDefinition
41044
- # lambda_hook: lambda.Function
41045
- # blue_target_group: elbv2.ApplicationTargetGroup
41046
- # green_target_group: elbv2.ApplicationTargetGroup
41047
- # prod_listener_rule: elbv2.ApplicationListenerRule
41048
-
41049
-
41050
- service = ecs.FargateService(self, "Service",
41051
- cluster=cluster,
41052
- task_definition=task_definition,
41053
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
41054
- )
41055
-
41056
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
41057
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
41058
- ))
41059
-
41060
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
41061
- container_name="nginx",
41062
- container_port=80,
41063
- protocol=ecs.Protocol.TCP
41064
- ), ecs.AlternateTarget("AlternateTarget",
41065
- alternate_target_group=green_target_group,
41066
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
41067
- ))
41068
-
41069
- target.attach_to_application_target_group(blue_target_group)
41070
- '''
41071
-
41072
- def __init__(
41073
- self,
41074
- id: builtins.str,
41075
- *,
41076
- alternate_target_group: _ITargetGroup_83c6f8c4,
41077
- production_listener: ListenerRuleConfiguration,
41078
- role: typing.Optional[_IRole_235f5d8e] = None,
41079
- test_listener: typing.Optional[ListenerRuleConfiguration] = None,
41080
- ) -> None:
41081
- '''
41082
- :param id: -
41083
- :param alternate_target_group: The alternate target group.
41084
- :param production_listener: The production listener rule ARN (ALB) or listener ARN (NLB).
41085
- :param role: The IAM role for the configuration. Default: - a new role will be created
41086
- :param test_listener: The test listener configuration. Default: - none
41087
- '''
41088
- if __debug__:
41089
- type_hints = typing.get_type_hints(_typecheckingstub__aa25b044df0e4eef1817fd07bd799a88800df4e6bd79f283ca2657cfee9e4b29)
41090
- check_type(argname="argument id", value=id, expected_type=type_hints["id"])
41091
- props = AlternateTargetProps(
41092
- alternate_target_group=alternate_target_group,
41093
- production_listener=production_listener,
41094
- role=role,
41095
- test_listener=test_listener,
41096
- )
41097
-
41098
- jsii.create(self.__class__, self, [id, props])
41099
-
41100
- @jsii.member(jsii_name="bind")
41101
- def bind(self, scope: _constructs_77d1e7e8.IConstruct) -> AlternateTargetConfig:
41102
- '''Bind this configuration to a service.
41103
-
41104
- :param scope: -
41105
- '''
41106
- if __debug__:
41107
- type_hints = typing.get_type_hints(_typecheckingstub__147067753bcb82b7fc98e3b04dd99ea91c99dac8aec50a2f7076d3593aced862)
41108
- check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
41109
- return typing.cast(AlternateTargetConfig, jsii.invoke(self, "bind", [scope]))
41110
-
41111
-
41112
40007
  class AppMeshProxyConfiguration(
41113
40008
  ProxyConfiguration,
41114
40009
  metaclass=jsii.JSIIMeta,
@@ -42386,94 +41281,6 @@ class DeploymentAlarmConfig(DeploymentAlarmOptions):
42386
41281
  )
42387
41282
 
42388
41283
 
42389
- @jsii.implements(IDeploymentLifecycleHookTarget)
42390
- class DeploymentLifecycleLambdaTarget(
42391
- metaclass=jsii.JSIIMeta,
42392
- jsii_type="aws-cdk-lib.aws_ecs.DeploymentLifecycleLambdaTarget",
42393
- ):
42394
- '''Use an AWS Lambda function as a deployment lifecycle hook target.
42395
-
42396
- :exampleMetadata: infused
42397
-
42398
- Example::
42399
-
42400
- import aws_cdk.aws_lambda as lambda_
42401
-
42402
- # cluster: ecs.Cluster
42403
- # task_definition: ecs.TaskDefinition
42404
- # lambda_hook: lambda.Function
42405
- # blue_target_group: elbv2.ApplicationTargetGroup
42406
- # green_target_group: elbv2.ApplicationTargetGroup
42407
- # prod_listener_rule: elbv2.ApplicationListenerRule
42408
-
42409
-
42410
- service = ecs.FargateService(self, "Service",
42411
- cluster=cluster,
42412
- task_definition=task_definition,
42413
- deployment_strategy=ecs.DeploymentStrategy.BLUE_GREEN
42414
- )
42415
-
42416
- service.add_lifecycle_hook(ecs.DeploymentLifecycleLambdaTarget(lambda_hook, "PreScaleHook",
42417
- lifecycle_stages=[ecs.DeploymentLifecycleStage.PRE_SCALE_UP]
42418
- ))
42419
-
42420
- target = service.load_balancer_target(ecs.LoadBalancerTargetOptions(
42421
- container_name="nginx",
42422
- container_port=80,
42423
- protocol=ecs.Protocol.TCP
42424
- ), ecs.AlternateTarget("AlternateTarget",
42425
- alternate_target_group=green_target_group,
42426
- production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
42427
- ))
42428
-
42429
- target.attach_to_application_target_group(blue_target_group)
42430
- '''
42431
-
42432
- def __init__(
42433
- self,
42434
- handler: _IFunction_6adb0ab8,
42435
- id: builtins.str,
42436
- *,
42437
- lifecycle_stages: typing.Sequence[DeploymentLifecycleStage],
42438
- role: typing.Optional[_IRole_235f5d8e] = None,
42439
- ) -> None:
42440
- '''
42441
- :param handler: -
42442
- :param id: -
42443
- :param lifecycle_stages: The lifecycle stages when this hook should be executed.
42444
- :param role: The IAM role that grants permissions to invoke the lambda target. Default: - A unique role will be generated for this lambda function.
42445
- '''
42446
- if __debug__:
42447
- type_hints = typing.get_type_hints(_typecheckingstub__bddcf05621152ce6e8fd520b5a7bb98f63b4f5805beda123da1f9f542d66294e)
42448
- check_type(argname="argument handler", value=handler, expected_type=type_hints["handler"])
42449
- check_type(argname="argument id", value=id, expected_type=type_hints["id"])
42450
- props = DeploymentLifecycleLambdaTargetProps(
42451
- lifecycle_stages=lifecycle_stages, role=role
42452
- )
42453
-
42454
- jsii.create(self.__class__, self, [handler, id, props])
42455
-
42456
- @jsii.member(jsii_name="bind")
42457
- def bind(
42458
- self,
42459
- scope: _constructs_77d1e7e8.IConstruct,
42460
- ) -> DeploymentLifecycleHookTargetConfig:
42461
- '''Bind this target to a deployment lifecycle hook.
42462
-
42463
- :param scope: -
42464
- '''
42465
- if __debug__:
42466
- type_hints = typing.get_type_hints(_typecheckingstub__c6510372e5e0e0b1114c294538138af0f03ebd70441a76bddd8496eca40f2fe8)
42467
- check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
42468
- return typing.cast(DeploymentLifecycleHookTargetConfig, jsii.invoke(self, "bind", [scope]))
42469
-
42470
- @builtins.property
42471
- @jsii.member(jsii_name="role")
42472
- def role(self) -> _IRole_235f5d8e:
42473
- '''The IAM role for the deployment lifecycle hook target.'''
42474
- return typing.cast(_IRole_235f5d8e, jsii.get(self, "role"))
42475
-
42476
-
42477
41284
  class FireLensLogDriver(
42478
41285
  LogDriver,
42479
41286
  metaclass=jsii.JSIIMeta,
@@ -43159,17 +41966,6 @@ class BaseService(
43159
41966
  check_type(argname="argument service_arn", value=service_arn, expected_type=type_hints["service_arn"])
43160
41967
  return typing.cast(IBaseService, jsii.sinvoke(cls, "fromServiceArnWithCluster", [scope, id, service_arn]))
43161
41968
 
43162
- @jsii.member(jsii_name="addLifecycleHook")
43163
- def add_lifecycle_hook(self, target: IDeploymentLifecycleHookTarget) -> None:
43164
- '''Add a deployment lifecycle hook target.
43165
-
43166
- :param target: The lifecycle hook target to add.
43167
- '''
43168
- if __debug__:
43169
- type_hints = typing.get_type_hints(_typecheckingstub__480743d611a768bf60af18dc6a08c65385351ccd86b4290955b74d1541662389)
43170
- check_type(argname="argument target", value=target, expected_type=type_hints["target"])
43171
- return typing.cast(None, jsii.invoke(self, "addLifecycleHook", [target]))
43172
-
43173
41969
  @jsii.member(jsii_name="addVolume")
43174
41970
  def add_volume(self, volume: ServiceManagedVolume) -> None:
43175
41971
  '''Adds a volume to the Service.
@@ -43377,19 +42173,13 @@ class BaseService(
43377
42173
 
43378
42174
  return typing.cast(None, jsii.invoke(self, "enableServiceConnect", [config]))
43379
42175
 
43380
- @jsii.member(jsii_name="isUsingECSDeploymentController")
43381
- def is_using_ecs_deployment_controller(self) -> builtins.bool:
43382
- '''Checks if the service is using the ECS deployment controller.
43383
-
43384
- :return: true if the service is using the ECS deployment controller or if no deployment controller is specified (defaults to ECS)
43385
- '''
43386
- return typing.cast(builtins.bool, jsii.invoke(self, "isUsingECSDeploymentController", []))
43387
-
43388
42176
  @jsii.member(jsii_name="loadBalancerTarget")
43389
42177
  def load_balancer_target(
43390
42178
  self,
43391
- options: typing.Union[LoadBalancerTargetOptions, typing.Dict[builtins.str, typing.Any]],
43392
- alternate_options: typing.Optional[IAlternateTarget] = None,
42179
+ *,
42180
+ container_name: builtins.str,
42181
+ container_port: typing.Optional[jsii.Number] = None,
42182
+ protocol: typing.Optional[Protocol] = None,
43393
42183
  ) -> IEcsLoadBalancerTarget:
43394
42184
  '''Return a load balancing target for a specific container and port.
43395
42185
 
@@ -43400,8 +42190,9 @@ class BaseService(
43400
42190
  Use the return value of this function where you would normally use a load balancer
43401
42191
  target, instead of the ``Service`` object itself.
43402
42192
 
43403
- :param options: -
43404
- :param alternate_options: -
42193
+ :param container_name: The name of the container.
42194
+ :param container_port: The port number of the container. Only applicable when using application/network load balancers. Default: - Container port of the first added port mapping.
42195
+ :param protocol: The protocol used for the port mapping. Only applicable when using application load balancers. Default: Protocol.TCP
43405
42196
 
43406
42197
  Example::
43407
42198
 
@@ -43416,11 +42207,13 @@ class BaseService(
43416
42207
  )]
43417
42208
  )
43418
42209
  '''
43419
- if __debug__:
43420
- type_hints = typing.get_type_hints(_typecheckingstub__1326df14b5ec04898722ff6a20f7c785c16a07195cce2a207d19792a2ccec402)
43421
- check_type(argname="argument options", value=options, expected_type=type_hints["options"])
43422
- check_type(argname="argument alternate_options", value=alternate_options, expected_type=type_hints["alternate_options"])
43423
- return typing.cast(IEcsLoadBalancerTarget, jsii.invoke(self, "loadBalancerTarget", [options, alternate_options]))
42210
+ options = LoadBalancerTargetOptions(
42211
+ container_name=container_name,
42212
+ container_port=container_port,
42213
+ protocol=protocol,
42214
+ )
42215
+
42216
+ return typing.cast(IEcsLoadBalancerTarget, jsii.invoke(self, "loadBalancerTarget", [options]))
43424
42217
 
43425
42218
  @jsii.member(jsii_name="metric")
43426
42219
  def metric(
@@ -43793,18 +42586,15 @@ class Ec2Service(
43793
42586
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
43794
42587
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
43795
42588
  cluster: ICluster,
43796
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
43797
42589
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
43798
42590
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
43799
42591
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
43800
42592
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
43801
42593
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
43802
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
43803
42594
  desired_count: typing.Optional[jsii.Number] = None,
43804
42595
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
43805
42596
  enable_execute_command: typing.Optional[builtins.bool] = None,
43806
42597
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
43807
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
43808
42598
  max_healthy_percent: typing.Optional[jsii.Number] = None,
43809
42599
  min_healthy_percent: typing.Optional[jsii.Number] = None,
43810
42600
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -43826,18 +42616,15 @@ class Ec2Service(
43826
42616
  :param security_groups: The security groups to associate with the service. If you do not specify a security group, a new security group is created. This property is only used for tasks that use the awsvpc network mode. Default: - A new security group is created.
43827
42617
  :param vpc_subnets: The subnets to associate with the service. This property is only used for tasks that use the awsvpc network mode. Default: - Public subnets if ``assignPublicIp`` is set, otherwise the first available one of Private, Isolated, Public, in that order.
43828
42618
  :param cluster: The name of the cluster that hosts the service.
43829
- :param bake_time: bake time minutes for service. Default: - none
43830
42619
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
43831
42620
  :param circuit_breaker: Whether to enable the deployment circuit breaker. If this property is defined, circuit breaker will be implicitly enabled. Default: - disabled
43832
42621
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
43833
42622
  :param deployment_alarms: The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. Default: - No alarms will be monitored during deployment.
43834
42623
  :param deployment_controller: Specifies which deployment controller to use for the service. For more information, see `Amazon ECS Deployment Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ Default: - Rolling update (ECS)
43835
- :param deployment_strategy: The deployment strategy to use for the service. Default: ROLLING
43836
42624
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
43837
42625
  :param enable_ecs_managed_tags: Specifies whether to enable 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>`_ Default: false
43838
42626
  :param enable_execute_command: Whether to enable the ability to execute into a container. Default: - undefined
43839
42627
  :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
43840
- :param lifecycle_hooks: The lifecycle hooks to execute during deployment stages. Default: - none;
43841
42628
  :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 100 if daemon, otherwise 200
43842
42629
  :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 0 if daemon, otherwise 50
43843
42630
  :param propagate_tags: Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE Default: PropagatedTagSource.NONE
@@ -43860,18 +42647,15 @@ class Ec2Service(
43860
42647
  security_groups=security_groups,
43861
42648
  vpc_subnets=vpc_subnets,
43862
42649
  cluster=cluster,
43863
- bake_time=bake_time,
43864
42650
  capacity_provider_strategies=capacity_provider_strategies,
43865
42651
  circuit_breaker=circuit_breaker,
43866
42652
  cloud_map_options=cloud_map_options,
43867
42653
  deployment_alarms=deployment_alarms,
43868
42654
  deployment_controller=deployment_controller,
43869
- deployment_strategy=deployment_strategy,
43870
42655
  desired_count=desired_count,
43871
42656
  enable_ecs_managed_tags=enable_ecs_managed_tags,
43872
42657
  enable_execute_command=enable_execute_command,
43873
42658
  health_check_grace_period=health_check_grace_period,
43874
- lifecycle_hooks=lifecycle_hooks,
43875
42659
  max_healthy_percent=max_healthy_percent,
43876
42660
  min_healthy_percent=min_healthy_percent,
43877
42661
  propagate_tags=propagate_tags,
@@ -44300,18 +43084,15 @@ class ExternalService(
44300
43084
  daemon: typing.Optional[builtins.bool] = None,
44301
43085
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
44302
43086
  cluster: ICluster,
44303
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
44304
43087
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
44305
43088
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
44306
43089
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
44307
43090
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
44308
43091
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
44309
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
44310
43092
  desired_count: typing.Optional[jsii.Number] = None,
44311
43093
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
44312
43094
  enable_execute_command: typing.Optional[builtins.bool] = None,
44313
43095
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
44314
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
44315
43096
  max_healthy_percent: typing.Optional[jsii.Number] = None,
44316
43097
  min_healthy_percent: typing.Optional[jsii.Number] = None,
44317
43098
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -44328,18 +43109,15 @@ class ExternalService(
44328
43109
  :param daemon: By default, service use REPLICA scheduling strategy, this parameter enable DAEMON scheduling strategy. If true, the service scheduler deploys exactly one task on each container instance in your cluster. When you are using this strategy, do not specify a desired number of tasks or any task placement strategies. Tasks using the Fargate launch type or the CODE_DEPLOY or EXTERNAL deployment controller types don't support the DAEMON scheduling strategy. Default: false
44329
43110
  :param security_groups: The security groups to associate with the service. If you do not specify a security group, a new security group is created. Default: - A new security group is created.
44330
43111
  :param cluster: The name of the cluster that hosts the service.
44331
- :param bake_time: bake time minutes for service. Default: - none
44332
43112
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
44333
43113
  :param circuit_breaker: Whether to enable the deployment circuit breaker. If this property is defined, circuit breaker will be implicitly enabled. Default: - disabled
44334
43114
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
44335
43115
  :param deployment_alarms: The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. Default: - No alarms will be monitored during deployment.
44336
43116
  :param deployment_controller: Specifies which deployment controller to use for the service. For more information, see `Amazon ECS Deployment Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ Default: - Rolling update (ECS)
44337
- :param deployment_strategy: The deployment strategy to use for the service. Default: ROLLING
44338
43117
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
44339
43118
  :param enable_ecs_managed_tags: Specifies whether to enable 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>`_ Default: false
44340
43119
  :param enable_execute_command: Whether to enable the ability to execute into a container. Default: - undefined
44341
43120
  :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
44342
- :param lifecycle_hooks: The lifecycle hooks to execute during deployment stages. Default: - none;
44343
43121
  :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 100 if daemon, otherwise 200
44344
43122
  :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 0 if daemon, otherwise 50
44345
43123
  :param propagate_tags: Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE Default: PropagatedTagSource.NONE
@@ -44357,18 +43135,15 @@ class ExternalService(
44357
43135
  daemon=daemon,
44358
43136
  security_groups=security_groups,
44359
43137
  cluster=cluster,
44360
- bake_time=bake_time,
44361
43138
  capacity_provider_strategies=capacity_provider_strategies,
44362
43139
  circuit_breaker=circuit_breaker,
44363
43140
  cloud_map_options=cloud_map_options,
44364
43141
  deployment_alarms=deployment_alarms,
44365
43142
  deployment_controller=deployment_controller,
44366
- deployment_strategy=deployment_strategy,
44367
43143
  desired_count=desired_count,
44368
43144
  enable_ecs_managed_tags=enable_ecs_managed_tags,
44369
43145
  enable_execute_command=enable_execute_command,
44370
43146
  health_check_grace_period=health_check_grace_period,
44371
- lifecycle_hooks=lifecycle_hooks,
44372
43147
  max_healthy_percent=max_healthy_percent,
44373
43148
  min_healthy_percent=min_healthy_percent,
44374
43149
  propagate_tags=propagate_tags,
@@ -44542,19 +43317,24 @@ class ExternalService(
44542
43317
  @jsii.member(jsii_name="loadBalancerTarget")
44543
43318
  def load_balancer_target(
44544
43319
  self,
44545
- _options: typing.Union[LoadBalancerTargetOptions, typing.Dict[builtins.str, typing.Any]],
44546
- _alternate_options: typing.Optional[IAlternateTarget] = None,
43320
+ *,
43321
+ container_name: builtins.str,
43322
+ container_port: typing.Optional[jsii.Number] = None,
43323
+ protocol: typing.Optional[Protocol] = None,
44547
43324
  ) -> IEcsLoadBalancerTarget:
44548
43325
  '''Overridden method to throw error as ``loadBalancerTarget`` is not supported for external service.
44549
43326
 
44550
- :param _options: -
44551
- :param _alternate_options: -
43327
+ :param container_name: The name of the container.
43328
+ :param container_port: The port number of the container. Only applicable when using application/network load balancers. Default: - Container port of the first added port mapping.
43329
+ :param protocol: The protocol used for the port mapping. Only applicable when using application load balancers. Default: Protocol.TCP
44552
43330
  '''
44553
- if __debug__:
44554
- type_hints = typing.get_type_hints(_typecheckingstub__4cd24799babe0f9419c370222cff02dd9c784b1fd9b652c186a1701c0874337d)
44555
- check_type(argname="argument _options", value=_options, expected_type=type_hints["_options"])
44556
- check_type(argname="argument _alternate_options", value=_alternate_options, expected_type=type_hints["_alternate_options"])
44557
- return typing.cast(IEcsLoadBalancerTarget, jsii.invoke(self, "loadBalancerTarget", [_options, _alternate_options]))
43331
+ _options = LoadBalancerTargetOptions(
43332
+ container_name=container_name,
43333
+ container_port=container_port,
43334
+ protocol=protocol,
43335
+ )
43336
+
43337
+ return typing.cast(IEcsLoadBalancerTarget, jsii.invoke(self, "loadBalancerTarget", [_options]))
44558
43338
 
44559
43339
  @jsii.member(jsii_name="registerLoadBalancerTargets")
44560
43340
  def register_load_balancer_targets(self, *_targets: EcsTarget) -> None:
@@ -44772,18 +43552,15 @@ class FargateService(
44772
43552
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
44773
43553
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
44774
43554
  cluster: ICluster,
44775
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
44776
43555
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
44777
43556
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
44778
43557
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
44779
43558
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
44780
43559
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
44781
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
44782
43560
  desired_count: typing.Optional[jsii.Number] = None,
44783
43561
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
44784
43562
  enable_execute_command: typing.Optional[builtins.bool] = None,
44785
43563
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
44786
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
44787
43564
  max_healthy_percent: typing.Optional[jsii.Number] = None,
44788
43565
  min_healthy_percent: typing.Optional[jsii.Number] = None,
44789
43566
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -44803,18 +43580,15 @@ class FargateService(
44803
43580
  :param security_groups: The security groups to associate with the service. If you do not specify a security group, a new security group is created. Default: - A new security group is created.
44804
43581
  :param vpc_subnets: The subnets to associate with the service. Default: - Public subnets if ``assignPublicIp`` is set, otherwise the first available one of Private, Isolated, Public, in that order.
44805
43582
  :param cluster: The name of the cluster that hosts the service.
44806
- :param bake_time: bake time minutes for service. Default: - none
44807
43583
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
44808
43584
  :param circuit_breaker: Whether to enable the deployment circuit breaker. If this property is defined, circuit breaker will be implicitly enabled. Default: - disabled
44809
43585
  :param cloud_map_options: The options for configuring an Amazon ECS service to use service discovery. Default: - AWS Cloud Map service discovery is not enabled.
44810
43586
  :param deployment_alarms: The alarm(s) to monitor during deployment, and behavior to apply if at least one enters a state of alarm during the deployment or bake time. Default: - No alarms will be monitored during deployment.
44811
43587
  :param deployment_controller: Specifies which deployment controller to use for the service. For more information, see `Amazon ECS Deployment Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ Default: - Rolling update (ECS)
44812
- :param deployment_strategy: The deployment strategy to use for the service. Default: ROLLING
44813
43588
  :param desired_count: The desired number of instantiations of the task definition to keep running on the service. Default: - When creating the service, default is 1; when updating the service, default uses the current task number.
44814
43589
  :param enable_ecs_managed_tags: Specifies whether to enable 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>`_ Default: false
44815
43590
  :param enable_execute_command: Whether to enable the ability to execute into a container. Default: - undefined
44816
43591
  :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
44817
- :param lifecycle_hooks: The lifecycle hooks to execute during deployment stages. Default: - none;
44818
43592
  :param max_healthy_percent: The maximum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that can run in a service during a deployment. Default: - 100 if daemon, otherwise 200
44819
43593
  :param min_healthy_percent: The minimum number of tasks, specified as a percentage of the Amazon ECS service's DesiredCount value, that must continue to run and remain healthy during a deployment. Default: - 0 if daemon, otherwise 50
44820
43594
  :param propagate_tags: Specifies whether to propagate the tags from the task definition or the service to the tasks in the service. Valid values are: PropagatedTagSource.SERVICE, PropagatedTagSource.TASK_DEFINITION or PropagatedTagSource.NONE Default: PropagatedTagSource.NONE
@@ -44835,18 +43609,15 @@ class FargateService(
44835
43609
  security_groups=security_groups,
44836
43610
  vpc_subnets=vpc_subnets,
44837
43611
  cluster=cluster,
44838
- bake_time=bake_time,
44839
43612
  capacity_provider_strategies=capacity_provider_strategies,
44840
43613
  circuit_breaker=circuit_breaker,
44841
43614
  cloud_map_options=cloud_map_options,
44842
43615
  deployment_alarms=deployment_alarms,
44843
43616
  deployment_controller=deployment_controller,
44844
- deployment_strategy=deployment_strategy,
44845
43617
  desired_count=desired_count,
44846
43618
  enable_ecs_managed_tags=enable_ecs_managed_tags,
44847
43619
  enable_execute_command=enable_execute_command,
44848
43620
  health_check_grace_period=health_check_grace_period,
44849
- lifecycle_hooks=lifecycle_hooks,
44850
43621
  max_healthy_percent=max_healthy_percent,
44851
43622
  min_healthy_percent=min_healthy_percent,
44852
43623
  propagate_tags=propagate_tags,
@@ -45118,10 +43889,6 @@ __all__ = [
45118
43889
  "AddAutoScalingGroupCapacityOptions",
45119
43890
  "AddCapacityOptions",
45120
43891
  "AlarmBehavior",
45121
- "AlternateTarget",
45122
- "AlternateTargetConfig",
45123
- "AlternateTargetOptions",
45124
- "AlternateTargetProps",
45125
43892
  "AmiHardwareType",
45126
43893
  "AppMeshProxyConfiguration",
45127
43894
  "AppMeshProxyConfigurationConfigProps",
@@ -45190,11 +43957,6 @@ __all__ = [
45190
43957
  "DeploymentCircuitBreaker",
45191
43958
  "DeploymentController",
45192
43959
  "DeploymentControllerType",
45193
- "DeploymentLifecycleHookTargetConfig",
45194
- "DeploymentLifecycleLambdaTarget",
45195
- "DeploymentLifecycleLambdaTargetProps",
45196
- "DeploymentLifecycleStage",
45197
- "DeploymentStrategy",
45198
43960
  "Device",
45199
43961
  "DevicePermission",
45200
43962
  "DockerVolumeConfiguration",
@@ -45251,10 +44013,8 @@ __all__ = [
45251
44013
  "GenericLogDriverProps",
45252
44014
  "HealthCheck",
45253
44015
  "Host",
45254
- "IAlternateTarget",
45255
44016
  "IBaseService",
45256
44017
  "ICluster",
45257
- "IDeploymentLifecycleHookTarget",
45258
44018
  "IEc2Service",
45259
44019
  "IEc2TaskDefinition",
45260
44020
  "IEcsLoadBalancerTarget",
@@ -45275,7 +44035,6 @@ __all__ = [
45275
44035
  "LinuxParameters",
45276
44036
  "LinuxParametersProps",
45277
44037
  "ListenerConfig",
45278
- "ListenerRuleConfiguration",
45279
44038
  "LoadBalancerTargetOptions",
45280
44039
  "LogDriver",
45281
44040
  "LogDriverConfig",
@@ -45387,34 +44146,6 @@ def _typecheckingstub__64f2d9b3495e3be78346f77d5ad90928968c8ce230e670b6279dc67ad
45387
44146
  """Type checking stubs"""
45388
44147
  pass
45389
44148
 
45390
- def _typecheckingstub__792a358f64361d957b07e1ed7f1116dd993837c77bffc674ebb1385615159cd7(
45391
- *,
45392
- alternate_target_group_arn: builtins.str,
45393
- role_arn: builtins.str,
45394
- production_listener_rule: typing.Optional[builtins.str] = None,
45395
- test_listener_rule: typing.Optional[builtins.str] = None,
45396
- ) -> None:
45397
- """Type checking stubs"""
45398
- pass
45399
-
45400
- def _typecheckingstub__419cc917bedbbd0a41ca044bcc54720f5a35bdc4f2dca6e11ae40da3ed05758d(
45401
- *,
45402
- role: typing.Optional[_IRole_235f5d8e] = None,
45403
- test_listener: typing.Optional[ListenerRuleConfiguration] = None,
45404
- ) -> None:
45405
- """Type checking stubs"""
45406
- pass
45407
-
45408
- def _typecheckingstub__308a285b9e7be7ba49d4d78caf88537a973f5504d7b7519fb1fe4ab1c987b690(
45409
- *,
45410
- role: typing.Optional[_IRole_235f5d8e] = None,
45411
- test_listener: typing.Optional[ListenerRuleConfiguration] = None,
45412
- alternate_target_group: _ITargetGroup_83c6f8c4,
45413
- production_listener: ListenerRuleConfiguration,
45414
- ) -> None:
45415
- """Type checking stubs"""
45416
- pass
45417
-
45418
44149
  def _typecheckingstub__0405fe235aadd4430faf2b963e8de52a23bd867724c74f1f76995c5f208aa3e6(
45419
44150
  *,
45420
44151
  container_name: builtins.str,
@@ -45575,18 +44306,15 @@ def _typecheckingstub__47c51bc38319f21956164fb0fbe2257a72cb1269d763f8a2bf334788b
45575
44306
  def _typecheckingstub__c2e0ba28c74987301a54b0d197b791a6a94084b5f40d15304ffabf113b3f7daa(
45576
44307
  *,
45577
44308
  cluster: ICluster,
45578
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
45579
44309
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
45580
44310
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
45581
44311
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
45582
44312
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
45583
44313
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
45584
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
45585
44314
  desired_count: typing.Optional[jsii.Number] = None,
45586
44315
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
45587
44316
  enable_execute_command: typing.Optional[builtins.bool] = None,
45588
44317
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
45589
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
45590
44318
  max_healthy_percent: typing.Optional[jsii.Number] = None,
45591
44319
  min_healthy_percent: typing.Optional[jsii.Number] = None,
45592
44320
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -45601,18 +44329,15 @@ def _typecheckingstub__c2e0ba28c74987301a54b0d197b791a6a94084b5f40d15304ffabf113
45601
44329
  def _typecheckingstub__3ecfd95265b873c2042a9d5cb8465a48f9e325e2271c18461e2b266333563d84(
45602
44330
  *,
45603
44331
  cluster: ICluster,
45604
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
45605
44332
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
45606
44333
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
45607
44334
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
45608
44335
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
45609
44336
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
45610
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
45611
44337
  desired_count: typing.Optional[jsii.Number] = None,
45612
44338
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
45613
44339
  enable_execute_command: typing.Optional[builtins.bool] = None,
45614
44340
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
45615
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
45616
44341
  max_healthy_percent: typing.Optional[jsii.Number] = None,
45617
44342
  min_healthy_percent: typing.Optional[jsii.Number] = None,
45618
44343
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -47586,23 +46311,6 @@ def _typecheckingstub__919598d1dc3ec32befe4a81bbf3a26a387685443884de6cb597180866
47586
46311
  """Type checking stubs"""
47587
46312
  pass
47588
46313
 
47589
- def _typecheckingstub__58b105a4a38be4fd4e5d81c3d78a7d0fc4d3120086f0f1235d58be7e964bf172(
47590
- *,
47591
- lifecycle_stages: typing.Sequence[DeploymentLifecycleStage],
47592
- target_arn: builtins.str,
47593
- role: typing.Optional[_IRole_235f5d8e] = None,
47594
- ) -> None:
47595
- """Type checking stubs"""
47596
- pass
47597
-
47598
- def _typecheckingstub__e812b4c257c9817fdc66c09cfbc9ed6c2dae75feb52fdb91c33339837dbb883c(
47599
- *,
47600
- lifecycle_stages: typing.Sequence[DeploymentLifecycleStage],
47601
- role: typing.Optional[_IRole_235f5d8e] = None,
47602
- ) -> None:
47603
- """Type checking stubs"""
47604
- pass
47605
-
47606
46314
  def _typecheckingstub__9cd1dbc2946a0873c593d44d008c4c102f3994a3cd94676ec1816b39d1b46931(
47607
46315
  *,
47608
46316
  host_path: builtins.str,
@@ -47681,18 +46389,15 @@ def _typecheckingstub__ec9bd820dae60c0be34ffc5a5dd28bccc87947dc35dff1502ce12b80a
47681
46389
  def _typecheckingstub__95634258086aa3448fbdfd9896017a2cbeb858f382deb61186bb9e22b1ccd366(
47682
46390
  *,
47683
46391
  cluster: ICluster,
47684
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
47685
46392
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
47686
46393
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
47687
46394
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
47688
46395
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
47689
46396
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
47690
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
47691
46397
  desired_count: typing.Optional[jsii.Number] = None,
47692
46398
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
47693
46399
  enable_execute_command: typing.Optional[builtins.bool] = None,
47694
46400
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
47695
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
47696
46401
  max_healthy_percent: typing.Optional[jsii.Number] = None,
47697
46402
  min_healthy_percent: typing.Optional[jsii.Number] = None,
47698
46403
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -47887,18 +46592,15 @@ def _typecheckingstub__bb8d7316afb3715109dfb05d3b7460700437fb0490a0e47180a1c5ef5
47887
46592
  def _typecheckingstub__3cc413964caae89bfcfbcabff8356ffe5c054f46824be99731a77b64ec052a8a(
47888
46593
  *,
47889
46594
  cluster: ICluster,
47890
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
47891
46595
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
47892
46596
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
47893
46597
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
47894
46598
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
47895
46599
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
47896
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
47897
46600
  desired_count: typing.Optional[jsii.Number] = None,
47898
46601
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
47899
46602
  enable_execute_command: typing.Optional[builtins.bool] = None,
47900
46603
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
47901
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
47902
46604
  max_healthy_percent: typing.Optional[jsii.Number] = None,
47903
46605
  min_healthy_percent: typing.Optional[jsii.Number] = None,
47904
46606
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -47948,18 +46650,15 @@ def _typecheckingstub__85c0463354cc6d5a3da5daace0570a015f941bfeb87bb282346c1e2be
47948
46650
  def _typecheckingstub__8290283f61f3e2d289b7e7f81cad1a5d1e9ed9dbc07ccce2b57604682a42ded7(
47949
46651
  *,
47950
46652
  cluster: ICluster,
47951
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
47952
46653
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
47953
46654
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
47954
46655
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
47955
46656
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
47956
46657
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
47957
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
47958
46658
  desired_count: typing.Optional[jsii.Number] = None,
47959
46659
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
47960
46660
  enable_execute_command: typing.Optional[builtins.bool] = None,
47961
46661
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
47962
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
47963
46662
  max_healthy_percent: typing.Optional[jsii.Number] = None,
47964
46663
  min_healthy_percent: typing.Optional[jsii.Number] = None,
47965
46664
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -48240,18 +46939,6 @@ def _typecheckingstub__0275aca574e1acd41af17b3acaa1528dd0890542d27aeee65489bbd55
48240
46939
  """Type checking stubs"""
48241
46940
  pass
48242
46941
 
48243
- def _typecheckingstub__1f10764be69e962209020c3a7e772567f1cbc3d3673cf209506562511ce9cd0a(
48244
- scope: _constructs_77d1e7e8.IConstruct,
48245
- ) -> None:
48246
- """Type checking stubs"""
48247
- pass
48248
-
48249
- def _typecheckingstub__1cdcc51dc61399e62078243a225e42fd6901317236efebe039a9e3b36834d4b7(
48250
- scope: _constructs_77d1e7e8.IConstruct,
48251
- ) -> None:
48252
- """Type checking stubs"""
48253
- pass
48254
-
48255
46942
  def _typecheckingstub__11773db60f5e0800c7efe817fcc41dcf7af2f8e010e72471c80e23766e96c5ab(
48256
46943
  task_definition: TaskDefinition,
48257
46944
  ) -> None:
@@ -48379,18 +47066,6 @@ def _typecheckingstub__ef0bdf65f82e85f94b1db5a37b900ed9f46429089cbcb4c8d29b283f3
48379
47066
  """Type checking stubs"""
48380
47067
  pass
48381
47068
 
48382
- def _typecheckingstub__e4bdbe1ec0e220912f9ff8b7769875a4eebd5168734b702329f9d4600ecdb318(
48383
- rule: _ApplicationListenerRule_f93ff606,
48384
- ) -> None:
48385
- """Type checking stubs"""
48386
- pass
48387
-
48388
- def _typecheckingstub__c964a7ba26c195318cd3937b823b36facecf4120aeb9196876feb206f6f9855a(
48389
- listener: _NetworkListener_539c17bf,
48390
- ) -> None:
48391
- """Type checking stubs"""
48392
- pass
48393
-
48394
47069
  def _typecheckingstub__5499166a691d3d9b788ba4a9808f921437da0987c4c4733332600e4e584bf30f(
48395
47070
  *,
48396
47071
  container_name: builtins.str,
@@ -49141,23 +47816,6 @@ def _typecheckingstub__8874c61d65168e60874c9191682af53d5d88352dbfe615fd842f45b2b
49141
47816
  """Type checking stubs"""
49142
47817
  pass
49143
47818
 
49144
- def _typecheckingstub__aa25b044df0e4eef1817fd07bd799a88800df4e6bd79f283ca2657cfee9e4b29(
49145
- id: builtins.str,
49146
- *,
49147
- alternate_target_group: _ITargetGroup_83c6f8c4,
49148
- production_listener: ListenerRuleConfiguration,
49149
- role: typing.Optional[_IRole_235f5d8e] = None,
49150
- test_listener: typing.Optional[ListenerRuleConfiguration] = None,
49151
- ) -> None:
49152
- """Type checking stubs"""
49153
- pass
49154
-
49155
- def _typecheckingstub__147067753bcb82b7fc98e3b04dd99ea91c99dac8aec50a2f7076d3593aced862(
49156
- scope: _constructs_77d1e7e8.IConstruct,
49157
- ) -> None:
49158
- """Type checking stubs"""
49159
- pass
49160
-
49161
47819
  def _typecheckingstub__6aeeebc397e1073be671305f45ff0de1478d4d043824a139c5e52661f7868baf(
49162
47820
  _scope: _constructs_77d1e7e8.Construct,
49163
47821
  _task_definition: TaskDefinition,
@@ -49377,22 +48035,6 @@ def _typecheckingstub__3407e1eace0b05ee1ef50b2d7263c1462cbbc2df7bfe6d22826f0f94f
49377
48035
  """Type checking stubs"""
49378
48036
  pass
49379
48037
 
49380
- def _typecheckingstub__bddcf05621152ce6e8fd520b5a7bb98f63b4f5805beda123da1f9f542d66294e(
49381
- handler: _IFunction_6adb0ab8,
49382
- id: builtins.str,
49383
- *,
49384
- lifecycle_stages: typing.Sequence[DeploymentLifecycleStage],
49385
- role: typing.Optional[_IRole_235f5d8e] = None,
49386
- ) -> None:
49387
- """Type checking stubs"""
49388
- pass
49389
-
49390
- def _typecheckingstub__c6510372e5e0e0b1114c294538138af0f03ebd70441a76bddd8496eca40f2fe8(
49391
- scope: _constructs_77d1e7e8.IConstruct,
49392
- ) -> None:
49393
- """Type checking stubs"""
49394
- pass
49395
-
49396
48038
  def _typecheckingstub__0f3b91860780f56b42f6ab26d1855c0db28e15ef0dc9bcb868556324ed95a96b(
49397
48039
  _scope: _constructs_77d1e7e8.Construct,
49398
48040
  _container_definition: ContainerDefinition,
@@ -49453,12 +48095,6 @@ def _typecheckingstub__3cd0743b65b66534a274ff34e46f82cd780216193c08611a3b4e166e2
49453
48095
  """Type checking stubs"""
49454
48096
  pass
49455
48097
 
49456
- def _typecheckingstub__480743d611a768bf60af18dc6a08c65385351ccd86b4290955b74d1541662389(
49457
- target: IDeploymentLifecycleHookTarget,
49458
- ) -> None:
49459
- """Type checking stubs"""
49460
- pass
49461
-
49462
48098
  def _typecheckingstub__e086e1f25717ea297fd9f530033e3685af15b9de3deb30fa9b228c05f8b0bcdc(
49463
48099
  volume: ServiceManagedVolume,
49464
48100
  ) -> None:
@@ -49500,13 +48136,6 @@ def _typecheckingstub__027c7741168086e6dc84ce3b453e99740a28a87dabd7b69b28195c0b3
49500
48136
  """Type checking stubs"""
49501
48137
  pass
49502
48138
 
49503
- def _typecheckingstub__1326df14b5ec04898722ff6a20f7c785c16a07195cce2a207d19792a2ccec402(
49504
- options: typing.Union[LoadBalancerTargetOptions, typing.Dict[builtins.str, typing.Any]],
49505
- alternate_options: typing.Optional[IAlternateTarget] = None,
49506
- ) -> None:
49507
- """Type checking stubs"""
49508
- pass
49509
-
49510
48139
  def _typecheckingstub__fb3b6cd83a49e029a6aab0309e4bf6a856a09b82a0d6752ebc4b8057753a9902(
49511
48140
  metric_name: builtins.str,
49512
48141
  *,
@@ -49575,18 +48204,15 @@ def _typecheckingstub__1e578461670bd6cdf856f914534e1feff8905e31d33cd7aea2b9f5151
49575
48204
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
49576
48205
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
49577
48206
  cluster: ICluster,
49578
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
49579
48207
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
49580
48208
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
49581
48209
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
49582
48210
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
49583
48211
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
49584
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
49585
48212
  desired_count: typing.Optional[jsii.Number] = None,
49586
48213
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
49587
48214
  enable_execute_command: typing.Optional[builtins.bool] = None,
49588
48215
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
49589
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
49590
48216
  max_healthy_percent: typing.Optional[jsii.Number] = None,
49591
48217
  min_healthy_percent: typing.Optional[jsii.Number] = None,
49592
48218
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -49728,18 +48354,15 @@ def _typecheckingstub__6ceef4de126cbb6bd6f379ba0b53be2fb61c35761f50685b5d228c682
49728
48354
  daemon: typing.Optional[builtins.bool] = None,
49729
48355
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
49730
48356
  cluster: ICluster,
49731
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
49732
48357
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
49733
48358
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
49734
48359
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
49735
48360
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
49736
48361
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
49737
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
49738
48362
  desired_count: typing.Optional[jsii.Number] = None,
49739
48363
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
49740
48364
  enable_execute_command: typing.Optional[builtins.bool] = None,
49741
48365
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
49742
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
49743
48366
  max_healthy_percent: typing.Optional[jsii.Number] = None,
49744
48367
  min_healthy_percent: typing.Optional[jsii.Number] = None,
49745
48368
  propagate_tags: typing.Optional[PropagatedTagSource] = None,
@@ -49785,13 +48408,6 @@ def _typecheckingstub__6a882b6874d4ad85f277f48ab87544e61c1ded22af9e05c1fc5cf0aea
49785
48408
  """Type checking stubs"""
49786
48409
  pass
49787
48410
 
49788
- def _typecheckingstub__4cd24799babe0f9419c370222cff02dd9c784b1fd9b652c186a1701c0874337d(
49789
- _options: typing.Union[LoadBalancerTargetOptions, typing.Dict[builtins.str, typing.Any]],
49790
- _alternate_options: typing.Optional[IAlternateTarget] = None,
49791
- ) -> None:
49792
- """Type checking stubs"""
49793
- pass
49794
-
49795
48411
  def _typecheckingstub__8c04543cf19a902fa2afce6445c2c60d81551c375dc4a44e88bef45930d140e4(
49796
48412
  *_targets: EcsTarget,
49797
48413
  ) -> None:
@@ -49844,18 +48460,15 @@ def _typecheckingstub__0ddac6b19472d00f74c1777e699ce5b239dc49e62ff4ab4674c917bbe
49844
48460
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
49845
48461
  vpc_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
49846
48462
  cluster: ICluster,
49847
- bake_time: typing.Optional[_Duration_4839e8c3] = None,
49848
48463
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[CapacityProviderStrategy, typing.Dict[builtins.str, typing.Any]]]] = None,
49849
48464
  circuit_breaker: typing.Optional[typing.Union[DeploymentCircuitBreaker, typing.Dict[builtins.str, typing.Any]]] = None,
49850
48465
  cloud_map_options: typing.Optional[typing.Union[CloudMapOptions, typing.Dict[builtins.str, typing.Any]]] = None,
49851
48466
  deployment_alarms: typing.Optional[typing.Union[DeploymentAlarmConfig, typing.Dict[builtins.str, typing.Any]]] = None,
49852
48467
  deployment_controller: typing.Optional[typing.Union[DeploymentController, typing.Dict[builtins.str, typing.Any]]] = None,
49853
- deployment_strategy: typing.Optional[DeploymentStrategy] = None,
49854
48468
  desired_count: typing.Optional[jsii.Number] = None,
49855
48469
  enable_ecs_managed_tags: typing.Optional[builtins.bool] = None,
49856
48470
  enable_execute_command: typing.Optional[builtins.bool] = None,
49857
48471
  health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
49858
- lifecycle_hooks: typing.Optional[typing.Sequence[IDeploymentLifecycleHookTarget]] = None,
49859
48472
  max_healthy_percent: typing.Optional[jsii.Number] = None,
49860
48473
  min_healthy_percent: typing.Optional[jsii.Number] = None,
49861
48474
  propagate_tags: typing.Optional[PropagatedTagSource] = None,