aws-cdk-lib 2.73.0__py3-none-any.whl → 2.76.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +245 -259
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.73.0.jsii.tgz → aws-cdk-lib@2.76.0.jsii.tgz} +0 -0
- aws_cdk/aws_amplifyuibuilder/__init__.py +182 -214
- aws_cdk/aws_apigateway/__init__.py +95 -148
- aws_cdk/aws_appconfig/__init__.py +8 -4
- aws_cdk/aws_appflow/__init__.py +27 -52
- aws_cdk/aws_appmesh/__init__.py +91 -200
- aws_cdk/aws_apprunner/__init__.py +4 -16
- aws_cdk/aws_appstream/__init__.py +18 -82
- aws_cdk/aws_athena/__init__.py +18 -32
- aws_cdk/aws_backup/__init__.py +48 -86
- aws_cdk/aws_batch/__init__.py +9 -2
- aws_cdk/aws_billingconductor/__init__.py +12 -7
- aws_cdk/aws_budgets/__init__.py +8 -17
- aws_cdk/aws_certificatemanager/__init__.py +7 -4
- aws_cdk/aws_cloudfront/__init__.py +14 -11
- aws_cdk/aws_cloudfront_origins/__init__.py +18 -8
- aws_cdk/aws_cloudtrail/__init__.py +7 -14
- aws_cdk/aws_cloudwatch/__init__.py +63 -35
- aws_cdk/aws_codebuild/__init__.py +10 -13
- aws_cdk/aws_codecommit/__init__.py +0 -1
- aws_cdk/aws_codedeploy/__init__.py +165 -162
- aws_cdk/aws_codegurureviewer/__init__.py +4 -4
- aws_cdk/aws_codepipeline/__init__.py +0 -4
- aws_cdk/aws_codepipeline_actions/__init__.py +16 -164
- aws_cdk/aws_cognito/__init__.py +195 -100
- aws_cdk/aws_config/__init__.py +28 -51
- aws_cdk/aws_connectcampaigns/__init__.py +5 -6
- aws_cdk/aws_databrew/__init__.py +5 -6
- aws_cdk/aws_dlm/__init__.py +33 -71
- aws_cdk/aws_docdb/__init__.py +20 -76
- aws_cdk/aws_dynamodb/__init__.py +29 -22
- aws_cdk/aws_ec2/__init__.py +2414 -603
- aws_cdk/aws_ecr/__init__.py +1 -2
- aws_cdk/aws_ecr_assets/__init__.py +27 -14
- aws_cdk/aws_ecs/__init__.py +458 -163
- aws_cdk/aws_ecs_patterns/__init__.py +13 -11
- aws_cdk/aws_eks/__init__.py +13 -8
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -9
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +142 -82
- aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +126 -61
- aws_cdk/aws_elasticsearch/__init__.py +0 -7
- aws_cdk/aws_emr/__init__.py +7 -16
- aws_cdk/aws_emrserverless/__init__.py +14 -18
- aws_cdk/aws_events/__init__.py +33 -29
- aws_cdk/aws_events_targets/__init__.py +248 -89
- aws_cdk/aws_frauddetector/__init__.py +3 -4
- aws_cdk/aws_fsx/__init__.py +13 -7
- aws_cdk/aws_gamelift/__init__.py +11 -20
- aws_cdk/aws_grafana/__init__.py +4 -4
- aws_cdk/aws_iam/__init__.py +21 -25
- aws_cdk/aws_imagebuilder/__init__.py +58 -80
- aws_cdk/aws_internetmonitor/__init__.py +18 -10
- aws_cdk/aws_iot/__init__.py +16 -10
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +16 -26
- aws_cdk/aws_iotevents/__init__.py +6 -4
- aws_cdk/aws_iotfleetwise/__init__.py +27 -40
- aws_cdk/aws_iotsitewise/__init__.py +8 -5
- aws_cdk/aws_iotwireless/__init__.py +14 -9
- aws_cdk/aws_kinesisfirehose/__init__.py +21 -38
- aws_cdk/aws_lambda/__init__.py +76 -53
- aws_cdk/aws_lambda_event_sources/__init__.py +6 -21
- aws_cdk/aws_logs/__init__.py +5 -7
- aws_cdk/aws_macie/__init__.py +28 -23
- aws_cdk/aws_mediaconnect/__init__.py +5 -8
- aws_cdk/aws_mediaconvert/__init__.py +2 -2
- aws_cdk/aws_medialive/__init__.py +2 -4
- aws_cdk/aws_mediapackage/__init__.py +9 -18
- aws_cdk/aws_memorydb/__init__.py +5 -10
- aws_cdk/aws_mwaa/__init__.py +8 -4
- aws_cdk/aws_neptune/__init__.py +4 -4
- aws_cdk/aws_networkfirewall/__init__.py +8 -4
- aws_cdk/aws_networkmanager/__init__.py +4 -4
- aws_cdk/aws_nimblestudio/__init__.py +25 -45
- aws_cdk/aws_opensearchservice/__init__.py +0 -1
- aws_cdk/aws_panorama/__init__.py +11 -12
- aws_cdk/aws_personalize/__init__.py +46 -72
- aws_cdk/aws_pinpoint/__init__.py +36 -65
- aws_cdk/aws_quicksight/__init__.py +9972 -13374
- aws_cdk/aws_rds/__init__.py +53 -22
- aws_cdk/aws_route53/__init__.py +8 -16
- aws_cdk/aws_route53_targets/__init__.py +2 -4
- aws_cdk/aws_s3/__init__.py +41 -90
- aws_cdk/aws_s3_notifications/__init__.py +0 -3
- aws_cdk/aws_sagemaker/__init__.py +16 -10
- aws_cdk/aws_secretsmanager/__init__.py +17 -14
- aws_cdk/aws_servicecatalog/__init__.py +60 -83
- aws_cdk/aws_servicediscovery/__init__.py +4 -6
- aws_cdk/aws_ses/__init__.py +734 -28
- aws_cdk/aws_sns/__init__.py +4 -8
- aws_cdk/aws_ssm/__init__.py +19 -23
- aws_cdk/aws_ssmcontacts/__init__.py +10 -6
- aws_cdk/aws_ssmincidents/__init__.py +2 -1
- aws_cdk/aws_sso/__init__.py +4 -4
- aws_cdk/aws_stepfunctions/__init__.py +6 -15
- aws_cdk/aws_stepfunctions_tasks/__init__.py +51 -24
- aws_cdk/aws_timestream/__init__.py +22 -28
- aws_cdk/aws_transfer/__init__.py +188 -86
- aws_cdk/aws_wafv2/__init__.py +54 -38
- aws_cdk/aws_xray/__init__.py +15 -22
- aws_cdk/cloud_assembly_schema/__init__.py +14 -6
- aws_cdk/custom_resources/__init__.py +2 -3
- aws_cdk/pipelines/__init__.py +104 -134
- aws_cdk/triggers/__init__.py +46 -61
- {aws_cdk_lib-2.73.0.dist-info → aws_cdk_lib-2.76.0.dist-info}/METADATA +47 -92
- {aws_cdk_lib-2.73.0.dist-info → aws_cdk_lib-2.76.0.dist-info}/RECORD +111 -111
- {aws_cdk_lib-2.73.0.dist-info → aws_cdk_lib-2.76.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.73.0.dist-info → aws_cdk_lib-2.76.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.73.0.dist-info → aws_cdk_lib-2.76.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.73.0.dist-info → aws_cdk_lib-2.76.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ecs/__init__.py
CHANGED
|
@@ -738,22 +738,22 @@ The feature flag changes behavior for the entire CDK project. Therefore it is no
|
|
|
738
738
|
declare const cluster: ecs.Cluster;
|
|
739
739
|
|
|
740
740
|
// Import service from EC2 service attributes
|
|
741
|
-
const service = ecs.Ec2Service.fromEc2ServiceAttributes(
|
|
741
|
+
const service = ecs.Ec2Service.fromEc2ServiceAttributes(this, 'EcsService', {
|
|
742
742
|
serviceArn: 'arn:aws:ecs:us-west-2:123456789012:service/my-http-service',
|
|
743
743
|
cluster,
|
|
744
744
|
});
|
|
745
745
|
|
|
746
746
|
// Import service from EC2 service ARN
|
|
747
|
-
const service = ecs.Ec2Service.fromEc2ServiceArn(
|
|
747
|
+
const service = ecs.Ec2Service.fromEc2ServiceArn(this, 'EcsService', 'arn:aws:ecs:us-west-2:123456789012:service/my-http-service');
|
|
748
748
|
|
|
749
749
|
// Import service from Fargate service attributes
|
|
750
|
-
const service = ecs.FargateService.fromFargateServiceAttributes(
|
|
750
|
+
const service = ecs.FargateService.fromFargateServiceAttributes(this, 'EcsService', {
|
|
751
751
|
serviceArn: 'arn:aws:ecs:us-west-2:123456789012:service/my-http-service',
|
|
752
752
|
cluster,
|
|
753
753
|
});
|
|
754
754
|
|
|
755
755
|
// Import service from Fargate service ARN
|
|
756
|
-
const service = ecs.FargateService.fromFargateServiceArn(
|
|
756
|
+
const service = ecs.FargateService.fromFargateServiceArn(this, 'EcsService', 'arn:aws:ecs:us-west-2:123456789012:service/my-http-service');
|
|
757
757
|
```
|
|
758
758
|
|
|
759
759
|
## Task Auto-Scaling
|
|
@@ -1168,11 +1168,10 @@ For more information visit https://docs.aws.amazon.com/AmazonECS/latest/develope
|
|
|
1168
1168
|
When the service does not have a capacity provider strategy, the cluster's default capacity provider strategy will be used. Default Capacity Provider Strategy can be added by using the method `addDefaultCapacityProviderStrategy`. A capacity provider strategy cannot contain a mix of EC2 Autoscaling Group capacity providers and Fargate providers.
|
|
1169
1169
|
|
|
1170
1170
|
```python
|
|
1171
|
-
#
|
|
1172
|
-
# capacity_provider: ecs.CapacityProvider
|
|
1171
|
+
# capacity_provider: ecs.AsgCapacityProvider
|
|
1173
1172
|
|
|
1174
1173
|
|
|
1175
|
-
cluster = ecs.Cluster(
|
|
1174
|
+
cluster = ecs.Cluster(self, "EcsCluster",
|
|
1176
1175
|
enable_fargate_capacity_providers=True
|
|
1177
1176
|
)
|
|
1178
1177
|
cluster.add_asg_capacity_provider(capacity_provider)
|
|
@@ -1182,11 +1181,10 @@ cluster.add_default_capacity_provider_strategy([capacity_provider="FARGATE", bas
|
|
|
1182
1181
|
```
|
|
1183
1182
|
|
|
1184
1183
|
```python
|
|
1185
|
-
#
|
|
1186
|
-
# capacity_provider: ecs.CapacityProvider
|
|
1184
|
+
# capacity_provider: ecs.AsgCapacityProvider
|
|
1187
1185
|
|
|
1188
1186
|
|
|
1189
|
-
cluster = ecs.Cluster(
|
|
1187
|
+
cluster = ecs.Cluster(self, "EcsCluster",
|
|
1190
1188
|
enable_fargate_capacity_providers=True
|
|
1191
1189
|
)
|
|
1192
1190
|
cluster.add_asg_capacity_provider(capacity_provider)
|
|
@@ -1303,19 +1301,18 @@ To enable Service Connect, you must have created a CloudMap namespace. The CDK c
|
|
|
1303
1301
|
or you can specify a custom namespace. You must also have created a named port mapping on at least one container in your Task Definition.
|
|
1304
1302
|
|
|
1305
1303
|
```python
|
|
1306
|
-
# Example automatically generated from non-compiling source. May contain errors.
|
|
1307
1304
|
# cluster: ecs.Cluster
|
|
1308
1305
|
# task_definition: ecs.TaskDefinition
|
|
1309
|
-
#
|
|
1306
|
+
# container_options: ecs.ContainerDefinitionOptions
|
|
1307
|
+
|
|
1310
1308
|
|
|
1309
|
+
container = task_definition.add_container("MyContainer", container_options)
|
|
1311
1310
|
|
|
1312
1311
|
container.add_port_mappings(
|
|
1313
1312
|
name="api",
|
|
1314
1313
|
container_port=8080
|
|
1315
1314
|
)
|
|
1316
1315
|
|
|
1317
|
-
task_definition.add_container(container)
|
|
1318
|
-
|
|
1319
1316
|
cluster.add_default_cloud_map_namespace(
|
|
1320
1317
|
name="local"
|
|
1321
1318
|
)
|
|
@@ -1340,7 +1337,10 @@ be routed to the container's port 8080.
|
|
|
1340
1337
|
To opt a service into using service connect without advertising a port, simply call the 'enableServiceConnect' method on an initialized service.
|
|
1341
1338
|
|
|
1342
1339
|
```python
|
|
1343
|
-
#
|
|
1340
|
+
# cluster: ecs.Cluster
|
|
1341
|
+
# task_definition: ecs.TaskDefinition
|
|
1342
|
+
|
|
1343
|
+
|
|
1344
1344
|
service = ecs.FargateService(self, "Service",
|
|
1345
1345
|
cluster=cluster,
|
|
1346
1346
|
task_definition=task_definition
|
|
@@ -1351,12 +1351,15 @@ service.enable_service_connect()
|
|
|
1351
1351
|
Service Connect also allows custom logging, Service Discovery name, and configuration of the port where service connect traffic is received.
|
|
1352
1352
|
|
|
1353
1353
|
```python
|
|
1354
|
-
#
|
|
1354
|
+
# cluster: ecs.Cluster
|
|
1355
|
+
# task_definition: ecs.TaskDefinition
|
|
1356
|
+
|
|
1357
|
+
|
|
1355
1358
|
custom_service = ecs.FargateService(self, "CustomizedService",
|
|
1356
1359
|
cluster=cluster,
|
|
1357
1360
|
task_definition=task_definition,
|
|
1358
1361
|
service_connect_configuration=ecs.ServiceConnectProps(
|
|
1359
|
-
log_driver=ecs.LogDrivers.
|
|
1362
|
+
log_driver=ecs.LogDrivers.aws_logs(
|
|
1360
1363
|
stream_prefix="sc-traffic"
|
|
1361
1364
|
),
|
|
1362
1365
|
services=[ecs.ServiceConnectService(
|
|
@@ -1385,6 +1388,23 @@ task_definition.add_container("TheContainer",
|
|
|
1385
1388
|
pseudo_terminal=True
|
|
1386
1389
|
)
|
|
1387
1390
|
```
|
|
1391
|
+
|
|
1392
|
+
## Specify a container ulimit
|
|
1393
|
+
|
|
1394
|
+
You can specify a container `ulimits` by specifying them in the `ulimits` option while adding the container
|
|
1395
|
+
to the task definition.
|
|
1396
|
+
|
|
1397
|
+
```python
|
|
1398
|
+
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
1399
|
+
task_definition.add_container("TheContainer",
|
|
1400
|
+
image=ecs.ContainerImage.from_registry("example-image"),
|
|
1401
|
+
ulimits=[ecs.Ulimit(
|
|
1402
|
+
hard_limit=128,
|
|
1403
|
+
name=ecs.UlimitName.RSS,
|
|
1404
|
+
soft_limit=128
|
|
1405
|
+
)]
|
|
1406
|
+
)
|
|
1407
|
+
```
|
|
1388
1408
|
'''
|
|
1389
1409
|
import abc
|
|
1390
1410
|
import builtins
|
|
@@ -3234,8 +3254,12 @@ class AssetImageProps(_DockerImageAssetOptions_9580cd76):
|
|
|
3234
3254
|
|
|
3235
3255
|
Example::
|
|
3236
3256
|
|
|
3237
|
-
|
|
3238
|
-
|
|
3257
|
+
from aws_cdk import DockerBuildSecret
|
|
3258
|
+
|
|
3259
|
+
|
|
3260
|
+
build_secrets = {
|
|
3261
|
+
"MY_SECRET": DockerBuildSecret.from_src("file.txt")
|
|
3262
|
+
}
|
|
3239
3263
|
'''
|
|
3240
3264
|
result = self._values.get("build_secrets")
|
|
3241
3265
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
@@ -5078,7 +5102,7 @@ class CfnCapacityProvider(
|
|
|
5078
5102
|
|
|
5079
5103
|
:param auto_scaling_group_arn: The Amazon Resource Name (ARN) that identifies the Auto Scaling group.
|
|
5080
5104
|
:param managed_scaling: The managed scaling settings for the Auto Scaling group capacity provider.
|
|
5081
|
-
:param managed_termination_protection: The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection. The default is off. .. epigraph:: When using managed termination protection, managed scaling must also be used otherwise managed termination protection doesn't work. When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions
|
|
5105
|
+
:param managed_termination_protection: The managed termination protection setting to use for the Auto Scaling group capacity provider. This determines whether the Auto Scaling group has managed termination protection. The default is off. .. epigraph:: When using managed termination protection, managed scaling must also be used otherwise managed termination protection doesn't work. When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions on as well. For more information, see `Instance Protection <https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection>`_ in the *AWS Auto Scaling User Guide* . When managed termination protection is off, your Amazon EC2 instances aren't protected from termination when the Auto Scaling group scales in.
|
|
5082
5106
|
|
|
5083
5107
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-autoscalinggroupprovider.html
|
|
5084
5108
|
:exampleMetadata: fixture=_generated
|
|
@@ -5146,7 +5170,7 @@ class CfnCapacityProvider(
|
|
|
5146
5170
|
|
|
5147
5171
|
When using managed termination protection, managed scaling must also be used otherwise managed termination protection doesn't work.
|
|
5148
5172
|
|
|
5149
|
-
When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions
|
|
5173
|
+
When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an Auto Scaling group that contain tasks from being terminated during a scale-in action. The Auto Scaling group and each instance in the Auto Scaling group must have instance protection from scale-in actions on as well. For more information, see `Instance Protection <https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection>`_ in the *AWS Auto Scaling User Guide* .
|
|
5150
5174
|
|
|
5151
5175
|
When managed termination protection is off, your Amazon EC2 instances aren't protected from termination when the Auto Scaling group scales in.
|
|
5152
5176
|
|
|
@@ -5189,7 +5213,7 @@ class CfnCapacityProvider(
|
|
|
5189
5213
|
) -> None:
|
|
5190
5214
|
'''The managed scaling settings for the Auto Scaling group capacity provider.
|
|
5191
5215
|
|
|
5192
|
-
When managed scaling is
|
|
5216
|
+
When managed scaling is turned on, Amazon ECS manages the scale-in and scale-out actions of the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS managed CloudWatch metric with the specified ``targetCapacity`` value as the target value for the metric. For more information, see `Using managed scaling <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/asg-capacity-providers.html#asg-capacity-providers-managed-scaling>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
5193
5217
|
|
|
5194
5218
|
If managed scaling is off, the user must manage the scaling of the Auto Scaling group.
|
|
5195
5219
|
|
|
@@ -5908,8 +5932,8 @@ class CfnCluster(
|
|
|
5908
5932
|
|
|
5909
5933
|
This parameter is used to turn on CloudWatch Container Insights for a cluster.
|
|
5910
5934
|
|
|
5911
|
-
:param name: The name of the cluster setting. The
|
|
5912
|
-
:param value: The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled`` . If ``enabled``
|
|
5935
|
+
:param name: The name of the cluster setting. The value is ``containerInsights`` .
|
|
5936
|
+
:param value: The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled`` . If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled`` , CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with `PutAccountSetting <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html>`_ or `PutAccountSettingDefault <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html>`_ .
|
|
5913
5937
|
|
|
5914
5938
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html
|
|
5915
5939
|
:exampleMetadata: fixture=_generated
|
|
@@ -5939,7 +5963,7 @@ class CfnCluster(
|
|
|
5939
5963
|
def name(self) -> typing.Optional[builtins.str]:
|
|
5940
5964
|
'''The name of the cluster setting.
|
|
5941
5965
|
|
|
5942
|
-
The
|
|
5966
|
+
The value is ``containerInsights`` .
|
|
5943
5967
|
|
|
5944
5968
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html#cfn-ecs-cluster-clustersettings-name
|
|
5945
5969
|
'''
|
|
@@ -5948,9 +5972,9 @@ class CfnCluster(
|
|
|
5948
5972
|
|
|
5949
5973
|
@builtins.property
|
|
5950
5974
|
def value(self) -> typing.Optional[builtins.str]:
|
|
5951
|
-
'''The value to set for the cluster setting.
|
|
5975
|
+
'''The value to set for the cluster setting. The supported values are ``enabled`` and ``disabled`` .
|
|
5952
5976
|
|
|
5953
|
-
|
|
5977
|
+
If you set ``name`` to ``containerInsights`` and ``value`` to ``enabled`` , CloudWatch Container Insights will be on for the cluster, otherwise it will be off unless the ``containerInsights`` account setting is turned on. If a cluster value is specified, it will override the ``containerInsights`` value set with `PutAccountSetting <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSetting.html>`_ or `PutAccountSettingDefault <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAccountSettingDefault.html>`_ .
|
|
5954
5978
|
|
|
5955
5979
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-clustersettings.html#cfn-ecs-cluster-clustersettings-value
|
|
5956
5980
|
'''
|
|
@@ -6223,7 +6247,7 @@ class CfnCluster(
|
|
|
6223
6247
|
|
|
6224
6248
|
Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see `Service Connect <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
6225
6249
|
|
|
6226
|
-
:param namespace: The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration. The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include hyphens (-), tilde (~), greater than (>), less than (<), or slash (/). If you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region. If you enter a new name, a AWS Cloud Map namespace will be created. Amazon ECS creates a AWS Cloud Map namespace with the "API calls" method of instance discovery only. This instance discovery method is the "HTTP" namespace type in the AWS Command Line Interface . Other types of instance discovery aren't used by Service Connect. If you update the service with an empty string ``""`` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com
|
|
6250
|
+
:param namespace: The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace that's used when you create a service and don't specify a Service Connect configuration. The namespace name can include up to 1024 characters. The name is case-sensitive. The name can't include hyphens (-), tilde (~), greater than (>), less than (<), or slash (/). If you enter an existing namespace name or ARN, then that namespace will be used. Any namespace type is supported. The namespace must be in this account and this AWS Region. If you enter a new name, a AWS Cloud Map namespace will be created. Amazon ECS creates a AWS Cloud Map namespace with the "API calls" method of instance discovery only. This instance discovery method is the "HTTP" namespace type in the AWS Command Line Interface . Other types of instance discovery aren't used by Service Connect. If you update the service with an empty string ``""`` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html>`_ in the *AWS Cloud Map Developer Guide* .
|
|
6227
6251
|
|
|
6228
6252
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-serviceconnectdefaults.html
|
|
6229
6253
|
:exampleMetadata: fixture=_generated
|
|
@@ -6257,7 +6281,7 @@ class CfnCluster(
|
|
|
6257
6281
|
|
|
6258
6282
|
If you update the service with an empty string ``""`` for the namespace name, the cluster configuration for Service Connect is removed. Note that the namespace will remain in AWS Cloud Map and must be deleted separately.
|
|
6259
6283
|
|
|
6260
|
-
For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com
|
|
6284
|
+
For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html>`_ in the *AWS Cloud Map Developer Guide* .
|
|
6261
6285
|
|
|
6262
6286
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-serviceconnectdefaults.html#cfn-ecs-cluster-serviceconnectdefaults-namespace
|
|
6263
6287
|
'''
|
|
@@ -7239,7 +7263,7 @@ class CfnService(
|
|
|
7239
7263
|
:param deployment_controller: The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used.
|
|
7240
7264
|
:param desired_count: The number of instantiations of the specified task definition to place and keep running on your cluster. For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
|
|
7241
7265
|
:param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
7242
|
-
:param enable_execute_command: Determines whether the execute command functionality is
|
|
7266
|
+
:param enable_execute_command: Determines whether the execute command functionality is turned on for the service. If ``true`` , the execute command functionality is turned on for all containers in tasks as part of the service.
|
|
7243
7267
|
:param health_check_grace_period_seconds: 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. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used. If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see `Health check <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html>`_ . If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
|
|
7244
7268
|
:param launch_type: The launch type on which to run your service. For more information, see `Amazon ECS Launch Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
7245
7269
|
:param load_balancers: A list of load balancer objects to associate with the service. If you specify the ``Role`` property, ``LoadBalancers`` must be specified as well. For information about the number of load balancers that you can specify per service, see `Service Load Balancing <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
@@ -7254,7 +7278,7 @@ class CfnService(
|
|
|
7254
7278
|
:param service_name: The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions. .. epigraph:: The stack update fails if you change any properties that require replacement and the ``ServiceName`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceName`` must be unique in the cluster.
|
|
7255
7279
|
:param service_registries: The details of the service discovery registry to associate with this service. For more information, see `Service discovery <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html>`_ . .. epigraph:: Each service may be associated with one service registry. Multiple service registries for each service isn't supported.
|
|
7256
7280
|
:param tags: The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8 - Maximum value length - 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. - Tag keys and values are case-sensitive. - Do not use ``aws:`` , ``AWS:`` , or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
|
|
7257
|
-
:param task_definition: The ``family`` and ``revision`` ( ``family:revision`` ) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used. A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers.
|
|
7281
|
+
:param task_definition: The ``family`` and ``revision`` ( ``family:revision`` ) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used. A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers. For more information about deployment types, see `Amazon ECS deployment types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ .
|
|
7258
7282
|
'''
|
|
7259
7283
|
if __debug__:
|
|
7260
7284
|
type_hints = typing.get_type_hints(_typecheckingstub__ec1192a1d20e03deef75c7fa1457b92ecf9506c5c5df97b5a4473fc3a9a714ef)
|
|
@@ -7496,9 +7520,9 @@ class CfnService(
|
|
|
7496
7520
|
def enable_execute_command(
|
|
7497
7521
|
self,
|
|
7498
7522
|
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
7499
|
-
'''Determines whether the execute command functionality is
|
|
7523
|
+
'''Determines whether the execute command functionality is turned on for the service.
|
|
7500
7524
|
|
|
7501
|
-
If ``true`` , the execute command functionality is
|
|
7525
|
+
If ``true`` , the execute command functionality is turned on for all containers in tasks as part of the service.
|
|
7502
7526
|
|
|
7503
7527
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-enableexecutecommand
|
|
7504
7528
|
'''
|
|
@@ -7811,6 +7835,8 @@ class CfnService(
|
|
|
7811
7835
|
|
|
7812
7836
|
A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers.
|
|
7813
7837
|
|
|
7838
|
+
For more information about deployment types, see `Amazon ECS deployment types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ .
|
|
7839
|
+
|
|
7814
7840
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-taskdefinition
|
|
7815
7841
|
'''
|
|
7816
7842
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "taskDefinition"))
|
|
@@ -8147,7 +8173,7 @@ class CfnService(
|
|
|
8147
8173
|
|
|
8148
8174
|
The deployment circuit breaker can only be used for services using the rolling update ( ``ECS`` ) deployment type.
|
|
8149
8175
|
|
|
8150
|
-
The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If
|
|
8176
|
+
The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If it is turned on, a service deployment will transition to a failed state and stop launching new tasks. You can also configure Amazon ECS to roll back your service to the last completed deployment after a failure. For more information, see `Rolling update <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
8151
8177
|
|
|
8152
8178
|
:param enable: Determines whether to use the deployment circuit breaker logic for the service.
|
|
8153
8179
|
:param rollback: Determines whether to configure Amazon ECS to roll back the service if a service deployment fails. If rollback is on, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.
|
|
@@ -9072,7 +9098,7 @@ class CfnService(
|
|
|
9072
9098
|
|
|
9073
9099
|
:param enabled: Specifies whether to use Service Connect with this service.
|
|
9074
9100
|
:param log_configuration: ``CfnService.ServiceConnectConfigurationProperty.LogConfiguration``.
|
|
9075
|
-
:param namespace: The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com
|
|
9101
|
+
:param namespace: The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html>`_ in the *AWS Cloud Map Developer Guide* .
|
|
9076
9102
|
:param services: The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service. This field is not required for a "client" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means. An object selects a port from the task definition, assigns a name for the AWS Cloud Map service, and a list of aliases (endpoints) and ports for client applications to refer to this service.
|
|
9077
9103
|
|
|
9078
9104
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectconfiguration.html
|
|
@@ -9155,7 +9181,7 @@ class CfnService(
|
|
|
9155
9181
|
def namespace(self) -> typing.Optional[builtins.str]:
|
|
9156
9182
|
'''The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect.
|
|
9157
9183
|
|
|
9158
|
-
The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com
|
|
9184
|
+
The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html>`_ in the *AWS Cloud Map Developer Guide* .
|
|
9159
9185
|
|
|
9160
9186
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-serviceconnectconfiguration.html#cfn-ecs-service-serviceconnectconfiguration-namespace
|
|
9161
9187
|
'''
|
|
@@ -9502,7 +9528,7 @@ class CfnServiceProps:
|
|
|
9502
9528
|
:param deployment_controller: The deployment controller to use for the service. If no deployment controller is specified, the default value of ``ECS`` is used.
|
|
9503
9529
|
:param desired_count: The number of instantiations of the specified task definition to place and keep running on your cluster. For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
|
|
9504
9530
|
:param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
9505
|
-
:param enable_execute_command: Determines whether the execute command functionality is
|
|
9531
|
+
:param enable_execute_command: Determines whether the execute command functionality is turned on for the service. If ``true`` , the execute command functionality is turned on for all containers in tasks as part of the service.
|
|
9506
9532
|
:param health_check_grace_period_seconds: 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. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used. If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see `Health check <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html>`_ . If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
|
|
9507
9533
|
:param launch_type: The launch type on which to run your service. For more information, see `Amazon ECS Launch Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
9508
9534
|
:param load_balancers: A list of load balancer objects to associate with the service. If you specify the ``Role`` property, ``LoadBalancers`` must be specified as well. For information about the number of load balancers that you can specify per service, see `Service Load Balancing <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
@@ -9517,7 +9543,7 @@ class CfnServiceProps:
|
|
|
9517
9543
|
:param service_name: The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within a cluster, but you can have similarly named services in multiple clusters within a Region or across multiple Regions. .. epigraph:: The stack update fails if you change any properties that require replacement and the ``ServiceName`` is configured. This is because AWS CloudFormation creates the replacement service first, but each ``ServiceName`` must be unique in the cluster.
|
|
9518
9544
|
:param service_registries: The details of the service discovery registry to associate with this service. For more information, see `Service discovery <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html>`_ . .. epigraph:: Each service may be associated with one service registry. Multiple service registries for each service isn't supported.
|
|
9519
9545
|
:param tags: The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8 - Maximum value length - 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : / @. - Tag keys and values are case-sensitive. - Do not use ``aws:`` , ``AWS:`` , or any upper or lowercase combination of such as a prefix for either keys or values as it is reserved for AWS use. You cannot edit or delete tag keys or values with this prefix. Tags with this prefix do not count against your tags per resource limit.
|
|
9520
|
-
:param task_definition: The ``family`` and ``revision`` ( ``family:revision`` ) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used. A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers.
|
|
9546
|
+
:param task_definition: The ``family`` and ``revision`` ( ``family:revision`` ) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used. A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers. For more information about deployment types, see `Amazon ECS deployment types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ .
|
|
9521
9547
|
|
|
9522
9548
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html
|
|
9523
9549
|
:exampleMetadata: fixture=_generated
|
|
@@ -9782,9 +9808,9 @@ class CfnServiceProps:
|
|
|
9782
9808
|
def enable_execute_command(
|
|
9783
9809
|
self,
|
|
9784
9810
|
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
9785
|
-
'''Determines whether the execute command functionality is
|
|
9811
|
+
'''Determines whether the execute command functionality is turned on for the service.
|
|
9786
9812
|
|
|
9787
|
-
If ``true`` , the execute command functionality is
|
|
9813
|
+
If ``true`` , the execute command functionality is turned on for all containers in tasks as part of the service.
|
|
9788
9814
|
|
|
9789
9815
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-enableexecutecommand
|
|
9790
9816
|
'''
|
|
@@ -9996,6 +10022,8 @@ class CfnServiceProps:
|
|
|
9996
10022
|
|
|
9997
10023
|
A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers.
|
|
9998
10024
|
|
|
10025
|
+
For more information about deployment types, see `Amazon ECS deployment types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ .
|
|
10026
|
+
|
|
9999
10027
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-taskdefinition
|
|
10000
10028
|
'''
|
|
10001
10029
|
result = self._values.get("task_definition")
|
|
@@ -10779,8 +10807,8 @@ class CfnTaskDefinition(
|
|
|
10779
10807
|
) -> None:
|
|
10780
10808
|
'''The authorization configuration details for the Amazon EFS file system.
|
|
10781
10809
|
|
|
10782
|
-
:param access_point_id: The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the ``EFSVolumeConfiguration`` must either be omitted or set to ``/`` which will enforce the path set on the EFS access point. If an access point is used, transit encryption must be
|
|
10783
|
-
:param iam: Determines whether to use the Amazon ECS task role defined in a task definition when mounting the Amazon EFS file system. If
|
|
10810
|
+
:param access_point_id: The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the ``EFSVolumeConfiguration`` must either be omitted or set to ``/`` which will enforce the path set on the EFS access point. If an access point is used, transit encryption must be on in the ``EFSVolumeConfiguration`` . For more information, see `Working with Amazon EFS access points <https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
10811
|
+
:param iam: Determines whether to use the Amazon ECS task role defined in a task definition when mounting the Amazon EFS file system. If it is turned on, transit encryption must be turned on in the ``EFSVolumeConfiguration`` . If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Using Amazon EFS access points <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
10784
10812
|
|
|
10785
10813
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html
|
|
10786
10814
|
:exampleMetadata: fixture=_generated
|
|
@@ -10810,7 +10838,7 @@ class CfnTaskDefinition(
|
|
|
10810
10838
|
def access_point_id(self) -> typing.Optional[builtins.str]:
|
|
10811
10839
|
'''The Amazon EFS access point ID to use.
|
|
10812
10840
|
|
|
10813
|
-
If an access point is specified, the root directory value specified in the ``EFSVolumeConfiguration`` must either be omitted or set to ``/`` which will enforce the path set on the EFS access point. If an access point is used, transit encryption must be
|
|
10841
|
+
If an access point is specified, the root directory value specified in the ``EFSVolumeConfiguration`` must either be omitted or set to ``/`` which will enforce the path set on the EFS access point. If an access point is used, transit encryption must be on in the ``EFSVolumeConfiguration`` . For more information, see `Working with Amazon EFS access points <https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
10814
10842
|
|
|
10815
10843
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html#cfn-ecs-taskdefinition-authorizationconfig-accesspointid
|
|
10816
10844
|
'''
|
|
@@ -10821,7 +10849,7 @@ class CfnTaskDefinition(
|
|
|
10821
10849
|
def iam(self) -> typing.Optional[builtins.str]:
|
|
10822
10850
|
'''Determines whether to use the Amazon ECS task role defined in a task definition when mounting the Amazon EFS file system.
|
|
10823
10851
|
|
|
10824
|
-
If
|
|
10852
|
+
If it is turned on, transit encryption must be turned on in the ``EFSVolumeConfiguration`` . If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Using Amazon EFS access points <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/efs-volumes.html#efs-volume-accesspoints>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
10825
10853
|
|
|
10826
10854
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-authorizationconfig.html#cfn-ecs-taskdefinition-authorizationconfig-iam
|
|
10827
10855
|
'''
|
|
@@ -10941,7 +10969,7 @@ class CfnTaskDefinition(
|
|
|
10941
10969
|
:param dns_search_domains: A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--dns-search`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . .. epigraph:: This parameter is not supported for Windows containers.
|
|
10942
10970
|
:param dns_servers: A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--dns`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . .. epigraph:: This parameter is not supported for Windows containers.
|
|
10943
10971
|
:param docker_labels: A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--label`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'``
|
|
10944
|
-
:param docker_security_options: A list of strings to provide custom
|
|
10972
|
+
:param docker_security_options: A list of strings to provide custom configuration for multiple security systems. For more information about valid values, see `Docker Run Security Configuration <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see `Using gMSAs for Windows Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html>`_ and `Using gMSAs for Linux Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html>`_ in the *Amazon Elastic Container Service Developer Guide* . This parameter maps to ``SecurityOpt`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--security-opt`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . .. epigraph:: The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see `Amazon ECS Container Agent Configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* . For more information about valid values, see `Docker Run Security Configuration <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath"
|
|
10945
10973
|
:param entry_point: .. epigraph:: Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint`` , update your container agent or enter your commands and arguments as ``command`` array items instead. The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--entrypoint`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . For more information, see `https://docs.docker.com/engine/reference/builder/#entrypoint <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#entrypoint>`_ .
|
|
10946
10974
|
:param environment: The environment variables to pass to a container. This parameter maps to ``Env`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--env`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . .. epigraph:: We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.
|
|
10947
10975
|
:param environment_files: A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file contains an environment variable in ``VARIABLE=VALUE`` format. Lines beginning with ``#`` are treated as comments and are ignored. For more information about the environment variable file syntax, see `Declare default environment variables in file <https://docs.aws.amazon.com/https://docs.docker.com/compose/env-file/>`_ . If there are environment variables specified using the ``environment`` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see `Specifying Environment Variables <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
@@ -11378,11 +11406,13 @@ class CfnTaskDefinition(
|
|
|
11378
11406
|
|
|
11379
11407
|
@builtins.property
|
|
11380
11408
|
def docker_security_options(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
11381
|
-
'''A list of strings to provide custom
|
|
11409
|
+
'''A list of strings to provide custom configuration for multiple security systems.
|
|
11410
|
+
|
|
11411
|
+
For more information about valid values, see `Docker Run Security Configuration <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . This field isn't valid for containers in tasks using the Fargate launch type.
|
|
11382
11412
|
|
|
11383
|
-
|
|
11413
|
+
For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems.
|
|
11384
11414
|
|
|
11385
|
-
|
|
11415
|
+
For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see `Using gMSAs for Windows Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html>`_ and `Using gMSAs for Linux Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
11386
11416
|
|
|
11387
11417
|
This parameter maps to ``SecurityOpt`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--security-opt`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
|
|
11388
11418
|
.. epigraph::
|
|
@@ -12216,7 +12246,7 @@ class CfnTaskDefinition(
|
|
|
12216
12246
|
:param filesystem_id: The Amazon EFS file system ID to use.
|
|
12217
12247
|
:param authorization_config: The authorization configuration details for the Amazon EFS file system.
|
|
12218
12248
|
:param root_directory: The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter. .. epigraph:: If an EFS access point is specified in the ``authorizationConfig`` , the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.
|
|
12219
|
-
:param transit_encryption: Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be
|
|
12249
|
+
:param transit_encryption: Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Encrypting data in transit <https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
12220
12250
|
:param transit_encryption_port: The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see `EFS mount helper <https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
12221
12251
|
|
|
12222
12252
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html
|
|
@@ -12299,7 +12329,7 @@ class CfnTaskDefinition(
|
|
|
12299
12329
|
def transit_encryption(self) -> typing.Optional[builtins.str]:
|
|
12300
12330
|
'''Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server.
|
|
12301
12331
|
|
|
12302
|
-
Transit encryption must be
|
|
12332
|
+
Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Encrypting data in transit <https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html>`_ in the *Amazon Elastic File System User Guide* .
|
|
12303
12333
|
|
|
12304
12334
|
:link: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-efsvolumeconfiguration.html#cfn-ecs-taskdefinition-efsvolumeconfiguration-transitencryption
|
|
12305
12335
|
'''
|
|
@@ -12421,7 +12451,9 @@ class CfnTaskDefinition(
|
|
|
12421
12451
|
This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate . For more information, see `Fargate task storage <https://docs.aws.amazon.com/AmazonECS/latest/userguide/using_data_volumes.html>`_ in the *Amazon ECS User Guide for AWS Fargate* .
|
|
12422
12452
|
.. epigraph::
|
|
12423
12453
|
|
|
12424
|
-
|
|
12454
|
+
For tasks using the Fargate launch type, the task requires the following platforms:
|
|
12455
|
+
|
|
12456
|
+
- Linux platform version ``1.4.0`` or later.
|
|
12425
12457
|
|
|
12426
12458
|
:param size_in_gib: The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is ``21`` GiB and the maximum supported value is ``200`` GiB.
|
|
12427
12459
|
|
|
@@ -13522,7 +13554,7 @@ class CfnTaskDefinition(
|
|
|
13522
13554
|
:param app_protocol: The application protocol that's used for the port mapping. This parameter only applies to Service Connect. We recommend that you set this parameter to be consistent with the protocol that your application uses. If you set this parameter, Amazon ECS adds protocol-specific connection handling to the Service Connect proxy. If you set this parameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch. If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't add protocol-specific telemetry for TCP. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see `Service Connect <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
13523
13555
|
:param container_port: The port number on the container that's bound to the user-specified or automatically assigned host port. If you use containers in a task with the ``awsvpc`` or ``host`` network mode, specify the exposed ports using ``containerPort`` . If you use containers in a task with the ``bridge`` network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see ``hostPort`` . Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.
|
|
13524
13556
|
:param container_port_range: The port number range on the container that's bound to the dynamically mapped host port range. The following rules apply when you specify a ``containerPortRange`` : - You must use either the ``bridge`` network mode or the ``awsvpc`` network mode. - This parameter is available for both the EC2 and AWS Fargate launch types. - This parameter is available for both the Linux and Windows operating systems. - The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of the ``ecs-init`` package - You can specify a maximum of 100 port ranges per container. - You do not specify a ``hostPortRange`` . The value of the ``hostPortRange`` is set as follows: - For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort`` . This is a static mapping strategy. - For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports. - The ``containerPortRange`` valid values are between 1 and 65535. - A port can only be included in one port mapping per container. - You cannot specify overlapping port ranges. - The first port in the range must be less than last port in the range. - Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports. For more information, see `Issue #11185 <https://docs.aws.amazon.com/https://github.com/moby/moby/issues/11185>`_ on the Github website. For information about how to turn off the docker-proxy in the Docker daemon config file, see `Docker daemon <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon>`_ in the *Amazon ECS Developer Guide* . You can call ```DescribeTasks`` <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html>`_ to view the ``hostPortRange`` which are the host ports that are bound to the container ports.
|
|
13525
|
-
:param host_port: The port number on the container instance to reserve for your container. If you specify a ``containerPortRange`` , leave this field empty and the value of the ``hostPort`` is set as follows: - For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort`` . This is a static mapping strategy. - For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and
|
|
13557
|
+
:param host_port: The port number on the container instance to reserve for your container. If you specify a ``containerPortRange`` , leave this field empty and the value of the ``hostPort`` is set as follows: - For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort`` . This is a static mapping strategy. - For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and automatically binds them to the container ports. This is a dynamic mapping strategy. If you use containers in a task with the ``awsvpc`` or ``host`` network mode, the ``hostPort`` can either be left blank or set to the same value as the ``containerPort`` . If you use containers in a task with the ``bridge`` network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the ``hostPort`` (or set it to ``0`` ) while specifying a ``containerPort`` and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version. The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under ``/proc/sys/net/ipv4/ip_local_port_range`` . If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range. The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the ``remainingResources`` of `DescribeContainerInstances <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html>`_ output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.
|
|
13526
13558
|
:param name: The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter is the name that you use in the ``serviceConnectConfiguration`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. For more information, see `Service Connect <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
13527
13559
|
:param protocol: The protocol used for the port mapping. Valid values are ``tcp`` and ``udp`` . The default is ``tcp`` .
|
|
13528
13560
|
|
|
@@ -13632,7 +13664,7 @@ class CfnTaskDefinition(
|
|
|
13632
13664
|
If you specify a ``containerPortRange`` , leave this field empty and the value of the ``hostPort`` is set as follows:
|
|
13633
13665
|
|
|
13634
13666
|
- For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort`` . This is a static mapping strategy.
|
|
13635
|
-
- For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and
|
|
13667
|
+
- For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and automatically binds them to the container ports. This is a dynamic mapping strategy.
|
|
13636
13668
|
|
|
13637
13669
|
If you use containers in a task with the ``awsvpc`` or ``host`` network mode, the ``hostPort`` can either be left blank or set to the same value as the ``containerPort`` .
|
|
13638
13670
|
|
|
@@ -13859,7 +13891,7 @@ class CfnTaskDefinition(
|
|
|
13859
13891
|
def __init__(self, *, type: builtins.str, value: builtins.str) -> None:
|
|
13860
13892
|
'''The type and amount of a resource to assign to a container.
|
|
13861
13893
|
|
|
13862
|
-
The supported resource types are GPUs and Elastic Inference accelerators. For more information, see `Working with GPUs on Amazon ECS <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html>`_ or `Working with Amazon Elastic Inference on Amazon ECS <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/
|
|
13894
|
+
The supported resource types are GPUs and Elastic Inference accelerators. For more information, see `Working with GPUs on Amazon ECS <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-gpu.html>`_ or `Working with Amazon Elastic Inference on Amazon ECS <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-inference.html>`_ in the *Amazon Elastic Container Service Developer Guide*
|
|
13863
13895
|
|
|
13864
13896
|
:param type: The type of resource to assign to a container. The supported values are ``GPU`` or ``InferenceAccelerator`` .
|
|
13865
13897
|
:param value: The value for the specified resource type. If the ``GPU`` type is used, the value is the number of physical ``GPUs`` the Amazon ECS container agent reserves for the container. The number of GPUs that's reserved for all containers in a task can't exceed the number of available GPUs on the container instance that the task is launched on. If the ``InferenceAccelerator`` type is used, the ``value`` matches the ``deviceName`` for an `InferenceAccelerator <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_InferenceAccelerator.html>`_ specified in a task definition.
|
|
@@ -14170,7 +14202,7 @@ class CfnTaskDefinition(
|
|
|
14170
14202
|
type: builtins.str,
|
|
14171
14203
|
expression: typing.Optional[builtins.str] = None,
|
|
14172
14204
|
) -> None:
|
|
14173
|
-
'''
|
|
14205
|
+
'''The constraint on task placement in the task definition.
|
|
14174
14206
|
|
|
14175
14207
|
For more information, see `Task placement constraints <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
|
|
14176
14208
|
.. epigraph::
|
|
@@ -16376,19 +16408,18 @@ class CloudMapNamespaceOptions:
|
|
|
16376
16408
|
|
|
16377
16409
|
Example::
|
|
16378
16410
|
|
|
16379
|
-
# Example automatically generated from non-compiling source. May contain errors.
|
|
16380
16411
|
# cluster: ecs.Cluster
|
|
16381
16412
|
# task_definition: ecs.TaskDefinition
|
|
16382
|
-
#
|
|
16413
|
+
# container_options: ecs.ContainerDefinitionOptions
|
|
16414
|
+
|
|
16383
16415
|
|
|
16416
|
+
container = task_definition.add_container("MyContainer", container_options)
|
|
16384
16417
|
|
|
16385
16418
|
container.add_port_mappings(
|
|
16386
16419
|
name="api",
|
|
16387
16420
|
container_port=8080
|
|
16388
16421
|
)
|
|
16389
16422
|
|
|
16390
|
-
task_definition.add_container(container)
|
|
16391
|
-
|
|
16392
16423
|
cluster.add_default_cloud_map_namespace(
|
|
16393
16424
|
name="local"
|
|
16394
16425
|
)
|
|
@@ -16880,7 +16911,8 @@ class ClusterProps:
|
|
|
16880
16911
|
container_definition=container_definition,
|
|
16881
16912
|
environment=[tasks.TaskEnvironmentVariable(name="SOME_KEY", value=sfn.JsonPath.string_at("$.SomeKey"))]
|
|
16882
16913
|
)],
|
|
16883
|
-
launch_target=tasks.EcsFargateLaunchTarget()
|
|
16914
|
+
launch_target=tasks.EcsFargateLaunchTarget(),
|
|
16915
|
+
propagated_tag_source=ecs.PropagatedTagSource.TASK_DEFINITION
|
|
16884
16916
|
)
|
|
16885
16917
|
'''
|
|
16886
16918
|
if isinstance(capacity, dict):
|
|
@@ -16999,6 +17031,7 @@ class ClusterProps:
|
|
|
16999
17031
|
jsii_struct_bases=[],
|
|
17000
17032
|
name_mapping={
|
|
17001
17033
|
"task_definition_arn": "taskDefinitionArn",
|
|
17034
|
+
"execution_role": "executionRole",
|
|
17002
17035
|
"network_mode": "networkMode",
|
|
17003
17036
|
"task_role": "taskRole",
|
|
17004
17037
|
},
|
|
@@ -17008,12 +17041,14 @@ class CommonTaskDefinitionAttributes:
|
|
|
17008
17041
|
self,
|
|
17009
17042
|
*,
|
|
17010
17043
|
task_definition_arn: builtins.str,
|
|
17044
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
17011
17045
|
network_mode: typing.Optional["NetworkMode"] = None,
|
|
17012
17046
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
17013
17047
|
) -> None:
|
|
17014
17048
|
'''The common task definition attributes used across all types of task definitions.
|
|
17015
17049
|
|
|
17016
17050
|
:param task_definition_arn: The arn of the task definition.
|
|
17051
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
17017
17052
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
17018
17053
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
17019
17054
|
|
|
@@ -17032,6 +17067,7 @@ class CommonTaskDefinitionAttributes:
|
|
|
17032
17067
|
task_definition_arn="taskDefinitionArn",
|
|
17033
17068
|
|
|
17034
17069
|
# the properties below are optional
|
|
17070
|
+
execution_role=role,
|
|
17035
17071
|
network_mode=ecs.NetworkMode.NONE,
|
|
17036
17072
|
task_role=role
|
|
17037
17073
|
)
|
|
@@ -17039,11 +17075,14 @@ class CommonTaskDefinitionAttributes:
|
|
|
17039
17075
|
if __debug__:
|
|
17040
17076
|
type_hints = typing.get_type_hints(_typecheckingstub__1a458c1ea772685ddb7eb49b075e7de9bed322fac4bbee8aeab1cf6b576bc995)
|
|
17041
17077
|
check_type(argname="argument task_definition_arn", value=task_definition_arn, expected_type=type_hints["task_definition_arn"])
|
|
17078
|
+
check_type(argname="argument execution_role", value=execution_role, expected_type=type_hints["execution_role"])
|
|
17042
17079
|
check_type(argname="argument network_mode", value=network_mode, expected_type=type_hints["network_mode"])
|
|
17043
17080
|
check_type(argname="argument task_role", value=task_role, expected_type=type_hints["task_role"])
|
|
17044
17081
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
17045
17082
|
"task_definition_arn": task_definition_arn,
|
|
17046
17083
|
}
|
|
17084
|
+
if execution_role is not None:
|
|
17085
|
+
self._values["execution_role"] = execution_role
|
|
17047
17086
|
if network_mode is not None:
|
|
17048
17087
|
self._values["network_mode"] = network_mode
|
|
17049
17088
|
if task_role is not None:
|
|
@@ -17056,6 +17095,17 @@ class CommonTaskDefinitionAttributes:
|
|
|
17056
17095
|
assert result is not None, "Required property 'task_definition_arn' is missing"
|
|
17057
17096
|
return typing.cast(builtins.str, result)
|
|
17058
17097
|
|
|
17098
|
+
@builtins.property
|
|
17099
|
+
def execution_role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
17100
|
+
'''The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf.
|
|
17101
|
+
|
|
17102
|
+
Some tasks do not have an execution role.
|
|
17103
|
+
|
|
17104
|
+
:default: - undefined
|
|
17105
|
+
'''
|
|
17106
|
+
result = self._values.get("execution_role")
|
|
17107
|
+
return typing.cast(typing.Optional[_IRole_235f5d8e], result)
|
|
17108
|
+
|
|
17059
17109
|
@builtins.property
|
|
17060
17110
|
def network_mode(self) -> typing.Optional["NetworkMode"]:
|
|
17061
17111
|
'''The networking mode to use for the containers in the task.
|
|
@@ -17293,7 +17343,8 @@ class Compatibility(enum.Enum):
|
|
|
17293
17343
|
placement_constraints=[
|
|
17294
17344
|
ecs.PlacementConstraint.member_of("blieptuut")
|
|
17295
17345
|
]
|
|
17296
|
-
)
|
|
17346
|
+
),
|
|
17347
|
+
propagated_tag_source=ecs.PropagatedTagSource.TASK_DEFINITION
|
|
17297
17348
|
)
|
|
17298
17349
|
'''
|
|
17299
17350
|
|
|
@@ -17383,6 +17434,7 @@ class ContainerDefinition(
|
|
|
17383
17434
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
17384
17435
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
17385
17436
|
system_controls: typing.Optional[typing.Sequence[typing.Union["SystemControl", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
17437
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union["Ulimit", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
17386
17438
|
user: typing.Optional[builtins.str] = None,
|
|
17387
17439
|
working_directory: typing.Optional[builtins.str] = None,
|
|
17388
17440
|
) -> None:
|
|
@@ -17421,6 +17473,7 @@ class ContainerDefinition(
|
|
|
17421
17473
|
:param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. Default: - none
|
|
17422
17474
|
:param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. Default: - none
|
|
17423
17475
|
:param system_controls: A list of namespaced kernel parameters to set in the container. Default: - No system controls are set.
|
|
17476
|
+
:param ulimits: An array of ulimits to set in the container.
|
|
17424
17477
|
:param user: The user name to use inside the container. Default: root
|
|
17425
17478
|
:param working_directory: The working directory in which to run commands inside the container. Default: /
|
|
17426
17479
|
'''
|
|
@@ -17460,6 +17513,7 @@ class ContainerDefinition(
|
|
|
17460
17513
|
start_timeout=start_timeout,
|
|
17461
17514
|
stop_timeout=stop_timeout,
|
|
17462
17515
|
system_controls=system_controls,
|
|
17516
|
+
ulimits=ulimits,
|
|
17463
17517
|
user=user,
|
|
17464
17518
|
working_directory=working_directory,
|
|
17465
17519
|
)
|
|
@@ -17827,6 +17881,7 @@ class ContainerDefinition(
|
|
|
17827
17881
|
"start_timeout": "startTimeout",
|
|
17828
17882
|
"stop_timeout": "stopTimeout",
|
|
17829
17883
|
"system_controls": "systemControls",
|
|
17884
|
+
"ulimits": "ulimits",
|
|
17830
17885
|
"user": "user",
|
|
17831
17886
|
"working_directory": "workingDirectory",
|
|
17832
17887
|
},
|
|
@@ -17865,6 +17920,7 @@ class ContainerDefinitionOptions:
|
|
|
17865
17920
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
17866
17921
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
17867
17922
|
system_controls: typing.Optional[typing.Sequence[typing.Union["SystemControl", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
17923
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union["Ulimit", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
17868
17924
|
user: typing.Optional[builtins.str] = None,
|
|
17869
17925
|
working_directory: typing.Optional[builtins.str] = None,
|
|
17870
17926
|
) -> None:
|
|
@@ -17899,6 +17955,7 @@ class ContainerDefinitionOptions:
|
|
|
17899
17955
|
:param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. Default: - none
|
|
17900
17956
|
:param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. Default: - none
|
|
17901
17957
|
:param system_controls: A list of namespaced kernel parameters to set in the container. Default: - No system controls are set.
|
|
17958
|
+
:param ulimits: An array of ulimits to set in the container.
|
|
17902
17959
|
:param user: The user name to use inside the container. Default: root
|
|
17903
17960
|
:param working_directory: The working directory in which to run commands inside the container. Default: /
|
|
17904
17961
|
|
|
@@ -17968,6 +18025,7 @@ class ContainerDefinitionOptions:
|
|
|
17968
18025
|
check_type(argname="argument start_timeout", value=start_timeout, expected_type=type_hints["start_timeout"])
|
|
17969
18026
|
check_type(argname="argument stop_timeout", value=stop_timeout, expected_type=type_hints["stop_timeout"])
|
|
17970
18027
|
check_type(argname="argument system_controls", value=system_controls, expected_type=type_hints["system_controls"])
|
|
18028
|
+
check_type(argname="argument ulimits", value=ulimits, expected_type=type_hints["ulimits"])
|
|
17971
18029
|
check_type(argname="argument user", value=user, expected_type=type_hints["user"])
|
|
17972
18030
|
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
17973
18031
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
@@ -18031,6 +18089,8 @@ class ContainerDefinitionOptions:
|
|
|
18031
18089
|
self._values["stop_timeout"] = stop_timeout
|
|
18032
18090
|
if system_controls is not None:
|
|
18033
18091
|
self._values["system_controls"] = system_controls
|
|
18092
|
+
if ulimits is not None:
|
|
18093
|
+
self._values["ulimits"] = ulimits
|
|
18034
18094
|
if user is not None:
|
|
18035
18095
|
self._values["user"] = user
|
|
18036
18096
|
if working_directory is not None:
|
|
@@ -18357,6 +18417,12 @@ class ContainerDefinitionOptions:
|
|
|
18357
18417
|
result = self._values.get("system_controls")
|
|
18358
18418
|
return typing.cast(typing.Optional[typing.List["SystemControl"]], result)
|
|
18359
18419
|
|
|
18420
|
+
@builtins.property
|
|
18421
|
+
def ulimits(self) -> typing.Optional[typing.List["Ulimit"]]:
|
|
18422
|
+
'''An array of ulimits to set in the container.'''
|
|
18423
|
+
result = self._values.get("ulimits")
|
|
18424
|
+
return typing.cast(typing.Optional[typing.List["Ulimit"]], result)
|
|
18425
|
+
|
|
18360
18426
|
@builtins.property
|
|
18361
18427
|
def user(self) -> typing.Optional[builtins.str]:
|
|
18362
18428
|
'''The user name to use inside the container.
|
|
@@ -18421,6 +18487,7 @@ class ContainerDefinitionOptions:
|
|
|
18421
18487
|
"start_timeout": "startTimeout",
|
|
18422
18488
|
"stop_timeout": "stopTimeout",
|
|
18423
18489
|
"system_controls": "systemControls",
|
|
18490
|
+
"ulimits": "ulimits",
|
|
18424
18491
|
"user": "user",
|
|
18425
18492
|
"working_directory": "workingDirectory",
|
|
18426
18493
|
"task_definition": "taskDefinition",
|
|
@@ -18460,6 +18527,7 @@ class ContainerDefinitionProps(ContainerDefinitionOptions):
|
|
|
18460
18527
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
18461
18528
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
18462
18529
|
system_controls: typing.Optional[typing.Sequence[typing.Union["SystemControl", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
18530
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union["Ulimit", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
18463
18531
|
user: typing.Optional[builtins.str] = None,
|
|
18464
18532
|
working_directory: typing.Optional[builtins.str] = None,
|
|
18465
18533
|
task_definition: "TaskDefinition",
|
|
@@ -18496,6 +18564,7 @@ class ContainerDefinitionProps(ContainerDefinitionOptions):
|
|
|
18496
18564
|
:param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. Default: - none
|
|
18497
18565
|
:param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. Default: - none
|
|
18498
18566
|
:param system_controls: A list of namespaced kernel parameters to set in the container. Default: - No system controls are set.
|
|
18567
|
+
:param ulimits: An array of ulimits to set in the container.
|
|
18499
18568
|
:param user: The user name to use inside the container. Default: root
|
|
18500
18569
|
:param working_directory: The working directory in which to run commands inside the container. Default: /
|
|
18501
18570
|
:param task_definition: The name of the task definition that includes this container definition. [disable-awslint:ref-via-interface]
|
|
@@ -18578,6 +18647,11 @@ class ContainerDefinitionProps(ContainerDefinitionOptions):
|
|
|
18578
18647
|
namespace="namespace",
|
|
18579
18648
|
value="value"
|
|
18580
18649
|
)],
|
|
18650
|
+
ulimits=[ecs.Ulimit(
|
|
18651
|
+
hard_limit=123,
|
|
18652
|
+
name=ecs.UlimitName.CORE,
|
|
18653
|
+
soft_limit=123
|
|
18654
|
+
)],
|
|
18581
18655
|
user="user",
|
|
18582
18656
|
working_directory="workingDirectory"
|
|
18583
18657
|
)
|
|
@@ -18616,6 +18690,7 @@ class ContainerDefinitionProps(ContainerDefinitionOptions):
|
|
|
18616
18690
|
check_type(argname="argument start_timeout", value=start_timeout, expected_type=type_hints["start_timeout"])
|
|
18617
18691
|
check_type(argname="argument stop_timeout", value=stop_timeout, expected_type=type_hints["stop_timeout"])
|
|
18618
18692
|
check_type(argname="argument system_controls", value=system_controls, expected_type=type_hints["system_controls"])
|
|
18693
|
+
check_type(argname="argument ulimits", value=ulimits, expected_type=type_hints["ulimits"])
|
|
18619
18694
|
check_type(argname="argument user", value=user, expected_type=type_hints["user"])
|
|
18620
18695
|
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
18621
18696
|
check_type(argname="argument task_definition", value=task_definition, expected_type=type_hints["task_definition"])
|
|
@@ -18681,6 +18756,8 @@ class ContainerDefinitionProps(ContainerDefinitionOptions):
|
|
|
18681
18756
|
self._values["stop_timeout"] = stop_timeout
|
|
18682
18757
|
if system_controls is not None:
|
|
18683
18758
|
self._values["system_controls"] = system_controls
|
|
18759
|
+
if ulimits is not None:
|
|
18760
|
+
self._values["ulimits"] = ulimits
|
|
18684
18761
|
if user is not None:
|
|
18685
18762
|
self._values["user"] = user
|
|
18686
18763
|
if working_directory is not None:
|
|
@@ -19007,6 +19084,12 @@ class ContainerDefinitionProps(ContainerDefinitionOptions):
|
|
|
19007
19084
|
result = self._values.get("system_controls")
|
|
19008
19085
|
return typing.cast(typing.Optional[typing.List["SystemControl"]], result)
|
|
19009
19086
|
|
|
19087
|
+
@builtins.property
|
|
19088
|
+
def ulimits(self) -> typing.Optional[typing.List["Ulimit"]]:
|
|
19089
|
+
'''An array of ulimits to set in the container.'''
|
|
19090
|
+
result = self._values.get("ulimits")
|
|
19091
|
+
return typing.cast(typing.Optional[typing.List["Ulimit"]], result)
|
|
19092
|
+
|
|
19010
19093
|
@builtins.property
|
|
19011
19094
|
def user(self) -> typing.Optional[builtins.str]:
|
|
19012
19095
|
'''The user name to use inside the container.
|
|
@@ -19154,29 +19237,23 @@ class ContainerImage(
|
|
|
19154
19237
|
|
|
19155
19238
|
Example::
|
|
19156
19239
|
|
|
19157
|
-
|
|
19158
|
-
|
|
19159
|
-
load_balanced_fargate_service = ecs_patterns.ApplicationLoadBalancedFargateService(self, "Service",
|
|
19160
|
-
cluster=cluster,
|
|
19161
|
-
memory_limit_mi_b=1024,
|
|
19162
|
-
desired_count=1,
|
|
19163
|
-
cpu=512,
|
|
19164
|
-
task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
|
|
19165
|
-
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
|
|
19166
|
-
)
|
|
19167
|
-
)
|
|
19240
|
+
import aws_cdk as cdk
|
|
19241
|
+
import aws_cdk.aws_efs as efs
|
|
19168
19242
|
|
|
19169
|
-
|
|
19170
|
-
min_capacity=1,
|
|
19171
|
-
max_capacity=20
|
|
19172
|
-
)
|
|
19243
|
+
# my_file_system: efs.IFileSystem
|
|
19173
19244
|
|
|
19174
|
-
scalable_target.scale_on_cpu_utilization("CpuScaling",
|
|
19175
|
-
target_utilization_percent=50
|
|
19176
|
-
)
|
|
19177
19245
|
|
|
19178
|
-
|
|
19179
|
-
|
|
19246
|
+
job_defn = batch.EcsJobDefinition(self, "JobDefn",
|
|
19247
|
+
container=batch.EcsEc2ContainerDefinition(self, "containerDefn",
|
|
19248
|
+
image=ecs.ContainerImage.from_registry("public.ecr.aws/amazonlinux/amazonlinux:latest"),
|
|
19249
|
+
memory=cdk.Size.mebibytes(2048),
|
|
19250
|
+
cpu=256,
|
|
19251
|
+
volumes=[batch.EcsVolume.efs(
|
|
19252
|
+
name="myVolume",
|
|
19253
|
+
file_system=my_file_system,
|
|
19254
|
+
container_path="/Volumes/myVolume"
|
|
19255
|
+
)]
|
|
19256
|
+
)
|
|
19180
19257
|
)
|
|
19181
19258
|
'''
|
|
19182
19259
|
|
|
@@ -19692,20 +19769,31 @@ class DeploymentController:
|
|
|
19692
19769
|
|
|
19693
19770
|
Example::
|
|
19694
19771
|
|
|
19772
|
+
# my_application: codedeploy.EcsApplication
|
|
19695
19773
|
# cluster: ecs.Cluster
|
|
19774
|
+
# task_definition: ecs.FargateTaskDefinition
|
|
19775
|
+
# blue_target_group: elbv2.ITargetGroup
|
|
19776
|
+
# green_target_group: elbv2.ITargetGroup
|
|
19777
|
+
# listener: elbv2.IApplicationListener
|
|
19696
19778
|
|
|
19697
|
-
|
|
19779
|
+
|
|
19780
|
+
service = ecs.FargateService(self, "Service",
|
|
19698
19781
|
cluster=cluster,
|
|
19699
|
-
|
|
19700
|
-
desired_count=1,
|
|
19701
|
-
cpu=512,
|
|
19702
|
-
task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
|
|
19703
|
-
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
|
|
19704
|
-
),
|
|
19782
|
+
task_definition=task_definition,
|
|
19705
19783
|
deployment_controller=ecs.DeploymentController(
|
|
19706
19784
|
type=ecs.DeploymentControllerType.CODE_DEPLOY
|
|
19707
19785
|
)
|
|
19708
19786
|
)
|
|
19787
|
+
|
|
19788
|
+
codedeploy.EcsDeploymentGroup(self, "BlueGreenDG",
|
|
19789
|
+
service=service,
|
|
19790
|
+
blue_green_deployment_config=codedeploy.EcsBlueGreenDeploymentConfig(
|
|
19791
|
+
blue_target_group=blue_target_group,
|
|
19792
|
+
green_target_group=green_target_group,
|
|
19793
|
+
listener=listener
|
|
19794
|
+
),
|
|
19795
|
+
deployment_config=codedeploy.EcsDeploymentConfig.CANARY_10PERCENT_5MINUTES
|
|
19796
|
+
)
|
|
19709
19797
|
'''
|
|
19710
19798
|
if __debug__:
|
|
19711
19799
|
type_hints = typing.get_type_hints(_typecheckingstub__919598d1dc3ec32befe4a81bbf3a26a387685443884de6cb5971808667ffb28b)
|
|
@@ -19743,20 +19831,31 @@ class DeploymentControllerType(enum.Enum):
|
|
|
19743
19831
|
|
|
19744
19832
|
Example::
|
|
19745
19833
|
|
|
19834
|
+
# my_application: codedeploy.EcsApplication
|
|
19746
19835
|
# cluster: ecs.Cluster
|
|
19836
|
+
# task_definition: ecs.FargateTaskDefinition
|
|
19837
|
+
# blue_target_group: elbv2.ITargetGroup
|
|
19838
|
+
# green_target_group: elbv2.ITargetGroup
|
|
19839
|
+
# listener: elbv2.IApplicationListener
|
|
19747
19840
|
|
|
19748
|
-
|
|
19841
|
+
|
|
19842
|
+
service = ecs.FargateService(self, "Service",
|
|
19749
19843
|
cluster=cluster,
|
|
19750
|
-
|
|
19751
|
-
desired_count=1,
|
|
19752
|
-
cpu=512,
|
|
19753
|
-
task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
|
|
19754
|
-
image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
|
|
19755
|
-
),
|
|
19844
|
+
task_definition=task_definition,
|
|
19756
19845
|
deployment_controller=ecs.DeploymentController(
|
|
19757
19846
|
type=ecs.DeploymentControllerType.CODE_DEPLOY
|
|
19758
19847
|
)
|
|
19759
19848
|
)
|
|
19849
|
+
|
|
19850
|
+
codedeploy.EcsDeploymentGroup(self, "BlueGreenDG",
|
|
19851
|
+
service=service,
|
|
19852
|
+
blue_green_deployment_config=codedeploy.EcsBlueGreenDeploymentConfig(
|
|
19853
|
+
blue_target_group=blue_target_group,
|
|
19854
|
+
green_target_group=green_target_group,
|
|
19855
|
+
listener=listener
|
|
19856
|
+
),
|
|
19857
|
+
deployment_config=codedeploy.EcsDeploymentConfig.CANARY_10PERCENT_5MINUTES
|
|
19858
|
+
)
|
|
19760
19859
|
'''
|
|
19761
19860
|
|
|
19762
19861
|
ECS = "ECS"
|
|
@@ -20505,6 +20604,7 @@ class Ec2ServiceProps(BaseServiceOptions):
|
|
|
20505
20604
|
jsii_struct_bases=[CommonTaskDefinitionAttributes],
|
|
20506
20605
|
name_mapping={
|
|
20507
20606
|
"task_definition_arn": "taskDefinitionArn",
|
|
20607
|
+
"execution_role": "executionRole",
|
|
20508
20608
|
"network_mode": "networkMode",
|
|
20509
20609
|
"task_role": "taskRole",
|
|
20510
20610
|
},
|
|
@@ -20514,12 +20614,14 @@ class Ec2TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
20514
20614
|
self,
|
|
20515
20615
|
*,
|
|
20516
20616
|
task_definition_arn: builtins.str,
|
|
20617
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
20517
20618
|
network_mode: typing.Optional["NetworkMode"] = None,
|
|
20518
20619
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
20519
20620
|
) -> None:
|
|
20520
20621
|
'''Attributes used to import an existing EC2 task definition.
|
|
20521
20622
|
|
|
20522
20623
|
:param task_definition_arn: The arn of the task definition.
|
|
20624
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
20523
20625
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
20524
20626
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
20525
20627
|
|
|
@@ -20538,6 +20640,7 @@ class Ec2TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
20538
20640
|
task_definition_arn="taskDefinitionArn",
|
|
20539
20641
|
|
|
20540
20642
|
# the properties below are optional
|
|
20643
|
+
execution_role=role,
|
|
20541
20644
|
network_mode=ecs.NetworkMode.NONE,
|
|
20542
20645
|
task_role=role
|
|
20543
20646
|
)
|
|
@@ -20545,11 +20648,14 @@ class Ec2TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
20545
20648
|
if __debug__:
|
|
20546
20649
|
type_hints = typing.get_type_hints(_typecheckingstub__e90e61a002f578b0dbe160c067f2d3de15287892110df7eedcbbfa7f0c7d391d)
|
|
20547
20650
|
check_type(argname="argument task_definition_arn", value=task_definition_arn, expected_type=type_hints["task_definition_arn"])
|
|
20651
|
+
check_type(argname="argument execution_role", value=execution_role, expected_type=type_hints["execution_role"])
|
|
20548
20652
|
check_type(argname="argument network_mode", value=network_mode, expected_type=type_hints["network_mode"])
|
|
20549
20653
|
check_type(argname="argument task_role", value=task_role, expected_type=type_hints["task_role"])
|
|
20550
20654
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
20551
20655
|
"task_definition_arn": task_definition_arn,
|
|
20552
20656
|
}
|
|
20657
|
+
if execution_role is not None:
|
|
20658
|
+
self._values["execution_role"] = execution_role
|
|
20553
20659
|
if network_mode is not None:
|
|
20554
20660
|
self._values["network_mode"] = network_mode
|
|
20555
20661
|
if task_role is not None:
|
|
@@ -20562,6 +20668,17 @@ class Ec2TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
20562
20668
|
assert result is not None, "Required property 'task_definition_arn' is missing"
|
|
20563
20669
|
return typing.cast(builtins.str, result)
|
|
20564
20670
|
|
|
20671
|
+
@builtins.property
|
|
20672
|
+
def execution_role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
20673
|
+
'''The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf.
|
|
20674
|
+
|
|
20675
|
+
Some tasks do not have an execution role.
|
|
20676
|
+
|
|
20677
|
+
:default: - undefined
|
|
20678
|
+
'''
|
|
20679
|
+
result = self._values.get("execution_role")
|
|
20680
|
+
return typing.cast(typing.Optional[_IRole_235f5d8e], result)
|
|
20681
|
+
|
|
20565
20682
|
@builtins.property
|
|
20566
20683
|
def network_mode(self) -> typing.Optional["NetworkMode"]:
|
|
20567
20684
|
'''The networking mode to use for the containers in the task.
|
|
@@ -20816,20 +20933,18 @@ class EcrImage(
|
|
|
20816
20933
|
):
|
|
20817
20934
|
'''An image from an Amazon ECR repository.
|
|
20818
20935
|
|
|
20819
|
-
:exampleMetadata:
|
|
20936
|
+
:exampleMetadata: fixture=_generated
|
|
20820
20937
|
|
|
20821
20938
|
Example::
|
|
20822
20939
|
|
|
20823
|
-
|
|
20940
|
+
# The code below shows an example of how to instantiate this type.
|
|
20941
|
+
# The values are placeholders you should change.
|
|
20942
|
+
from aws_cdk import aws_ecr_assets as ecr_assets
|
|
20943
|
+
from aws_cdk import aws_ecs as ecs
|
|
20824
20944
|
|
|
20825
|
-
|
|
20826
|
-
|
|
20827
|
-
|
|
20828
|
-
secrets={
|
|
20829
|
-
"PASSWORD": ecs.Secret.from_secrets_manager(db_secret, "password")
|
|
20830
|
-
}
|
|
20831
|
-
)
|
|
20832
|
-
)
|
|
20945
|
+
# docker_image_asset: ecr_assets.DockerImageAsset
|
|
20946
|
+
|
|
20947
|
+
ecr_image = ecs.EcrImage.from_docker_image_asset(docker_image_asset)
|
|
20833
20948
|
'''
|
|
20834
20949
|
|
|
20835
20950
|
def __init__(
|
|
@@ -22238,6 +22353,7 @@ class ExternalServiceProps(BaseServiceOptions):
|
|
|
22238
22353
|
jsii_struct_bases=[CommonTaskDefinitionAttributes],
|
|
22239
22354
|
name_mapping={
|
|
22240
22355
|
"task_definition_arn": "taskDefinitionArn",
|
|
22356
|
+
"execution_role": "executionRole",
|
|
22241
22357
|
"network_mode": "networkMode",
|
|
22242
22358
|
"task_role": "taskRole",
|
|
22243
22359
|
},
|
|
@@ -22247,12 +22363,14 @@ class ExternalTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
22247
22363
|
self,
|
|
22248
22364
|
*,
|
|
22249
22365
|
task_definition_arn: builtins.str,
|
|
22366
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
22250
22367
|
network_mode: typing.Optional["NetworkMode"] = None,
|
|
22251
22368
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
22252
22369
|
) -> None:
|
|
22253
22370
|
'''Attributes used to import an existing External task definition.
|
|
22254
22371
|
|
|
22255
22372
|
:param task_definition_arn: The arn of the task definition.
|
|
22373
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
22256
22374
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
22257
22375
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
22258
22376
|
|
|
@@ -22271,6 +22389,7 @@ class ExternalTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
22271
22389
|
task_definition_arn="taskDefinitionArn",
|
|
22272
22390
|
|
|
22273
22391
|
# the properties below are optional
|
|
22392
|
+
execution_role=role,
|
|
22274
22393
|
network_mode=ecs.NetworkMode.NONE,
|
|
22275
22394
|
task_role=role
|
|
22276
22395
|
)
|
|
@@ -22278,11 +22397,14 @@ class ExternalTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
22278
22397
|
if __debug__:
|
|
22279
22398
|
type_hints = typing.get_type_hints(_typecheckingstub__2d58078e68b889d5f10f95714f42385491c26bf6ec084584b1a1487cc3acf7a2)
|
|
22280
22399
|
check_type(argname="argument task_definition_arn", value=task_definition_arn, expected_type=type_hints["task_definition_arn"])
|
|
22400
|
+
check_type(argname="argument execution_role", value=execution_role, expected_type=type_hints["execution_role"])
|
|
22281
22401
|
check_type(argname="argument network_mode", value=network_mode, expected_type=type_hints["network_mode"])
|
|
22282
22402
|
check_type(argname="argument task_role", value=task_role, expected_type=type_hints["task_role"])
|
|
22283
22403
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
22284
22404
|
"task_definition_arn": task_definition_arn,
|
|
22285
22405
|
}
|
|
22406
|
+
if execution_role is not None:
|
|
22407
|
+
self._values["execution_role"] = execution_role
|
|
22286
22408
|
if network_mode is not None:
|
|
22287
22409
|
self._values["network_mode"] = network_mode
|
|
22288
22410
|
if task_role is not None:
|
|
@@ -22295,6 +22417,17 @@ class ExternalTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
22295
22417
|
assert result is not None, "Required property 'task_definition_arn' is missing"
|
|
22296
22418
|
return typing.cast(builtins.str, result)
|
|
22297
22419
|
|
|
22420
|
+
@builtins.property
|
|
22421
|
+
def execution_role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
22422
|
+
'''The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf.
|
|
22423
|
+
|
|
22424
|
+
Some tasks do not have an execution role.
|
|
22425
|
+
|
|
22426
|
+
:default: - undefined
|
|
22427
|
+
'''
|
|
22428
|
+
result = self._values.get("execution_role")
|
|
22429
|
+
return typing.cast(typing.Optional[_IRole_235f5d8e], result)
|
|
22430
|
+
|
|
22298
22431
|
@builtins.property
|
|
22299
22432
|
def network_mode(self) -> typing.Optional["NetworkMode"]:
|
|
22300
22433
|
'''The networking mode to use for the containers in the task.
|
|
@@ -23027,6 +23160,7 @@ class FargateServiceProps(BaseServiceOptions):
|
|
|
23027
23160
|
jsii_struct_bases=[CommonTaskDefinitionAttributes],
|
|
23028
23161
|
name_mapping={
|
|
23029
23162
|
"task_definition_arn": "taskDefinitionArn",
|
|
23163
|
+
"execution_role": "executionRole",
|
|
23030
23164
|
"network_mode": "networkMode",
|
|
23031
23165
|
"task_role": "taskRole",
|
|
23032
23166
|
},
|
|
@@ -23036,12 +23170,14 @@ class FargateTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
23036
23170
|
self,
|
|
23037
23171
|
*,
|
|
23038
23172
|
task_definition_arn: builtins.str,
|
|
23173
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
23039
23174
|
network_mode: typing.Optional["NetworkMode"] = None,
|
|
23040
23175
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
23041
23176
|
) -> None:
|
|
23042
23177
|
'''Attributes used to import an existing Fargate task definition.
|
|
23043
23178
|
|
|
23044
23179
|
:param task_definition_arn: The arn of the task definition.
|
|
23180
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
23045
23181
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
23046
23182
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
23047
23183
|
|
|
@@ -23060,6 +23196,7 @@ class FargateTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
23060
23196
|
task_definition_arn="taskDefinitionArn",
|
|
23061
23197
|
|
|
23062
23198
|
# the properties below are optional
|
|
23199
|
+
execution_role=role,
|
|
23063
23200
|
network_mode=ecs.NetworkMode.NONE,
|
|
23064
23201
|
task_role=role
|
|
23065
23202
|
)
|
|
@@ -23067,11 +23204,14 @@ class FargateTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
23067
23204
|
if __debug__:
|
|
23068
23205
|
type_hints = typing.get_type_hints(_typecheckingstub__5dd329152ba42239c8e48630ce2d0477a28dd88014af62f4536ef752f002010e)
|
|
23069
23206
|
check_type(argname="argument task_definition_arn", value=task_definition_arn, expected_type=type_hints["task_definition_arn"])
|
|
23207
|
+
check_type(argname="argument execution_role", value=execution_role, expected_type=type_hints["execution_role"])
|
|
23070
23208
|
check_type(argname="argument network_mode", value=network_mode, expected_type=type_hints["network_mode"])
|
|
23071
23209
|
check_type(argname="argument task_role", value=task_role, expected_type=type_hints["task_role"])
|
|
23072
23210
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
23073
23211
|
"task_definition_arn": task_definition_arn,
|
|
23074
23212
|
}
|
|
23213
|
+
if execution_role is not None:
|
|
23214
|
+
self._values["execution_role"] = execution_role
|
|
23075
23215
|
if network_mode is not None:
|
|
23076
23216
|
self._values["network_mode"] = network_mode
|
|
23077
23217
|
if task_role is not None:
|
|
@@ -23084,6 +23224,17 @@ class FargateTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
23084
23224
|
assert result is not None, "Required property 'task_definition_arn' is missing"
|
|
23085
23225
|
return typing.cast(builtins.str, result)
|
|
23086
23226
|
|
|
23227
|
+
@builtins.property
|
|
23228
|
+
def execution_role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
23229
|
+
'''The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf.
|
|
23230
|
+
|
|
23231
|
+
Some tasks do not have an execution role.
|
|
23232
|
+
|
|
23233
|
+
:default: - undefined
|
|
23234
|
+
'''
|
|
23235
|
+
result = self._values.get("execution_role")
|
|
23236
|
+
return typing.cast(typing.Optional[_IRole_235f5d8e], result)
|
|
23237
|
+
|
|
23087
23238
|
@builtins.property
|
|
23088
23239
|
def network_mode(self) -> typing.Optional["NetworkMode"]:
|
|
23089
23240
|
'''The networking mode to use for the containers in the task.
|
|
@@ -23682,6 +23833,11 @@ class FirelensLogRouter(
|
|
|
23682
23833
|
namespace="namespace",
|
|
23683
23834
|
value="value"
|
|
23684
23835
|
)],
|
|
23836
|
+
ulimits=[ecs.Ulimit(
|
|
23837
|
+
hard_limit=123,
|
|
23838
|
+
name=ecs.UlimitName.CORE,
|
|
23839
|
+
soft_limit=123
|
|
23840
|
+
)],
|
|
23685
23841
|
user="user",
|
|
23686
23842
|
working_directory="workingDirectory"
|
|
23687
23843
|
)
|
|
@@ -23724,6 +23880,7 @@ class FirelensLogRouter(
|
|
|
23724
23880
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
23725
23881
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
23726
23882
|
system_controls: typing.Optional[typing.Sequence[typing.Union["SystemControl", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23883
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union["Ulimit", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23727
23884
|
user: typing.Optional[builtins.str] = None,
|
|
23728
23885
|
working_directory: typing.Optional[builtins.str] = None,
|
|
23729
23886
|
) -> None:
|
|
@@ -23763,6 +23920,7 @@ class FirelensLogRouter(
|
|
|
23763
23920
|
:param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. Default: - none
|
|
23764
23921
|
:param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. Default: - none
|
|
23765
23922
|
:param system_controls: A list of namespaced kernel parameters to set in the container. Default: - No system controls are set.
|
|
23923
|
+
:param ulimits: An array of ulimits to set in the container.
|
|
23766
23924
|
:param user: The user name to use inside the container. Default: root
|
|
23767
23925
|
:param working_directory: The working directory in which to run commands inside the container. Default: /
|
|
23768
23926
|
'''
|
|
@@ -23803,6 +23961,7 @@ class FirelensLogRouter(
|
|
|
23803
23961
|
start_timeout=start_timeout,
|
|
23804
23962
|
stop_timeout=stop_timeout,
|
|
23805
23963
|
system_controls=system_controls,
|
|
23964
|
+
ulimits=ulimits,
|
|
23806
23965
|
user=user,
|
|
23807
23966
|
working_directory=working_directory,
|
|
23808
23967
|
)
|
|
@@ -23864,6 +24023,7 @@ class FirelensLogRouter(
|
|
|
23864
24023
|
"start_timeout": "startTimeout",
|
|
23865
24024
|
"stop_timeout": "stopTimeout",
|
|
23866
24025
|
"system_controls": "systemControls",
|
|
24026
|
+
"ulimits": "ulimits",
|
|
23867
24027
|
"user": "user",
|
|
23868
24028
|
"working_directory": "workingDirectory",
|
|
23869
24029
|
"firelens_config": "firelensConfig",
|
|
@@ -23903,6 +24063,7 @@ class FirelensLogRouterDefinitionOptions(ContainerDefinitionOptions):
|
|
|
23903
24063
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
23904
24064
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
23905
24065
|
system_controls: typing.Optional[typing.Sequence[typing.Union["SystemControl", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
24066
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union["Ulimit", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
23906
24067
|
user: typing.Optional[builtins.str] = None,
|
|
23907
24068
|
working_directory: typing.Optional[builtins.str] = None,
|
|
23908
24069
|
firelens_config: typing.Union[FirelensConfig, typing.Dict[builtins.str, typing.Any]],
|
|
@@ -23939,6 +24100,7 @@ class FirelensLogRouterDefinitionOptions(ContainerDefinitionOptions):
|
|
|
23939
24100
|
:param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. Default: - none
|
|
23940
24101
|
:param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. Default: - none
|
|
23941
24102
|
:param system_controls: A list of namespaced kernel parameters to set in the container. Default: - No system controls are set.
|
|
24103
|
+
:param ulimits: An array of ulimits to set in the container.
|
|
23942
24104
|
:param user: The user name to use inside the container. Default: root
|
|
23943
24105
|
:param working_directory: The working directory in which to run commands inside the container. Default: /
|
|
23944
24106
|
:param firelens_config: Firelens configuration.
|
|
@@ -24029,6 +24191,11 @@ class FirelensLogRouterDefinitionOptions(ContainerDefinitionOptions):
|
|
|
24029
24191
|
namespace="namespace",
|
|
24030
24192
|
value="value"
|
|
24031
24193
|
)],
|
|
24194
|
+
ulimits=[ecs.Ulimit(
|
|
24195
|
+
hard_limit=123,
|
|
24196
|
+
name=ecs.UlimitName.CORE,
|
|
24197
|
+
soft_limit=123
|
|
24198
|
+
)],
|
|
24032
24199
|
user="user",
|
|
24033
24200
|
working_directory="workingDirectory"
|
|
24034
24201
|
)
|
|
@@ -24069,6 +24236,7 @@ class FirelensLogRouterDefinitionOptions(ContainerDefinitionOptions):
|
|
|
24069
24236
|
check_type(argname="argument start_timeout", value=start_timeout, expected_type=type_hints["start_timeout"])
|
|
24070
24237
|
check_type(argname="argument stop_timeout", value=stop_timeout, expected_type=type_hints["stop_timeout"])
|
|
24071
24238
|
check_type(argname="argument system_controls", value=system_controls, expected_type=type_hints["system_controls"])
|
|
24239
|
+
check_type(argname="argument ulimits", value=ulimits, expected_type=type_hints["ulimits"])
|
|
24072
24240
|
check_type(argname="argument user", value=user, expected_type=type_hints["user"])
|
|
24073
24241
|
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
24074
24242
|
check_type(argname="argument firelens_config", value=firelens_config, expected_type=type_hints["firelens_config"])
|
|
@@ -24134,6 +24302,8 @@ class FirelensLogRouterDefinitionOptions(ContainerDefinitionOptions):
|
|
|
24134
24302
|
self._values["stop_timeout"] = stop_timeout
|
|
24135
24303
|
if system_controls is not None:
|
|
24136
24304
|
self._values["system_controls"] = system_controls
|
|
24305
|
+
if ulimits is not None:
|
|
24306
|
+
self._values["ulimits"] = ulimits
|
|
24137
24307
|
if user is not None:
|
|
24138
24308
|
self._values["user"] = user
|
|
24139
24309
|
if working_directory is not None:
|
|
@@ -24460,6 +24630,12 @@ class FirelensLogRouterDefinitionOptions(ContainerDefinitionOptions):
|
|
|
24460
24630
|
result = self._values.get("system_controls")
|
|
24461
24631
|
return typing.cast(typing.Optional[typing.List["SystemControl"]], result)
|
|
24462
24632
|
|
|
24633
|
+
@builtins.property
|
|
24634
|
+
def ulimits(self) -> typing.Optional[typing.List["Ulimit"]]:
|
|
24635
|
+
'''An array of ulimits to set in the container.'''
|
|
24636
|
+
result = self._values.get("ulimits")
|
|
24637
|
+
return typing.cast(typing.Optional[typing.List["Ulimit"]], result)
|
|
24638
|
+
|
|
24463
24639
|
@builtins.property
|
|
24464
24640
|
def user(self) -> typing.Optional[builtins.str]:
|
|
24465
24641
|
'''The user name to use inside the container.
|
|
@@ -24531,6 +24707,7 @@ class FirelensLogRouterDefinitionOptions(ContainerDefinitionOptions):
|
|
|
24531
24707
|
"start_timeout": "startTimeout",
|
|
24532
24708
|
"stop_timeout": "stopTimeout",
|
|
24533
24709
|
"system_controls": "systemControls",
|
|
24710
|
+
"ulimits": "ulimits",
|
|
24534
24711
|
"user": "user",
|
|
24535
24712
|
"working_directory": "workingDirectory",
|
|
24536
24713
|
"task_definition": "taskDefinition",
|
|
@@ -24571,6 +24748,7 @@ class FirelensLogRouterProps(ContainerDefinitionProps):
|
|
|
24571
24748
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
24572
24749
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
24573
24750
|
system_controls: typing.Optional[typing.Sequence[typing.Union["SystemControl", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
24751
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union["Ulimit", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
24574
24752
|
user: typing.Optional[builtins.str] = None,
|
|
24575
24753
|
working_directory: typing.Optional[builtins.str] = None,
|
|
24576
24754
|
task_definition: "TaskDefinition",
|
|
@@ -24608,6 +24786,7 @@ class FirelensLogRouterProps(ContainerDefinitionProps):
|
|
|
24608
24786
|
:param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. Default: - none
|
|
24609
24787
|
:param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. Default: - none
|
|
24610
24788
|
:param system_controls: A list of namespaced kernel parameters to set in the container. Default: - No system controls are set.
|
|
24789
|
+
:param ulimits: An array of ulimits to set in the container.
|
|
24611
24790
|
:param user: The user name to use inside the container. Default: root
|
|
24612
24791
|
:param working_directory: The working directory in which to run commands inside the container. Default: /
|
|
24613
24792
|
:param task_definition: The name of the task definition that includes this container definition. [disable-awslint:ref-via-interface]
|
|
@@ -24701,6 +24880,11 @@ class FirelensLogRouterProps(ContainerDefinitionProps):
|
|
|
24701
24880
|
namespace="namespace",
|
|
24702
24881
|
value="value"
|
|
24703
24882
|
)],
|
|
24883
|
+
ulimits=[ecs.Ulimit(
|
|
24884
|
+
hard_limit=123,
|
|
24885
|
+
name=ecs.UlimitName.CORE,
|
|
24886
|
+
soft_limit=123
|
|
24887
|
+
)],
|
|
24704
24888
|
user="user",
|
|
24705
24889
|
working_directory="workingDirectory"
|
|
24706
24890
|
)
|
|
@@ -24741,6 +24925,7 @@ class FirelensLogRouterProps(ContainerDefinitionProps):
|
|
|
24741
24925
|
check_type(argname="argument start_timeout", value=start_timeout, expected_type=type_hints["start_timeout"])
|
|
24742
24926
|
check_type(argname="argument stop_timeout", value=stop_timeout, expected_type=type_hints["stop_timeout"])
|
|
24743
24927
|
check_type(argname="argument system_controls", value=system_controls, expected_type=type_hints["system_controls"])
|
|
24928
|
+
check_type(argname="argument ulimits", value=ulimits, expected_type=type_hints["ulimits"])
|
|
24744
24929
|
check_type(argname="argument user", value=user, expected_type=type_hints["user"])
|
|
24745
24930
|
check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
|
|
24746
24931
|
check_type(argname="argument task_definition", value=task_definition, expected_type=type_hints["task_definition"])
|
|
@@ -24808,6 +24993,8 @@ class FirelensLogRouterProps(ContainerDefinitionProps):
|
|
|
24808
24993
|
self._values["stop_timeout"] = stop_timeout
|
|
24809
24994
|
if system_controls is not None:
|
|
24810
24995
|
self._values["system_controls"] = system_controls
|
|
24996
|
+
if ulimits is not None:
|
|
24997
|
+
self._values["ulimits"] = ulimits
|
|
24811
24998
|
if user is not None:
|
|
24812
24999
|
self._values["user"] = user
|
|
24813
25000
|
if working_directory is not None:
|
|
@@ -25134,6 +25321,12 @@ class FirelensLogRouterProps(ContainerDefinitionProps):
|
|
|
25134
25321
|
result = self._values.get("system_controls")
|
|
25135
25322
|
return typing.cast(typing.Optional[typing.List["SystemControl"]], result)
|
|
25136
25323
|
|
|
25324
|
+
@builtins.property
|
|
25325
|
+
def ulimits(self) -> typing.Optional[typing.List["Ulimit"]]:
|
|
25326
|
+
'''An array of ulimits to set in the container.'''
|
|
25327
|
+
result = self._values.get("ulimits")
|
|
25328
|
+
return typing.cast(typing.Optional[typing.List["Ulimit"]], result)
|
|
25329
|
+
|
|
25137
25330
|
@builtins.property
|
|
25138
25331
|
def user(self) -> typing.Optional[builtins.str]:
|
|
25139
25332
|
'''The user name to use inside the container.
|
|
@@ -27305,17 +27498,17 @@ class LogDriver(
|
|
|
27305
27498
|
|
|
27306
27499
|
Example::
|
|
27307
27500
|
|
|
27501
|
+
# secret: ecs.Secret
|
|
27502
|
+
|
|
27503
|
+
|
|
27308
27504
|
# Create a Task Definition for the container to start
|
|
27309
27505
|
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
27310
27506
|
task_definition.add_container("TheContainer",
|
|
27311
27507
|
image=ecs.ContainerImage.from_registry("example-image"),
|
|
27312
27508
|
memory_limit_mi_b=256,
|
|
27313
|
-
logging=ecs.LogDrivers.
|
|
27314
|
-
|
|
27315
|
-
|
|
27316
|
-
"region": "us-west-2",
|
|
27317
|
-
"delivery_stream": "my-stream"
|
|
27318
|
-
}
|
|
27509
|
+
logging=ecs.LogDrivers.splunk(
|
|
27510
|
+
secret_token=secret,
|
|
27511
|
+
url="my-splunk-url"
|
|
27319
27512
|
)
|
|
27320
27513
|
)
|
|
27321
27514
|
'''
|
|
@@ -27508,12 +27701,18 @@ class LogDrivers(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_ecs.LogDriv
|
|
|
27508
27701
|
|
|
27509
27702
|
Example::
|
|
27510
27703
|
|
|
27704
|
+
# secret: ecs.Secret
|
|
27705
|
+
|
|
27706
|
+
|
|
27511
27707
|
# Create a Task Definition for the container to start
|
|
27512
27708
|
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
27513
27709
|
task_definition.add_container("TheContainer",
|
|
27514
27710
|
image=ecs.ContainerImage.from_registry("example-image"),
|
|
27515
27711
|
memory_limit_mi_b=256,
|
|
27516
|
-
logging=ecs.LogDrivers.
|
|
27712
|
+
logging=ecs.LogDrivers.splunk(
|
|
27713
|
+
secret_token=secret,
|
|
27714
|
+
url="my-splunk-url"
|
|
27715
|
+
)
|
|
27517
27716
|
)
|
|
27518
27717
|
'''
|
|
27519
27718
|
|
|
@@ -28304,7 +28503,8 @@ class PlacementConstraint(
|
|
|
28304
28503
|
placement_constraints=[
|
|
28305
28504
|
ecs.PlacementConstraint.member_of("blieptuut")
|
|
28306
28505
|
]
|
|
28307
|
-
)
|
|
28506
|
+
),
|
|
28507
|
+
propagated_tag_source=ecs.PropagatedTagSource.TASK_DEFINITION
|
|
28308
28508
|
)
|
|
28309
28509
|
'''
|
|
28310
28510
|
|
|
@@ -28383,7 +28583,8 @@ class PlacementStrategy(
|
|
|
28383
28583
|
placement_constraints=[
|
|
28384
28584
|
ecs.PlacementConstraint.member_of("blieptuut")
|
|
28385
28585
|
]
|
|
28386
|
-
)
|
|
28586
|
+
),
|
|
28587
|
+
propagated_tag_source=ecs.PropagatedTagSource.TASK_DEFINITION
|
|
28387
28588
|
)
|
|
28388
28589
|
'''
|
|
28389
28590
|
|
|
@@ -28692,7 +28893,42 @@ class PortMapping:
|
|
|
28692
28893
|
|
|
28693
28894
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_ecs.PropagatedTagSource")
|
|
28694
28895
|
class PropagatedTagSource(enum.Enum):
|
|
28695
|
-
'''Propagate tags from either service or task definition.
|
|
28896
|
+
'''Propagate tags from either service or task definition.
|
|
28897
|
+
|
|
28898
|
+
:exampleMetadata: infused
|
|
28899
|
+
|
|
28900
|
+
Example::
|
|
28901
|
+
|
|
28902
|
+
vpc = ec2.Vpc.from_lookup(self, "Vpc",
|
|
28903
|
+
is_default=True
|
|
28904
|
+
)
|
|
28905
|
+
|
|
28906
|
+
cluster = ecs.Cluster(self, "FargateCluster", vpc=vpc)
|
|
28907
|
+
|
|
28908
|
+
task_definition = ecs.TaskDefinition(self, "TD",
|
|
28909
|
+
memory_mi_b="512",
|
|
28910
|
+
cpu="256",
|
|
28911
|
+
compatibility=ecs.Compatibility.FARGATE
|
|
28912
|
+
)
|
|
28913
|
+
|
|
28914
|
+
container_definition = task_definition.add_container("TheContainer",
|
|
28915
|
+
image=ecs.ContainerImage.from_registry("foo/bar"),
|
|
28916
|
+
memory_limit_mi_b=256
|
|
28917
|
+
)
|
|
28918
|
+
|
|
28919
|
+
run_task = tasks.EcsRunTask(self, "RunFargate",
|
|
28920
|
+
integration_pattern=sfn.IntegrationPattern.RUN_JOB,
|
|
28921
|
+
cluster=cluster,
|
|
28922
|
+
task_definition=task_definition,
|
|
28923
|
+
assign_public_ip=True,
|
|
28924
|
+
container_overrides=[tasks.ContainerOverride(
|
|
28925
|
+
container_definition=container_definition,
|
|
28926
|
+
environment=[tasks.TaskEnvironmentVariable(name="SOME_KEY", value=sfn.JsonPath.string_at("$.SomeKey"))]
|
|
28927
|
+
)],
|
|
28928
|
+
launch_target=tasks.EcsFargateLaunchTarget(),
|
|
28929
|
+
propagated_tag_source=ecs.PropagatedTagSource.TASK_DEFINITION
|
|
28930
|
+
)
|
|
28931
|
+
'''
|
|
28696
28932
|
|
|
28697
28933
|
SERVICE = "SERVICE"
|
|
28698
28934
|
'''Propagate tags from service.'''
|
|
@@ -28846,17 +29082,17 @@ class RepositoryImage(
|
|
|
28846
29082
|
Example::
|
|
28847
29083
|
|
|
28848
29084
|
# Example automatically generated from non-compiling source. May contain errors.
|
|
28849
|
-
import aws_cdk.
|
|
29085
|
+
import aws_cdk.aws_batch_alpha as batch
|
|
28850
29086
|
from aws_cdk.aws_ecs import ContainerImage
|
|
28851
29087
|
|
|
28852
29088
|
|
|
28853
29089
|
job_queue = batch.JobQueue(self, "MyQueue",
|
|
28854
|
-
compute_environments=[
|
|
28855
|
-
|
|
29090
|
+
compute_environments=[batch.OrderedComputeEnvironment(
|
|
29091
|
+
compute_environment=batch.ComputeEnvironment(self, "ComputeEnvironment",
|
|
28856
29092
|
managed=False
|
|
28857
29093
|
),
|
|
28858
|
-
|
|
28859
|
-
|
|
29094
|
+
order=1
|
|
29095
|
+
)
|
|
28860
29096
|
]
|
|
28861
29097
|
)
|
|
28862
29098
|
|
|
@@ -28869,14 +29105,14 @@ class RepositoryImage(
|
|
|
28869
29105
|
queue = sqs.Queue(self, "Queue")
|
|
28870
29106
|
|
|
28871
29107
|
rule = events.Rule(self, "Rule",
|
|
28872
|
-
schedule=events.Schedule.rate(
|
|
29108
|
+
schedule=events.Schedule.rate(Duration.hours(1))
|
|
28873
29109
|
)
|
|
28874
29110
|
|
|
28875
29111
|
rule.add_target(targets.BatchJob(job_queue.job_queue_arn, job_queue, job_definition.job_definition_arn, job_definition,
|
|
28876
29112
|
dead_letter_queue=queue,
|
|
28877
29113
|
event=events.RuleTargetInput.from_object({"SomeParam": "SomeValue"}),
|
|
28878
29114
|
retry_attempts=2,
|
|
28879
|
-
max_event_age=
|
|
29115
|
+
max_event_age=Duration.hours(2)
|
|
28880
29116
|
))
|
|
28881
29117
|
'''
|
|
28882
29118
|
|
|
@@ -30118,19 +30354,18 @@ class ServiceConnectProps:
|
|
|
30118
30354
|
|
|
30119
30355
|
Example::
|
|
30120
30356
|
|
|
30121
|
-
# Example automatically generated from non-compiling source. May contain errors.
|
|
30122
30357
|
# cluster: ecs.Cluster
|
|
30123
30358
|
# task_definition: ecs.TaskDefinition
|
|
30124
|
-
#
|
|
30359
|
+
# container_options: ecs.ContainerDefinitionOptions
|
|
30360
|
+
|
|
30125
30361
|
|
|
30362
|
+
container = task_definition.add_container("MyContainer", container_options)
|
|
30126
30363
|
|
|
30127
30364
|
container.add_port_mappings(
|
|
30128
30365
|
name="api",
|
|
30129
30366
|
container_port=8080
|
|
30130
30367
|
)
|
|
30131
30368
|
|
|
30132
|
-
task_definition.add_container(container)
|
|
30133
|
-
|
|
30134
30369
|
cluster.add_default_cloud_map_namespace(
|
|
30135
30370
|
name="local"
|
|
30136
30371
|
)
|
|
@@ -31405,31 +31640,20 @@ class TaskDefinition(
|
|
|
31405
31640
|
|
|
31406
31641
|
Example::
|
|
31407
31642
|
|
|
31408
|
-
# task_definition: ecs.TaskDefinition
|
|
31409
31643
|
# cluster: ecs.Cluster
|
|
31644
|
+
# task_definition: ecs.TaskDefinition
|
|
31645
|
+
# vpc: ec2.Vpc
|
|
31410
31646
|
|
|
31647
|
+
service = ecs.FargateService(self, "Service", cluster=cluster, task_definition=task_definition)
|
|
31411
31648
|
|
|
31412
|
-
|
|
31413
|
-
|
|
31414
|
-
|
|
31415
|
-
|
|
31416
|
-
|
|
31417
|
-
|
|
31418
|
-
|
|
31419
|
-
|
|
31420
|
-
container_port=7600,
|
|
31421
|
-
protocol=ecs.Protocol.TCP
|
|
31422
|
-
)
|
|
31423
|
-
|
|
31424
|
-
ecs.Ec2Service(self, "Service",
|
|
31425
|
-
cluster=cluster,
|
|
31426
|
-
task_definition=task_definition,
|
|
31427
|
-
cloud_map_options=ecs.CloudMapOptions(
|
|
31428
|
-
# Create SRV records - useful for bridge networking
|
|
31429
|
-
dns_record_type=cloudmap.DnsRecordType.SRV,
|
|
31430
|
-
# Targets port TCP port 7600 `specificContainer`
|
|
31431
|
-
container=specific_container,
|
|
31432
|
-
container_port=7600
|
|
31649
|
+
lb = elbv2.ApplicationLoadBalancer(self, "LB", vpc=vpc, internet_facing=True)
|
|
31650
|
+
listener = lb.add_listener("Listener", port=80)
|
|
31651
|
+
service.register_load_balancer_targets(
|
|
31652
|
+
container_name="web",
|
|
31653
|
+
container_port=80,
|
|
31654
|
+
new_target_group_id="ECS",
|
|
31655
|
+
listener=ecs.ListenerConfig.application_listener(listener,
|
|
31656
|
+
protocol=elbv2.ApplicationProtocol.HTTPS
|
|
31433
31657
|
)
|
|
31434
31658
|
)
|
|
31435
31659
|
'''
|
|
@@ -31531,6 +31755,7 @@ class TaskDefinition(
|
|
|
31531
31755
|
*,
|
|
31532
31756
|
compatibility: typing.Optional[Compatibility] = None,
|
|
31533
31757
|
task_definition_arn: builtins.str,
|
|
31758
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
31534
31759
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
31535
31760
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
31536
31761
|
) -> ITaskDefinition:
|
|
@@ -31540,6 +31765,7 @@ class TaskDefinition(
|
|
|
31540
31765
|
:param id: -
|
|
31541
31766
|
:param compatibility: What launch types this task definition should be compatible with. Default: Compatibility.EC2_AND_FARGATE
|
|
31542
31767
|
:param task_definition_arn: The arn of the task definition.
|
|
31768
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
31543
31769
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
31544
31770
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
31545
31771
|
'''
|
|
@@ -31550,6 +31776,7 @@ class TaskDefinition(
|
|
|
31550
31776
|
attrs = TaskDefinitionAttributes(
|
|
31551
31777
|
compatibility=compatibility,
|
|
31552
31778
|
task_definition_arn=task_definition_arn,
|
|
31779
|
+
execution_role=execution_role,
|
|
31553
31780
|
network_mode=network_mode,
|
|
31554
31781
|
task_role=task_role,
|
|
31555
31782
|
)
|
|
@@ -31591,6 +31818,7 @@ class TaskDefinition(
|
|
|
31591
31818
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
31592
31819
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
31593
31820
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
31821
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union["Ulimit", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
31594
31822
|
user: typing.Optional[builtins.str] = None,
|
|
31595
31823
|
working_directory: typing.Optional[builtins.str] = None,
|
|
31596
31824
|
) -> ContainerDefinition:
|
|
@@ -31627,6 +31855,7 @@ class TaskDefinition(
|
|
|
31627
31855
|
:param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. Default: - none
|
|
31628
31856
|
:param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. Default: - none
|
|
31629
31857
|
:param system_controls: A list of namespaced kernel parameters to set in the container. Default: - No system controls are set.
|
|
31858
|
+
:param ulimits: An array of ulimits to set in the container.
|
|
31630
31859
|
:param user: The user name to use inside the container. Default: root
|
|
31631
31860
|
:param working_directory: The working directory in which to run commands inside the container. Default: /
|
|
31632
31861
|
'''
|
|
@@ -31664,6 +31893,7 @@ class TaskDefinition(
|
|
|
31664
31893
|
start_timeout=start_timeout,
|
|
31665
31894
|
stop_timeout=stop_timeout,
|
|
31666
31895
|
system_controls=system_controls,
|
|
31896
|
+
ulimits=ulimits,
|
|
31667
31897
|
user=user,
|
|
31668
31898
|
working_directory=working_directory,
|
|
31669
31899
|
)
|
|
@@ -31720,6 +31950,7 @@ class TaskDefinition(
|
|
|
31720
31950
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
31721
31951
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
31722
31952
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
31953
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union["Ulimit", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
31723
31954
|
user: typing.Optional[builtins.str] = None,
|
|
31724
31955
|
working_directory: typing.Optional[builtins.str] = None,
|
|
31725
31956
|
) -> FirelensLogRouter:
|
|
@@ -31757,6 +31988,7 @@ class TaskDefinition(
|
|
|
31757
31988
|
:param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. Default: - none
|
|
31758
31989
|
:param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. Default: - none
|
|
31759
31990
|
:param system_controls: A list of namespaced kernel parameters to set in the container. Default: - No system controls are set.
|
|
31991
|
+
:param ulimits: An array of ulimits to set in the container.
|
|
31760
31992
|
:param user: The user name to use inside the container. Default: root
|
|
31761
31993
|
:param working_directory: The working directory in which to run commands inside the container. Default: /
|
|
31762
31994
|
'''
|
|
@@ -31795,6 +32027,7 @@ class TaskDefinition(
|
|
|
31795
32027
|
start_timeout=start_timeout,
|
|
31796
32028
|
stop_timeout=stop_timeout,
|
|
31797
32029
|
system_controls=system_controls,
|
|
32030
|
+
ulimits=ulimits,
|
|
31798
32031
|
user=user,
|
|
31799
32032
|
working_directory=working_directory,
|
|
31800
32033
|
)
|
|
@@ -32042,6 +32275,7 @@ class TaskDefinition(
|
|
|
32042
32275
|
jsii_struct_bases=[CommonTaskDefinitionAttributes],
|
|
32043
32276
|
name_mapping={
|
|
32044
32277
|
"task_definition_arn": "taskDefinitionArn",
|
|
32278
|
+
"execution_role": "executionRole",
|
|
32045
32279
|
"network_mode": "networkMode",
|
|
32046
32280
|
"task_role": "taskRole",
|
|
32047
32281
|
"compatibility": "compatibility",
|
|
@@ -32052,6 +32286,7 @@ class TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
32052
32286
|
self,
|
|
32053
32287
|
*,
|
|
32054
32288
|
task_definition_arn: builtins.str,
|
|
32289
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
32055
32290
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
32056
32291
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
32057
32292
|
compatibility: typing.Optional[Compatibility] = None,
|
|
@@ -32059,6 +32294,7 @@ class TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
32059
32294
|
'''A reference to an existing task definition.
|
|
32060
32295
|
|
|
32061
32296
|
:param task_definition_arn: The arn of the task definition.
|
|
32297
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
32062
32298
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
32063
32299
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
32064
32300
|
:param compatibility: What launch types this task definition should be compatible with. Default: Compatibility.EC2_AND_FARGATE
|
|
@@ -32079,6 +32315,7 @@ class TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
32079
32315
|
|
|
32080
32316
|
# the properties below are optional
|
|
32081
32317
|
compatibility=ecs.Compatibility.EC2,
|
|
32318
|
+
execution_role=role,
|
|
32082
32319
|
network_mode=ecs.NetworkMode.NONE,
|
|
32083
32320
|
task_role=role
|
|
32084
32321
|
)
|
|
@@ -32086,12 +32323,15 @@ class TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
32086
32323
|
if __debug__:
|
|
32087
32324
|
type_hints = typing.get_type_hints(_typecheckingstub__723c7f01009409e12e945705433183d486be735607b50d3b8dd0ec765a5e03e3)
|
|
32088
32325
|
check_type(argname="argument task_definition_arn", value=task_definition_arn, expected_type=type_hints["task_definition_arn"])
|
|
32326
|
+
check_type(argname="argument execution_role", value=execution_role, expected_type=type_hints["execution_role"])
|
|
32089
32327
|
check_type(argname="argument network_mode", value=network_mode, expected_type=type_hints["network_mode"])
|
|
32090
32328
|
check_type(argname="argument task_role", value=task_role, expected_type=type_hints["task_role"])
|
|
32091
32329
|
check_type(argname="argument compatibility", value=compatibility, expected_type=type_hints["compatibility"])
|
|
32092
32330
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
32093
32331
|
"task_definition_arn": task_definition_arn,
|
|
32094
32332
|
}
|
|
32333
|
+
if execution_role is not None:
|
|
32334
|
+
self._values["execution_role"] = execution_role
|
|
32095
32335
|
if network_mode is not None:
|
|
32096
32336
|
self._values["network_mode"] = network_mode
|
|
32097
32337
|
if task_role is not None:
|
|
@@ -32106,6 +32346,17 @@ class TaskDefinitionAttributes(CommonTaskDefinitionAttributes):
|
|
|
32106
32346
|
assert result is not None, "Required property 'task_definition_arn' is missing"
|
|
32107
32347
|
return typing.cast(builtins.str, result)
|
|
32108
32348
|
|
|
32349
|
+
@builtins.property
|
|
32350
|
+
def execution_role(self) -> typing.Optional[_IRole_235f5d8e]:
|
|
32351
|
+
'''The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf.
|
|
32352
|
+
|
|
32353
|
+
Some tasks do not have an execution role.
|
|
32354
|
+
|
|
32355
|
+
:default: - undefined
|
|
32356
|
+
'''
|
|
32357
|
+
result = self._values.get("execution_role")
|
|
32358
|
+
return typing.cast(typing.Optional[_IRole_235f5d8e], result)
|
|
32359
|
+
|
|
32109
32360
|
@builtins.property
|
|
32110
32361
|
def network_mode(self) -> typing.Optional[NetworkMode]:
|
|
32111
32362
|
'''The networking mode to use for the containers in the task.
|
|
@@ -32240,7 +32491,8 @@ class TaskDefinitionProps(CommonTaskDefinitionProps):
|
|
|
32240
32491
|
placement_constraints=[
|
|
32241
32492
|
ecs.PlacementConstraint.member_of("blieptuut")
|
|
32242
32493
|
]
|
|
32243
|
-
)
|
|
32494
|
+
),
|
|
32495
|
+
propagated_tag_source=ecs.PropagatedTagSource.TASK_DEFINITION
|
|
32244
32496
|
)
|
|
32245
32497
|
'''
|
|
32246
32498
|
if isinstance(runtime_platform, dict):
|
|
@@ -32886,7 +33138,22 @@ class Ulimit:
|
|
|
32886
33138
|
|
|
32887
33139
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_ecs.UlimitName")
|
|
32888
33140
|
class UlimitName(enum.Enum):
|
|
32889
|
-
'''Type of resource to set a limit on.
|
|
33141
|
+
'''Type of resource to set a limit on.
|
|
33142
|
+
|
|
33143
|
+
:exampleMetadata: infused
|
|
33144
|
+
|
|
33145
|
+
Example::
|
|
33146
|
+
|
|
33147
|
+
task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
|
|
33148
|
+
task_definition.add_container("TheContainer",
|
|
33149
|
+
image=ecs.ContainerImage.from_registry("example-image"),
|
|
33150
|
+
ulimits=[ecs.Ulimit(
|
|
33151
|
+
hard_limit=128,
|
|
33152
|
+
name=ecs.UlimitName.RSS,
|
|
33153
|
+
soft_limit=128
|
|
33154
|
+
)]
|
|
33155
|
+
)
|
|
33156
|
+
'''
|
|
32890
33157
|
|
|
32891
33158
|
CORE = "CORE"
|
|
32892
33159
|
CPU = "CPU"
|
|
@@ -33310,6 +33577,7 @@ class AssetImage(
|
|
|
33310
33577
|
|
|
33311
33578
|
Example::
|
|
33312
33579
|
|
|
33580
|
+
from constructs import Construct
|
|
33313
33581
|
from aws_cdk import App, Stack
|
|
33314
33582
|
import aws_cdk.aws_ec2 as ec2
|
|
33315
33583
|
import aws_cdk.aws_ecs as ecs
|
|
@@ -33317,20 +33585,21 @@ class AssetImage(
|
|
|
33317
33585
|
import aws_cdk.cx_api as cxapi
|
|
33318
33586
|
import path as path
|
|
33319
33587
|
|
|
33320
|
-
|
|
33588
|
+
class MyStack(Stack):
|
|
33589
|
+
def __init__(self, scope, id):
|
|
33590
|
+
super().__init__(scope, id)
|
|
33321
33591
|
|
|
33322
|
-
|
|
33323
|
-
stack.node.set_context(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, True)
|
|
33592
|
+
self.node.set_context(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, True)
|
|
33324
33593
|
|
|
33325
|
-
|
|
33326
|
-
|
|
33327
|
-
|
|
33594
|
+
vpc = ec2.Vpc(self, "VPC",
|
|
33595
|
+
max_azs=2
|
|
33596
|
+
)
|
|
33328
33597
|
|
|
33329
|
-
|
|
33330
|
-
|
|
33331
|
-
|
|
33332
|
-
|
|
33333
|
-
|
|
33598
|
+
ecs_patterns.QueueProcessingFargateService(self, "QueueProcessingService",
|
|
33599
|
+
vpc=vpc,
|
|
33600
|
+
memory_limit_mi_b=512,
|
|
33601
|
+
image=ecs.AssetImage(path.join(__dirname, "..", "sqs-reader"))
|
|
33602
|
+
)
|
|
33334
33603
|
'''
|
|
33335
33604
|
|
|
33336
33605
|
def __init__(
|
|
@@ -33553,7 +33822,8 @@ class Cluster(
|
|
|
33553
33822
|
container_definition=container_definition,
|
|
33554
33823
|
environment=[tasks.TaskEnvironmentVariable(name="SOME_KEY", value=sfn.JsonPath.string_at("$.SomeKey"))]
|
|
33555
33824
|
)],
|
|
33556
|
-
launch_target=tasks.EcsFargateLaunchTarget()
|
|
33825
|
+
launch_target=tasks.EcsFargateLaunchTarget(),
|
|
33826
|
+
propagated_tag_source=ecs.PropagatedTagSource.TASK_DEFINITION
|
|
33557
33827
|
)
|
|
33558
33828
|
'''
|
|
33559
33829
|
|
|
@@ -34747,7 +35017,6 @@ class BaseService(
|
|
|
34747
35017
|
|
|
34748
35018
|
Example::
|
|
34749
35019
|
|
|
34750
|
-
# Example automatically generated from non-compiling source. May contain errors.
|
|
34751
35020
|
import aws_cdk.aws_ecs as ecs
|
|
34752
35021
|
|
|
34753
35022
|
|
|
@@ -35582,6 +35851,7 @@ class Ec2TaskDefinition(
|
|
|
35582
35851
|
id: builtins.str,
|
|
35583
35852
|
*,
|
|
35584
35853
|
task_definition_arn: builtins.str,
|
|
35854
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
35585
35855
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
35586
35856
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
35587
35857
|
) -> IEc2TaskDefinition:
|
|
@@ -35590,6 +35860,7 @@ class Ec2TaskDefinition(
|
|
|
35590
35860
|
:param scope: -
|
|
35591
35861
|
:param id: -
|
|
35592
35862
|
:param task_definition_arn: The arn of the task definition.
|
|
35863
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
35593
35864
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
35594
35865
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
35595
35866
|
'''
|
|
@@ -35599,6 +35870,7 @@ class Ec2TaskDefinition(
|
|
|
35599
35870
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
35600
35871
|
attrs = Ec2TaskDefinitionAttributes(
|
|
35601
35872
|
task_definition_arn=task_definition_arn,
|
|
35873
|
+
execution_role=execution_role,
|
|
35602
35874
|
network_mode=network_mode,
|
|
35603
35875
|
task_role=task_role,
|
|
35604
35876
|
)
|
|
@@ -35980,6 +36252,7 @@ class ExternalTaskDefinition(
|
|
|
35980
36252
|
id: builtins.str,
|
|
35981
36253
|
*,
|
|
35982
36254
|
task_definition_arn: builtins.str,
|
|
36255
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
35983
36256
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
35984
36257
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
35985
36258
|
) -> IExternalTaskDefinition:
|
|
@@ -35988,6 +36261,7 @@ class ExternalTaskDefinition(
|
|
|
35988
36261
|
:param scope: -
|
|
35989
36262
|
:param id: -
|
|
35990
36263
|
:param task_definition_arn: The arn of the task definition.
|
|
36264
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
35991
36265
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
35992
36266
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
35993
36267
|
'''
|
|
@@ -35997,6 +36271,7 @@ class ExternalTaskDefinition(
|
|
|
35997
36271
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
35998
36272
|
attrs = ExternalTaskDefinitionAttributes(
|
|
35999
36273
|
task_definition_arn=task_definition_arn,
|
|
36274
|
+
execution_role=execution_role,
|
|
36000
36275
|
network_mode=network_mode,
|
|
36001
36276
|
task_role=task_role,
|
|
36002
36277
|
)
|
|
@@ -36280,6 +36555,7 @@ class FargateTaskDefinition(
|
|
|
36280
36555
|
id: builtins.str,
|
|
36281
36556
|
*,
|
|
36282
36557
|
task_definition_arn: builtins.str,
|
|
36558
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
36283
36559
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
36284
36560
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
36285
36561
|
) -> IFargateTaskDefinition:
|
|
@@ -36288,6 +36564,7 @@ class FargateTaskDefinition(
|
|
|
36288
36564
|
:param scope: -
|
|
36289
36565
|
:param id: -
|
|
36290
36566
|
:param task_definition_arn: The arn of the task definition.
|
|
36567
|
+
:param execution_role: The IAM role that grants containers and Fargate agents permission to make AWS API calls on your behalf. Some tasks do not have an execution role. Default: - undefined
|
|
36291
36568
|
:param network_mode: The networking mode to use for the containers in the task. Default: Network mode cannot be provided to the imported task.
|
|
36292
36569
|
:param task_role: The name of the IAM role that grants containers in the task permission to call AWS APIs on your behalf. Default: Permissions cannot be granted to the imported task.
|
|
36293
36570
|
'''
|
|
@@ -36297,6 +36574,7 @@ class FargateTaskDefinition(
|
|
|
36297
36574
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
36298
36575
|
attrs = FargateTaskDefinitionAttributes(
|
|
36299
36576
|
task_definition_arn=task_definition_arn,
|
|
36577
|
+
execution_role=execution_role,
|
|
36300
36578
|
network_mode=network_mode,
|
|
36301
36579
|
task_role=task_role,
|
|
36302
36580
|
)
|
|
@@ -38061,6 +38339,7 @@ def _typecheckingstub__8819884fed76c2873e86d47e66faba011202f5d697aa512d17a66e595
|
|
|
38061
38339
|
def _typecheckingstub__1a458c1ea772685ddb7eb49b075e7de9bed322fac4bbee8aeab1cf6b576bc995(
|
|
38062
38340
|
*,
|
|
38063
38341
|
task_definition_arn: builtins.str,
|
|
38342
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
38064
38343
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
38065
38344
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
38066
38345
|
) -> None:
|
|
@@ -38113,6 +38392,7 @@ def _typecheckingstub__d8756b492e023ad8d33a399196b15b610f709400ce213e179f17dd1f6
|
|
|
38113
38392
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38114
38393
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38115
38394
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38395
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union[Ulimit, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38116
38396
|
user: typing.Optional[builtins.str] = None,
|
|
38117
38397
|
working_directory: typing.Optional[builtins.str] = None,
|
|
38118
38398
|
) -> None:
|
|
@@ -38233,6 +38513,7 @@ def _typecheckingstub__f2e5f24c1574825a81dd77783d48886a430a675a0e04f03559eca98b5
|
|
|
38233
38513
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38234
38514
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38235
38515
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38516
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union[Ulimit, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38236
38517
|
user: typing.Optional[builtins.str] = None,
|
|
38237
38518
|
working_directory: typing.Optional[builtins.str] = None,
|
|
38238
38519
|
) -> None:
|
|
@@ -38271,6 +38552,7 @@ def _typecheckingstub__20c974a49c79829fac0811dffaf78c449f92ae136414b96232160d37c
|
|
|
38271
38552
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38272
38553
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38273
38554
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38555
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union[Ulimit, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38274
38556
|
user: typing.Optional[builtins.str] = None,
|
|
38275
38557
|
working_directory: typing.Optional[builtins.str] = None,
|
|
38276
38558
|
task_definition: TaskDefinition,
|
|
@@ -38439,6 +38721,7 @@ def _typecheckingstub__95634258086aa3448fbdfd9896017a2cbeb858f382deb61186bb9e22b
|
|
|
38439
38721
|
def _typecheckingstub__e90e61a002f578b0dbe160c067f2d3de15287892110df7eedcbbfa7f0c7d391d(
|
|
38440
38722
|
*,
|
|
38441
38723
|
task_definition_arn: builtins.str,
|
|
38724
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
38442
38725
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
38443
38726
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
38444
38727
|
) -> None:
|
|
@@ -38616,6 +38899,7 @@ def _typecheckingstub__3cc413964caae89bfcfbcabff8356ffe5c054f46824be99731a77b64e
|
|
|
38616
38899
|
def _typecheckingstub__2d58078e68b889d5f10f95714f42385491c26bf6ec084584b1a1487cc3acf7a2(
|
|
38617
38900
|
*,
|
|
38618
38901
|
task_definition_arn: builtins.str,
|
|
38902
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
38619
38903
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
38620
38904
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
38621
38905
|
) -> None:
|
|
@@ -38671,6 +38955,7 @@ def _typecheckingstub__8290283f61f3e2d289b7e7f81cad1a5d1e9ed9dbc07ccce2b57604682
|
|
|
38671
38955
|
def _typecheckingstub__5dd329152ba42239c8e48630ce2d0477a28dd88014af62f4536ef752f002010e(
|
|
38672
38956
|
*,
|
|
38673
38957
|
task_definition_arn: builtins.str,
|
|
38958
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
38674
38959
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
38675
38960
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
38676
38961
|
) -> None:
|
|
@@ -38748,6 +39033,7 @@ def _typecheckingstub__aa1e4969dd0e00a5737510c273aa9546ad4ce7bc5a8a146f2a37666b0
|
|
|
38748
39033
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38749
39034
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38750
39035
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
39036
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union[Ulimit, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38751
39037
|
user: typing.Optional[builtins.str] = None,
|
|
38752
39038
|
working_directory: typing.Optional[builtins.str] = None,
|
|
38753
39039
|
) -> None:
|
|
@@ -38792,6 +39078,7 @@ def _typecheckingstub__2bb9382e9a7b1b34a020902905c4bf83e2d4970135e7592e5b5a1da62
|
|
|
38792
39078
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38793
39079
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38794
39080
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
39081
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union[Ulimit, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38795
39082
|
user: typing.Optional[builtins.str] = None,
|
|
38796
39083
|
working_directory: typing.Optional[builtins.str] = None,
|
|
38797
39084
|
firelens_config: typing.Union[FirelensConfig, typing.Dict[builtins.str, typing.Any]],
|
|
@@ -38831,6 +39118,7 @@ def _typecheckingstub__498b2375cb2035a958edbdd10ad5f4352caa5773be14b63a07c337871
|
|
|
38831
39118
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38832
39119
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
38833
39120
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
39121
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union[Ulimit, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
38834
39122
|
user: typing.Optional[builtins.str] = None,
|
|
38835
39123
|
working_directory: typing.Optional[builtins.str] = None,
|
|
38836
39124
|
task_definition: TaskDefinition,
|
|
@@ -39478,6 +39766,7 @@ def _typecheckingstub__33efccb48f741fbca68f3379a33fab8d93a2872fc8c2a118c9704894b
|
|
|
39478
39766
|
*,
|
|
39479
39767
|
compatibility: typing.Optional[Compatibility] = None,
|
|
39480
39768
|
task_definition_arn: builtins.str,
|
|
39769
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
39481
39770
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
39482
39771
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
39483
39772
|
) -> None:
|
|
@@ -39517,6 +39806,7 @@ def _typecheckingstub__8fe416001b357a118b80b0f9e3432c5bffbeffe29c2f7e67a02e5589c
|
|
|
39517
39806
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
39518
39807
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
39519
39808
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
39809
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union[Ulimit, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
39520
39810
|
user: typing.Optional[builtins.str] = None,
|
|
39521
39811
|
working_directory: typing.Optional[builtins.str] = None,
|
|
39522
39812
|
) -> None:
|
|
@@ -39563,6 +39853,7 @@ def _typecheckingstub__a448c235107c9543bb055362134e3500d0a20b6f51e433675f952a773
|
|
|
39563
39853
|
start_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
39564
39854
|
stop_timeout: typing.Optional[_Duration_4839e8c3] = None,
|
|
39565
39855
|
system_controls: typing.Optional[typing.Sequence[typing.Union[SystemControl, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
39856
|
+
ulimits: typing.Optional[typing.Sequence[typing.Union[Ulimit, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
39566
39857
|
user: typing.Optional[builtins.str] = None,
|
|
39567
39858
|
working_directory: typing.Optional[builtins.str] = None,
|
|
39568
39859
|
) -> None:
|
|
@@ -39614,6 +39905,7 @@ def _typecheckingstub__9a9f5e275c7ec18083bd47fd70c94d0dee80deddee22c30c6ef86cb08
|
|
|
39614
39905
|
def _typecheckingstub__723c7f01009409e12e945705433183d486be735607b50d3b8dd0ec765a5e03e3(
|
|
39615
39906
|
*,
|
|
39616
39907
|
task_definition_arn: builtins.str,
|
|
39908
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
39617
39909
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
39618
39910
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
39619
39911
|
compatibility: typing.Optional[Compatibility] = None,
|
|
@@ -40095,6 +40387,7 @@ def _typecheckingstub__d794d0fc9ba23db2d5f4c804346c25e9732a8bd6c40b66b459e4b0596
|
|
|
40095
40387
|
id: builtins.str,
|
|
40096
40388
|
*,
|
|
40097
40389
|
task_definition_arn: builtins.str,
|
|
40390
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
40098
40391
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
40099
40392
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
40100
40393
|
) -> None:
|
|
@@ -40192,6 +40485,7 @@ def _typecheckingstub__ccd4d51c36358a0ea1efb52a38fa0bccb9e2db43ee7dc217a32ca2bf2
|
|
|
40192
40485
|
id: builtins.str,
|
|
40193
40486
|
*,
|
|
40194
40487
|
task_definition_arn: builtins.str,
|
|
40488
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
40195
40489
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
40196
40490
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
40197
40491
|
) -> None:
|
|
@@ -40274,6 +40568,7 @@ def _typecheckingstub__59be62eab8487bb224b6839e6560b22ec29653bf5f8e319f85996fa99
|
|
|
40274
40568
|
id: builtins.str,
|
|
40275
40569
|
*,
|
|
40276
40570
|
task_definition_arn: builtins.str,
|
|
40571
|
+
execution_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
40277
40572
|
network_mode: typing.Optional[NetworkMode] = None,
|
|
40278
40573
|
task_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
40279
40574
|
) -> None:
|