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

Files changed (73) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.137.0.jsii.tgz → aws-cdk-lib@2.139.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amplify/__init__.py +29 -113
  5. aws_cdk/aws_apigateway/__init__.py +29 -16
  6. aws_cdk/aws_appconfig/__init__.py +315 -77
  7. aws_cdk/aws_appintegrations/__init__.py +55 -6
  8. aws_cdk/aws_apprunner/__init__.py +5 -2
  9. aws_cdk/aws_appsync/__init__.py +400 -13
  10. aws_cdk/aws_aps/__init__.py +64 -47
  11. aws_cdk/aws_autoscaling/__init__.py +62 -60
  12. aws_cdk/aws_b2bi/__init__.py +2 -6
  13. aws_cdk/aws_backup/__init__.py +53 -57
  14. aws_cdk/aws_batch/__init__.py +109 -0
  15. aws_cdk/aws_bcmdataexports/__init__.py +1114 -0
  16. aws_cdk/aws_bedrock/__init__.py +4144 -0
  17. aws_cdk/aws_chatbot/__init__.py +6 -4
  18. aws_cdk/aws_cleanrooms/__init__.py +526 -3
  19. aws_cdk/aws_cleanroomsml/__init__.py +960 -0
  20. aws_cdk/aws_cloudtrail/__init__.py +10 -10
  21. aws_cdk/aws_cloudwatch/__init__.py +244 -8
  22. aws_cdk/aws_codebuild/__init__.py +27 -22
  23. aws_cdk/aws_codeconnections/__init__.py +435 -0
  24. aws_cdk/aws_cognito/__init__.py +175 -79
  25. aws_cdk/aws_datazone/__init__.py +22 -0
  26. aws_cdk/aws_deadline/__init__.py +5394 -0
  27. aws_cdk/aws_dms/__init__.py +2 -4
  28. aws_cdk/aws_ec2/__init__.py +402 -247
  29. aws_cdk/aws_ecr/__init__.py +630 -0
  30. aws_cdk/aws_ecs/__init__.py +361 -20
  31. aws_cdk/aws_efs/__init__.py +594 -2
  32. aws_cdk/aws_elasticache/__init__.py +86 -32
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +75 -10
  34. aws_cdk/aws_emr/__init__.py +2 -2
  35. aws_cdk/aws_entityresolution/__init__.py +1982 -773
  36. aws_cdk/aws_events_targets/__init__.py +17 -4
  37. aws_cdk/aws_globalaccelerator/__init__.py +443 -0
  38. aws_cdk/aws_iam/__init__.py +1 -2
  39. aws_cdk/aws_internetmonitor/__init__.py +14 -6
  40. aws_cdk/aws_ivs/__init__.py +1273 -71
  41. aws_cdk/aws_kms/__init__.py +44 -0
  42. aws_cdk/aws_lambda/__init__.py +9 -0
  43. aws_cdk/aws_mediatailor/__init__.py +41 -0
  44. aws_cdk/aws_oam/__init__.py +204 -0
  45. aws_cdk/aws_personalize/__init__.py +8 -6
  46. aws_cdk/aws_pinpoint/__init__.py +5 -3
  47. aws_cdk/aws_pipes/__init__.py +5 -1
  48. aws_cdk/aws_quicksight/__init__.py +12 -6
  49. aws_cdk/aws_rds/__init__.py +370 -96
  50. aws_cdk/aws_redshiftserverless/__init__.py +157 -0
  51. aws_cdk/aws_route53/__init__.py +587 -14
  52. aws_cdk/aws_sagemaker/__init__.py +233 -2
  53. aws_cdk/aws_securityhub/__init__.py +4940 -102
  54. aws_cdk/aws_securitylake/__init__.py +1326 -89
  55. aws_cdk/aws_ses_actions/__init__.py +155 -0
  56. aws_cdk/aws_sns/__init__.py +61 -4
  57. aws_cdk/aws_ssm/__init__.py +5 -2
  58. aws_cdk/aws_ssmcontacts/__init__.py +11 -4
  59. aws_cdk/aws_stepfunctions/__init__.py +8 -16
  60. aws_cdk/aws_stepfunctions_tasks/__init__.py +676 -1
  61. aws_cdk/aws_timestream/__init__.py +1045 -0
  62. aws_cdk/aws_transfer/__init__.py +19 -10
  63. aws_cdk/aws_verifiedpermissions/__init__.py +114 -37
  64. aws_cdk/aws_wisdom/__init__.py +2 -2
  65. aws_cdk/aws_workspacesthinclient/__init__.py +8 -8
  66. aws_cdk/custom_resources/__init__.py +688 -26
  67. aws_cdk/cx_api/__init__.py +17 -0
  68. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/METADATA +3 -3
  69. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/RECORD +73 -69
  70. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/LICENSE +0 -0
  71. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/NOTICE +0 -0
  72. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/WHEEL +0 -0
  73. {aws_cdk_lib-2.137.0.dist-info → aws_cdk_lib-2.139.0.dist-info}/top_level.txt +0 -0
@@ -374,6 +374,23 @@ fargate_task_definition = ecs.FargateTaskDefinition(self, "TaskDef",
374
374
  )
375
375
  ```
376
376
 
377
+ To specify the process namespace to use for the containers in the task, use the `pidMode` property:
378
+
379
+ ```python
380
+ fargate_task_definition = ecs.FargateTaskDefinition(self, "TaskDef",
381
+ runtime_platform=ecs.RuntimePlatform(
382
+ operating_system_family=ecs.OperatingSystemFamily.LINUX,
383
+ cpu_architecture=ecs.CpuArchitecture.ARM64
384
+ ),
385
+ memory_limit_mi_b=512,
386
+ cpu=256,
387
+ pid_mode=ecs.PidMode.HOST
388
+ )
389
+ ```
390
+
391
+ **Note:** `pidMode` is only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version 1.4.0
392
+ or later (Linux). This isn't supported for Windows containers on Fargate.
393
+
377
394
  To add containers to a task definition, call `addContainer()`:
378
395
 
379
396
  ```python
@@ -613,6 +630,25 @@ task_definition.add_container("container",
613
630
  )
614
631
  ```
615
632
 
633
+ ## Docker labels
634
+
635
+ You can add labels to the container with the `dockerLabels` property or with the `addDockerLabel` method:
636
+
637
+ ```python
638
+ # task_definition: ecs.TaskDefinition
639
+
640
+
641
+ container = task_definition.add_container("cont",
642
+ image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
643
+ memory_limit_mi_b=1024,
644
+ docker_labels={
645
+ "foo": "bar"
646
+ }
647
+ )
648
+
649
+ container.add_docker_label("label", "value")
650
+ ```
651
+
616
652
  ### Using Windows containers on Fargate
617
653
 
618
654
  AWS Fargate supports Amazon ECS Windows containers. For more details, please see this [blog post](https://aws.amazon.com/tw/blogs/containers/running-windows-containers-with-amazon-ecs-on-aws-fargate/)
@@ -8997,7 +9033,7 @@ class CfnService(
8997
9033
  :param alarms: Information about the CloudWatch alarms.
8998
9034
  :param deployment_circuit_breaker: .. epigraph:: The deployment circuit breaker can only be used for services using the rolling update ( ``ECS`` ) deployment type. The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see `Rolling update <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html>`_ in the *Amazon Elastic Container Service Developer Guide*
8999
9035
  :param maximum_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.
9000
- :param minimum_healthy_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. For services that *do not* use a load balancer, the following should be noted: - A service is considered healthy if all essential containers within the tasks in the service pass their health checks. - If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total. - If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. For services that *do* use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9036
+ :param minimum_healthy_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. For services that *do not* use a load balancer, the following should be noted: - A service is considered healthy if all essential containers within the tasks in the service pass their health checks. - If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total. - If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. For services that *do* use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent`` /100, rounded up to the nearest integer value. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9001
9037
 
9002
9038
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html
9003
9039
  :exampleMetadata: fixture=_generated
@@ -9094,6 +9130,10 @@ class CfnService(
9094
9130
  - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
9095
9131
  - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total.
9096
9132
 
9133
+ The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console.
9134
+
9135
+ The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent`` /100, rounded up to the nearest integer value.
9136
+
9097
9137
  If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9098
9138
 
9099
9139
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-minimumhealthypercent
@@ -11867,6 +11907,16 @@ class CfnTaskDefinition(
11867
11907
  transit_encryption="transitEncryption",
11868
11908
  transit_encryption_port=123
11869
11909
  ),
11910
+ f_sx_windows_file_server_volume_configuration=ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty(
11911
+ file_system_id="fileSystemId",
11912
+ root_directory="rootDirectory",
11913
+
11914
+ # the properties below are optional
11915
+ authorization_config=ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
11916
+ credentials_parameter="credentialsParameter",
11917
+ domain="domain"
11918
+ )
11919
+ ),
11870
11920
  host=ecs.CfnTaskDefinition.HostVolumePropertiesProperty(
11871
11921
  source_path="sourcePath"
11872
11922
  ),
@@ -14004,6 +14054,176 @@ class CfnTaskDefinition(
14004
14054
  k + "=" + repr(v) for k, v in self._values.items()
14005
14055
  )
14006
14056
 
14057
+ @jsii.data_type(
14058
+ jsii_type="aws-cdk-lib.aws_ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty",
14059
+ jsii_struct_bases=[],
14060
+ name_mapping={
14061
+ "credentials_parameter": "credentialsParameter",
14062
+ "domain": "domain",
14063
+ },
14064
+ )
14065
+ class FSxAuthorizationConfigProperty:
14066
+ def __init__(
14067
+ self,
14068
+ *,
14069
+ credentials_parameter: builtins.str,
14070
+ domain: builtins.str,
14071
+ ) -> None:
14072
+ '''
14073
+ :param credentials_parameter:
14074
+ :param domain:
14075
+
14076
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html
14077
+ :exampleMetadata: fixture=_generated
14078
+
14079
+ Example::
14080
+
14081
+ # The code below shows an example of how to instantiate this type.
14082
+ # The values are placeholders you should change.
14083
+ from aws_cdk import aws_ecs as ecs
14084
+
14085
+ f_sx_authorization_config_property = ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
14086
+ credentials_parameter="credentialsParameter",
14087
+ domain="domain"
14088
+ )
14089
+ '''
14090
+ if __debug__:
14091
+ type_hints = typing.get_type_hints(_typecheckingstub__f5e3b577af4628d7fb3319bd51694790c1cd0a62eae308c830c9dccee5d8ca1d)
14092
+ check_type(argname="argument credentials_parameter", value=credentials_parameter, expected_type=type_hints["credentials_parameter"])
14093
+ check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
14094
+ self._values: typing.Dict[builtins.str, typing.Any] = {
14095
+ "credentials_parameter": credentials_parameter,
14096
+ "domain": domain,
14097
+ }
14098
+
14099
+ @builtins.property
14100
+ def credentials_parameter(self) -> builtins.str:
14101
+ '''
14102
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html#cfn-ecs-taskdefinition-fsxauthorizationconfig-credentialsparameter
14103
+ '''
14104
+ result = self._values.get("credentials_parameter")
14105
+ assert result is not None, "Required property 'credentials_parameter' is missing"
14106
+ return typing.cast(builtins.str, result)
14107
+
14108
+ @builtins.property
14109
+ def domain(self) -> builtins.str:
14110
+ '''
14111
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html#cfn-ecs-taskdefinition-fsxauthorizationconfig-domain
14112
+ '''
14113
+ result = self._values.get("domain")
14114
+ assert result is not None, "Required property 'domain' is missing"
14115
+ return typing.cast(builtins.str, result)
14116
+
14117
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14118
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14119
+
14120
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14121
+ return not (rhs == self)
14122
+
14123
+ def __repr__(self) -> str:
14124
+ return "FSxAuthorizationConfigProperty(%s)" % ", ".join(
14125
+ k + "=" + repr(v) for k, v in self._values.items()
14126
+ )
14127
+
14128
+ @jsii.data_type(
14129
+ jsii_type="aws-cdk-lib.aws_ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty",
14130
+ jsii_struct_bases=[],
14131
+ name_mapping={
14132
+ "file_system_id": "fileSystemId",
14133
+ "root_directory": "rootDirectory",
14134
+ "authorization_config": "authorizationConfig",
14135
+ },
14136
+ )
14137
+ class FSxWindowsFileServerVolumeConfigurationProperty:
14138
+ def __init__(
14139
+ self,
14140
+ *,
14141
+ file_system_id: builtins.str,
14142
+ root_directory: builtins.str,
14143
+ authorization_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.FSxAuthorizationConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
14144
+ ) -> None:
14145
+ '''This parameter is specified when you're using `Amazon FSx for Windows File Server <https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html>`_ file system for task storage.
14146
+
14147
+ For more information and the input format, see `Amazon FSx for Windows File Server volumes <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
14148
+
14149
+ :param file_system_id: The Amazon FSx for Windows File Server file system ID to use.
14150
+ :param root_directory: The directory within the Amazon FSx for Windows File Server file system to mount as the root directory inside the host.
14151
+ :param authorization_config: The authorization configuration details for the Amazon FSx for Windows File Server file system.
14152
+
14153
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html
14154
+ :exampleMetadata: fixture=_generated
14155
+
14156
+ Example::
14157
+
14158
+ # The code below shows an example of how to instantiate this type.
14159
+ # The values are placeholders you should change.
14160
+ from aws_cdk import aws_ecs as ecs
14161
+
14162
+ f_sx_windows_file_server_volume_configuration_property = ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty(
14163
+ file_system_id="fileSystemId",
14164
+ root_directory="rootDirectory",
14165
+
14166
+ # the properties below are optional
14167
+ authorization_config=ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
14168
+ credentials_parameter="credentialsParameter",
14169
+ domain="domain"
14170
+ )
14171
+ )
14172
+ '''
14173
+ if __debug__:
14174
+ type_hints = typing.get_type_hints(_typecheckingstub__ef74e299375c10c97a6bb4455d35f14ea7c21e10b612cd0fb3958fd12601168f)
14175
+ check_type(argname="argument file_system_id", value=file_system_id, expected_type=type_hints["file_system_id"])
14176
+ check_type(argname="argument root_directory", value=root_directory, expected_type=type_hints["root_directory"])
14177
+ check_type(argname="argument authorization_config", value=authorization_config, expected_type=type_hints["authorization_config"])
14178
+ self._values: typing.Dict[builtins.str, typing.Any] = {
14179
+ "file_system_id": file_system_id,
14180
+ "root_directory": root_directory,
14181
+ }
14182
+ if authorization_config is not None:
14183
+ self._values["authorization_config"] = authorization_config
14184
+
14185
+ @builtins.property
14186
+ def file_system_id(self) -> builtins.str:
14187
+ '''The Amazon FSx for Windows File Server file system ID to use.
14188
+
14189
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html#cfn-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration-filesystemid
14190
+ '''
14191
+ result = self._values.get("file_system_id")
14192
+ assert result is not None, "Required property 'file_system_id' is missing"
14193
+ return typing.cast(builtins.str, result)
14194
+
14195
+ @builtins.property
14196
+ def root_directory(self) -> builtins.str:
14197
+ '''The directory within the Amazon FSx for Windows File Server file system to mount as the root directory inside the host.
14198
+
14199
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html#cfn-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration-rootdirectory
14200
+ '''
14201
+ result = self._values.get("root_directory")
14202
+ assert result is not None, "Required property 'root_directory' is missing"
14203
+ return typing.cast(builtins.str, result)
14204
+
14205
+ @builtins.property
14206
+ def authorization_config(
14207
+ self,
14208
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.FSxAuthorizationConfigProperty"]]:
14209
+ '''The authorization configuration details for the Amazon FSx for Windows File Server file system.
14210
+
14211
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration.html#cfn-ecs-taskdefinition-fsxwindowsfileservervolumeconfiguration-authorizationconfig
14212
+ '''
14213
+ result = self._values.get("authorization_config")
14214
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.FSxAuthorizationConfigProperty"]], result)
14215
+
14216
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
14217
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
14218
+
14219
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
14220
+ return not (rhs == self)
14221
+
14222
+ def __repr__(self) -> str:
14223
+ return "FSxWindowsFileServerVolumeConfigurationProperty(%s)" % ", ".join(
14224
+ k + "=" + repr(v) for k, v in self._values.items()
14225
+ )
14226
+
14007
14227
  @jsii.data_type(
14008
14228
  jsii_type="aws-cdk-lib.aws_ecs.CfnTaskDefinition.FirelensConfigurationProperty",
14009
14229
  jsii_struct_bases=[],
@@ -16067,6 +16287,7 @@ class CfnTaskDefinition(
16067
16287
  "configured_at_launch": "configuredAtLaunch",
16068
16288
  "docker_volume_configuration": "dockerVolumeConfiguration",
16069
16289
  "efs_volume_configuration": "efsVolumeConfiguration",
16290
+ "f_sx_windows_file_server_volume_configuration": "fSxWindowsFileServerVolumeConfiguration",
16070
16291
  "host": "host",
16071
16292
  "name": "name",
16072
16293
  },
@@ -16078,6 +16299,7 @@ class CfnTaskDefinition(
16078
16299
  configured_at_launch: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
16079
16300
  docker_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.DockerVolumeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16080
16301
  efs_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.EFSVolumeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16302
+ f_sx_windows_file_server_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16081
16303
  host: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.HostVolumePropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
16082
16304
  name: typing.Optional[builtins.str] = None,
16083
16305
  ) -> None:
@@ -16088,6 +16310,7 @@ class CfnTaskDefinition(
16088
16310
  :param configured_at_launch: Indicates whether the volume should be configured at launch time. This is used to create Amazon EBS volumes for standalone tasks or tasks created as part of a service. Each task definition revision may only have one volume configured at launch in the volume configuration. To configure a volume at launch time, use this task definition revision and specify a ``volumeConfigurations`` object when calling the ``CreateService`` , ``UpdateService`` , ``RunTask`` or ``StartTask`` APIs.
16089
16311
  :param docker_volume_configuration: This parameter is specified when you use Docker volumes. Windows containers only support the use of the ``local`` driver. To use bind mounts, specify the ``host`` parameter instead. .. epigraph:: Docker volumes aren't supported by tasks run on AWS Fargate .
16090
16312
  :param efs_volume_configuration: This parameter is specified when you use an Amazon Elastic File System file system for task storage.
16313
+ :param f_sx_windows_file_server_volume_configuration: This parameter is specified when you use Amazon FSx for Windows File Server file system for task storage.
16091
16314
  :param host: This parameter is specified when you use bind mount host volumes. The contents of the ``host`` parameter determine whether your bind mount host volume persists on the host container instance and where it's stored. If the ``host`` parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running. Windows containers can mount whole directories on the same drive as ``$env:ProgramData`` . Windows containers can't mount directories on a different drive, and mount point can't be across drives. For example, you can mount ``C:\\my\\path:C:\\my\\path`` and ``D:\\:D:\\`` , but not ``D:\\my\\path:C:\\my\\path`` or ``D:\\:C:\\my\\path`` .
16092
16315
  :param name: The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. When using a volume configured at launch, the ``name`` is required and must also be specified as the volume name in the ``ServiceVolumeConfiguration`` or ``TaskVolumeConfiguration`` parameter when creating your service or standalone task. For all other types of volumes, this name is referenced in the ``sourceVolume`` parameter of the ``mountPoints`` object in the container definition. When a volume is using the ``efsVolumeConfiguration`` , the name is required.
16093
16316
 
@@ -16125,6 +16348,16 @@ class CfnTaskDefinition(
16125
16348
  transit_encryption="transitEncryption",
16126
16349
  transit_encryption_port=123
16127
16350
  ),
16351
+ f_sx_windows_file_server_volume_configuration=ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty(
16352
+ file_system_id="fileSystemId",
16353
+ root_directory="rootDirectory",
16354
+
16355
+ # the properties below are optional
16356
+ authorization_config=ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
16357
+ credentials_parameter="credentialsParameter",
16358
+ domain="domain"
16359
+ )
16360
+ ),
16128
16361
  host=ecs.CfnTaskDefinition.HostVolumePropertiesProperty(
16129
16362
  source_path="sourcePath"
16130
16363
  ),
@@ -16136,6 +16369,7 @@ class CfnTaskDefinition(
16136
16369
  check_type(argname="argument configured_at_launch", value=configured_at_launch, expected_type=type_hints["configured_at_launch"])
16137
16370
  check_type(argname="argument docker_volume_configuration", value=docker_volume_configuration, expected_type=type_hints["docker_volume_configuration"])
16138
16371
  check_type(argname="argument efs_volume_configuration", value=efs_volume_configuration, expected_type=type_hints["efs_volume_configuration"])
16372
+ check_type(argname="argument f_sx_windows_file_server_volume_configuration", value=f_sx_windows_file_server_volume_configuration, expected_type=type_hints["f_sx_windows_file_server_volume_configuration"])
16139
16373
  check_type(argname="argument host", value=host, expected_type=type_hints["host"])
16140
16374
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
16141
16375
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -16145,6 +16379,8 @@ class CfnTaskDefinition(
16145
16379
  self._values["docker_volume_configuration"] = docker_volume_configuration
16146
16380
  if efs_volume_configuration is not None:
16147
16381
  self._values["efs_volume_configuration"] = efs_volume_configuration
16382
+ if f_sx_windows_file_server_volume_configuration is not None:
16383
+ self._values["f_sx_windows_file_server_volume_configuration"] = f_sx_windows_file_server_volume_configuration
16148
16384
  if host is not None:
16149
16385
  self._values["host"] = host
16150
16386
  if name is not None:
@@ -16192,6 +16428,17 @@ class CfnTaskDefinition(
16192
16428
  result = self._values.get("efs_volume_configuration")
16193
16429
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.EFSVolumeConfigurationProperty"]], result)
16194
16430
 
16431
+ @builtins.property
16432
+ def f_sx_windows_file_server_volume_configuration(
16433
+ self,
16434
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty"]]:
16435
+ '''This parameter is specified when you use Amazon FSx for Windows File Server file system for task storage.
16436
+
16437
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-volume.html#cfn-ecs-taskdefinition-volume-fsxwindowsfileservervolumeconfiguration
16438
+ '''
16439
+ result = self._values.get("f_sx_windows_file_server_volume_configuration")
16440
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty"]], result)
16441
+
16195
16442
  @builtins.property
16196
16443
  def host(
16197
16444
  self,
@@ -16504,6 +16751,16 @@ class CfnTaskDefinitionProps:
16504
16751
  transit_encryption="transitEncryption",
16505
16752
  transit_encryption_port=123
16506
16753
  ),
16754
+ f_sx_windows_file_server_volume_configuration=ecs.CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty(
16755
+ file_system_id="fileSystemId",
16756
+ root_directory="rootDirectory",
16757
+
16758
+ # the properties below are optional
16759
+ authorization_config=ecs.CfnTaskDefinition.FSxAuthorizationConfigProperty(
16760
+ credentials_parameter="credentialsParameter",
16761
+ domain="domain"
16762
+ )
16763
+ ),
16507
16764
  host=ecs.CfnTaskDefinition.HostVolumePropertiesProperty(
16508
16765
  source_path="sourcePath"
16509
16766
  ),
@@ -19119,6 +19376,19 @@ class ContainerDefinition(
19119
19376
  check_type(argname="argument container_dependencies", value=container_dependencies, expected_type=typing.Tuple[type_hints["container_dependencies"], ...]) # pyright: ignore [reportGeneralTypeIssues]
19120
19377
  return typing.cast(None, jsii.invoke(self, "addContainerDependencies", [*container_dependencies]))
19121
19378
 
19379
+ @jsii.member(jsii_name="addDockerLabel")
19380
+ def add_docker_label(self, name: builtins.str, value: builtins.str) -> None:
19381
+ '''This method adds a Docker label to the container.
19382
+
19383
+ :param name: -
19384
+ :param value: -
19385
+ '''
19386
+ if __debug__:
19387
+ type_hints = typing.get_type_hints(_typecheckingstub__de228f279641285922f39a7d85fc376918c045b328369fc61474e4677857075b)
19388
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
19389
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
19390
+ return typing.cast(None, jsii.invoke(self, "addDockerLabel", [name, value]))
19391
+
19122
19392
  @jsii.member(jsii_name="addEnvironment")
19123
19393
  def add_environment(self, name: builtins.str, value: builtins.str) -> None:
19124
19394
  '''This method adds an environment variable to the container.
@@ -23093,7 +23363,7 @@ class Ec2TaskDefinitionProps(CommonTaskDefinitionProps):
23093
23363
  :param inference_accelerators: The inference accelerators to use for the containers in the task. Not supported in Fargate. Default: - No inference accelerators.
23094
23364
  :param ipc_mode: The IPC resource namespace to use for the containers in the task. Not supported in Fargate and Windows containers. Default: - IpcMode used by the task is not specified
23095
23365
  :param network_mode: The Docker networking mode to use for the containers in the task. The valid values are NONE, BRIDGE, AWS_VPC, and HOST. Default: - NetworkMode.BRIDGE for EC2 tasks, AWS_VPC for Fargate tasks.
23096
- :param pid_mode: The process namespace to use for the containers in the task. Not supported in Fargate and Windows containers. Default: - PidMode used by the task is not specified
23366
+ :param pid_mode: The process namespace to use for the containers in the task. Not supported in Windows containers. Default: - PidMode used by the task is not specified
23097
23367
  :param placement_constraints: An array of placement constraint objects to use for the task. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time). Default: - No placement constraints.
23098
23368
 
23099
23369
  :exampleMetadata: infused
@@ -23235,7 +23505,7 @@ class Ec2TaskDefinitionProps(CommonTaskDefinitionProps):
23235
23505
  def pid_mode(self) -> typing.Optional["PidMode"]:
23236
23506
  '''The process namespace to use for the containers in the task.
23237
23507
 
23238
- Not supported in Fargate and Windows containers.
23508
+ Not supported in Windows containers.
23239
23509
 
23240
23510
  :default: - PidMode used by the task is not specified
23241
23511
  '''
@@ -25759,6 +26029,7 @@ class FargateTaskDefinitionAttributes(CommonTaskDefinitionAttributes):
25759
26029
  "cpu": "cpu",
25760
26030
  "ephemeral_storage_gib": "ephemeralStorageGiB",
25761
26031
  "memory_limit_mib": "memoryLimitMiB",
26032
+ "pid_mode": "pidMode",
25762
26033
  "runtime_platform": "runtimePlatform",
25763
26034
  },
25764
26035
  )
@@ -25774,6 +26045,7 @@ class FargateTaskDefinitionProps(CommonTaskDefinitionProps):
25774
26045
  cpu: typing.Optional[jsii.Number] = None,
25775
26046
  ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
25776
26047
  memory_limit_mib: typing.Optional[jsii.Number] = None,
26048
+ pid_mode: typing.Optional["PidMode"] = None,
25777
26049
  runtime_platform: typing.Optional[typing.Union["RuntimePlatform", typing.Dict[builtins.str, typing.Any]]] = None,
25778
26050
  ) -> None:
25779
26051
  '''The properties for a task definition.
@@ -25786,26 +26058,21 @@ class FargateTaskDefinitionProps(CommonTaskDefinitionProps):
25786
26058
  :param cpu: The number of cpu units used by the task. For tasks using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter: 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) 8192 (8 vCPU) - Available memory values: Between 16384 (16 GB) and 61440 (60 GB) in increments of 4096 (4 GB) 16384 (16 vCPU) - Available memory values: Between 32768 (32 GB) and 122880 (120 GB) in increments of 8192 (8 GB) Default: 256
25787
26059
  :param ephemeral_storage_gib: The amount (in GiB) of ephemeral storage to be allocated to the task. The maximum supported value is 200 GiB. NOTE: This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later. Default: 20
25788
26060
  :param memory_limit_mib: The amount (in MiB) of memory used by the task. For tasks using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU) 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU) 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU) Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU) Between 16384 (16 GB) and 61440 (60 GB) in increments of 4096 (4 GB) - Available cpu values: 8192 (8 vCPU) Between 32768 (32 GB) and 122880 (120 GB) in increments of 8192 (8 GB) - Available cpu values: 16384 (16 vCPU) Default: 512
26061
+ :param pid_mode: The process namespace to use for the containers in the task. Only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version 1.4.0 or later (Linux). Not supported in Windows containers. Default: - PidMode used by the task is not specified
25789
26062
  :param runtime_platform: The operating system that your task definitions are running on. A runtimePlatform is supported only for tasks using the Fargate launch type. Default: - Undefined.
25790
26063
 
25791
26064
  :exampleMetadata: infused
25792
26065
 
25793
26066
  Example::
25794
26067
 
25795
- # Create a Task Definition for the Windows container to start
25796
- task_definition = ecs.FargateTaskDefinition(self, "TaskDef",
26068
+ fargate_task_definition = ecs.FargateTaskDefinition(self, "TaskDef",
25797
26069
  runtime_platform=ecs.RuntimePlatform(
25798
- operating_system_family=ecs.OperatingSystemFamily.WINDOWS_SERVER_2019_CORE,
25799
- cpu_architecture=ecs.CpuArchitecture.X86_64
26070
+ operating_system_family=ecs.OperatingSystemFamily.LINUX,
26071
+ cpu_architecture=ecs.CpuArchitecture.ARM64
25800
26072
  ),
25801
- cpu=1024,
25802
- memory_limit_mi_b=2048
25803
- )
25804
-
25805
- task_definition.add_container("windowsservercore",
25806
- logging=ecs.LogDriver.aws_logs(stream_prefix="win-iis-on-fargate"),
25807
- port_mappings=[ecs.PortMapping(container_port=80)],
25808
- image=ecs.ContainerImage.from_registry("mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019")
26073
+ memory_limit_mi_b=512,
26074
+ cpu=256,
26075
+ pid_mode=ecs.PidMode.HOST
25809
26076
  )
25810
26077
  '''
25811
26078
  if isinstance(runtime_platform, dict):
@@ -25820,6 +26087,7 @@ class FargateTaskDefinitionProps(CommonTaskDefinitionProps):
25820
26087
  check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"])
25821
26088
  check_type(argname="argument ephemeral_storage_gib", value=ephemeral_storage_gib, expected_type=type_hints["ephemeral_storage_gib"])
25822
26089
  check_type(argname="argument memory_limit_mib", value=memory_limit_mib, expected_type=type_hints["memory_limit_mib"])
26090
+ check_type(argname="argument pid_mode", value=pid_mode, expected_type=type_hints["pid_mode"])
25823
26091
  check_type(argname="argument runtime_platform", value=runtime_platform, expected_type=type_hints["runtime_platform"])
25824
26092
  self._values: typing.Dict[builtins.str, typing.Any] = {}
25825
26093
  if execution_role is not None:
@@ -25838,6 +26106,8 @@ class FargateTaskDefinitionProps(CommonTaskDefinitionProps):
25838
26106
  self._values["ephemeral_storage_gib"] = ephemeral_storage_gib
25839
26107
  if memory_limit_mib is not None:
25840
26108
  self._values["memory_limit_mib"] = memory_limit_mib
26109
+ if pid_mode is not None:
26110
+ self._values["pid_mode"] = pid_mode
25841
26111
  if runtime_platform is not None:
25842
26112
  self._values["runtime_platform"] = runtime_platform
25843
26113
 
@@ -25959,6 +26229,19 @@ class FargateTaskDefinitionProps(CommonTaskDefinitionProps):
25959
26229
  result = self._values.get("memory_limit_mib")
25960
26230
  return typing.cast(typing.Optional[jsii.Number], result)
25961
26231
 
26232
+ @builtins.property
26233
+ def pid_mode(self) -> typing.Optional["PidMode"]:
26234
+ '''The process namespace to use for the containers in the task.
26235
+
26236
+ Only supported for tasks that are hosted on AWS Fargate if the tasks
26237
+ are using platform version 1.4.0 or later (Linux).
26238
+ Not supported in Windows containers.
26239
+
26240
+ :default: - PidMode used by the task is not specified
26241
+ '''
26242
+ result = self._values.get("pid_mode")
26243
+ return typing.cast(typing.Optional["PidMode"], result)
26244
+
25962
26245
  @builtins.property
25963
26246
  def runtime_platform(self) -> typing.Optional["RuntimePlatform"]:
25964
26247
  '''The operating system that your task definitions are running on.
@@ -31126,7 +31409,22 @@ class OperatingSystemFamily(
31126
31409
 
31127
31410
  @jsii.enum(jsii_type="aws-cdk-lib.aws_ecs.PidMode")
31128
31411
  class PidMode(enum.Enum):
31129
- '''The process namespace to use for the containers in the task.'''
31412
+ '''The process namespace to use for the containers in the task.
31413
+
31414
+ :exampleMetadata: infused
31415
+
31416
+ Example::
31417
+
31418
+ fargate_task_definition = ecs.FargateTaskDefinition(self, "TaskDef",
31419
+ runtime_platform=ecs.RuntimePlatform(
31420
+ operating_system_family=ecs.OperatingSystemFamily.LINUX,
31421
+ cpu_architecture=ecs.CpuArchitecture.ARM64
31422
+ ),
31423
+ memory_limit_mi_b=512,
31424
+ cpu=256,
31425
+ pid_mode=ecs.PidMode.HOST
31426
+ )
31427
+ '''
31130
31428
 
31131
31429
  HOST = "HOST"
31132
31430
  '''If host is specified, then all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance.'''
@@ -34894,7 +35192,7 @@ class TaskDefinition(
34894
35192
  :param ipc_mode: The IPC resource namespace to use for the containers in the task. Not supported in Fargate and Windows containers. Default: - IpcMode used by the task is not specified
34895
35193
  :param memory_mib: The amount (in MiB) of memory used by the task. If using the EC2 launch type, this field is optional and any value can be used. If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU) 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU) 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU) Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU) Between 16384 (16 GB) and 61440 (60 GB) in increments of 4096 (4 GB) - Available cpu values: 8192 (8 vCPU) Between 32768 (32 GB) and 122880 (120 GB) in increments of 8192 (8 GB) - Available cpu values: 16384 (16 vCPU) Default: - Memory used by task is not specified.
34896
35194
  :param network_mode: The networking mode to use for the containers in the task. On Fargate, the only supported networking mode is AwsVpc. Default: - NetworkMode.Bridge for EC2 & External tasks, AwsVpc for Fargate tasks.
34897
- :param pid_mode: The process namespace to use for the containers in the task. Not supported in Fargate and Windows containers. Default: - PidMode used by the task is not specified
35195
+ :param pid_mode: The process namespace to use for the containers in the task. Only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version 1.4.0 or later (Linux). Not supported in Windows containers. Default: - PidMode used by the task is not specified
34898
35196
  :param placement_constraints: The placement constraints to use for tasks in the service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time). Not supported in Fargate. Default: - No placement constraints.
34899
35197
  :param runtime_platform: The operating system that your task definitions are running on. A runtimePlatform is supported only for tasks using the Fargate launch type. Default: - Undefined.
34900
35198
  :param execution_role: The name of the IAM task execution role that grants the ECS agent permission to call AWS APIs on your behalf. The role will be used to retrieve container images from ECR and create CloudWatch log groups. Default: - An execution role will be automatically created if you use ECR images in your task definition.
@@ -35464,6 +35762,17 @@ class TaskDefinition(
35464
35762
  '''Execution role for this task definition.'''
35465
35763
  return typing.cast(typing.Optional[_IRole_235f5d8e], jsii.get(self, "executionRole"))
35466
35764
 
35765
+ @builtins.property
35766
+ @jsii.member(jsii_name="pidMode")
35767
+ def pid_mode(self) -> typing.Optional[PidMode]:
35768
+ '''The process namespace to use for the containers in the task.
35769
+
35770
+ Only supported for tasks that are hosted on AWS Fargate if the tasks
35771
+ are using platform version 1.4.0 or later (Linux).
35772
+ Not supported in Windows containers.
35773
+ '''
35774
+ return typing.cast(typing.Optional[PidMode], jsii.get(self, "pidMode"))
35775
+
35467
35776
  @builtins.property
35468
35777
  @jsii.member(jsii_name="referencesSecretJsonField")
35469
35778
  def references_secret_json_field(self) -> typing.Optional[builtins.bool]:
@@ -35670,7 +35979,7 @@ class TaskDefinitionProps(CommonTaskDefinitionProps):
35670
35979
  :param ipc_mode: The IPC resource namespace to use for the containers in the task. Not supported in Fargate and Windows containers. Default: - IpcMode used by the task is not specified
35671
35980
  :param memory_mib: The amount (in MiB) of memory used by the task. If using the EC2 launch type, this field is optional and any value can be used. If using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU) 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU) 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU) Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU) Between 16384 (16 GB) and 61440 (60 GB) in increments of 4096 (4 GB) - Available cpu values: 8192 (8 vCPU) Between 32768 (32 GB) and 122880 (120 GB) in increments of 8192 (8 GB) - Available cpu values: 16384 (16 vCPU) Default: - Memory used by task is not specified.
35672
35981
  :param network_mode: The networking mode to use for the containers in the task. On Fargate, the only supported networking mode is AwsVpc. Default: - NetworkMode.Bridge for EC2 & External tasks, AwsVpc for Fargate tasks.
35673
- :param pid_mode: The process namespace to use for the containers in the task. Not supported in Fargate and Windows containers. Default: - PidMode used by the task is not specified
35982
+ :param pid_mode: The process namespace to use for the containers in the task. Only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version 1.4.0 or later (Linux). Not supported in Windows containers. Default: - PidMode used by the task is not specified
35674
35983
  :param placement_constraints: The placement constraints to use for tasks in the service. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time). Not supported in Fargate. Default: - No placement constraints.
35675
35984
  :param runtime_platform: The operating system that your task definitions are running on. A runtimePlatform is supported only for tasks using the Fargate launch type. Default: - Undefined.
35676
35985
 
@@ -35922,7 +36231,9 @@ class TaskDefinitionProps(CommonTaskDefinitionProps):
35922
36231
  def pid_mode(self) -> typing.Optional[PidMode]:
35923
36232
  '''The process namespace to use for the containers in the task.
35924
36233
 
35925
- Not supported in Fargate and Windows containers.
36234
+ Only supported for tasks that are hosted on AWS Fargate if the tasks
36235
+ are using platform version 1.4.0 or later (Linux).
36236
+ Not supported in Windows containers.
35926
36237
 
35927
36238
  :default: - PidMode used by the task is not specified
35928
36239
  '''
@@ -39318,7 +39629,7 @@ class Ec2TaskDefinition(
39318
39629
  :param inference_accelerators: The inference accelerators to use for the containers in the task. Not supported in Fargate. Default: - No inference accelerators.
39319
39630
  :param ipc_mode: The IPC resource namespace to use for the containers in the task. Not supported in Fargate and Windows containers. Default: - IpcMode used by the task is not specified
39320
39631
  :param network_mode: The Docker networking mode to use for the containers in the task. The valid values are NONE, BRIDGE, AWS_VPC, and HOST. Default: - NetworkMode.BRIDGE for EC2 tasks, AWS_VPC for Fargate tasks.
39321
- :param pid_mode: The process namespace to use for the containers in the task. Not supported in Fargate and Windows containers. Default: - PidMode used by the task is not specified
39632
+ :param pid_mode: The process namespace to use for the containers in the task. Not supported in Windows containers. Default: - PidMode used by the task is not specified
39322
39633
  :param placement_constraints: An array of placement constraint objects to use for the task. You can specify a maximum of 10 constraints per task (this limit includes constraints in the task definition and those specified at run time). Default: - No placement constraints.
39323
39634
  :param execution_role: The name of the IAM task execution role that grants the ECS agent permission to call AWS APIs on your behalf. The role will be used to retrieve container images from ECR and create CloudWatch log groups. Default: - An execution role will be automatically created if you use ECR images in your task definition.
39324
39635
  :param family: The name of a family that this task definition is registered to. A family groups multiple versions of a task definition. Default: - Automatically generated name.
@@ -40182,6 +40493,7 @@ class FargateTaskDefinition(
40182
40493
  cpu: typing.Optional[jsii.Number] = None,
40183
40494
  ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
40184
40495
  memory_limit_mib: typing.Optional[jsii.Number] = None,
40496
+ pid_mode: typing.Optional[PidMode] = None,
40185
40497
  runtime_platform: typing.Optional[typing.Union[RuntimePlatform, typing.Dict[builtins.str, typing.Any]]] = None,
40186
40498
  execution_role: typing.Optional[_IRole_235f5d8e] = None,
40187
40499
  family: typing.Optional[builtins.str] = None,
@@ -40196,6 +40508,7 @@ class FargateTaskDefinition(
40196
40508
  :param cpu: The number of cpu units used by the task. For tasks using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the memory parameter: 256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) 512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) 1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) 2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) 4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) 8192 (8 vCPU) - Available memory values: Between 16384 (16 GB) and 61440 (60 GB) in increments of 4096 (4 GB) 16384 (16 vCPU) - Available memory values: Between 32768 (32 GB) and 122880 (120 GB) in increments of 8192 (8 GB) Default: 256
40197
40509
  :param ephemeral_storage_gib: The amount (in GiB) of ephemeral storage to be allocated to the task. The maximum supported value is 200 GiB. NOTE: This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later. Default: 20
40198
40510
  :param memory_limit_mib: The amount (in MiB) of memory used by the task. For tasks using the Fargate launch type, this field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU) 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU) 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU) Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU) Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU) Between 16384 (16 GB) and 61440 (60 GB) in increments of 4096 (4 GB) - Available cpu values: 8192 (8 vCPU) Between 32768 (32 GB) and 122880 (120 GB) in increments of 8192 (8 GB) - Available cpu values: 16384 (16 vCPU) Default: 512
40511
+ :param pid_mode: The process namespace to use for the containers in the task. Only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version 1.4.0 or later (Linux). Not supported in Windows containers. Default: - PidMode used by the task is not specified
40199
40512
  :param runtime_platform: The operating system that your task definitions are running on. A runtimePlatform is supported only for tasks using the Fargate launch type. Default: - Undefined.
40200
40513
  :param execution_role: The name of the IAM task execution role that grants the ECS agent permission to call AWS APIs on your behalf. The role will be used to retrieve container images from ECR and create CloudWatch log groups. Default: - An execution role will be automatically created if you use ECR images in your task definition.
40201
40514
  :param family: The name of a family that this task definition is registered to. A family groups multiple versions of a task definition. Default: - Automatically generated name.
@@ -40211,6 +40524,7 @@ class FargateTaskDefinition(
40211
40524
  cpu=cpu,
40212
40525
  ephemeral_storage_gib=ephemeral_storage_gib,
40213
40526
  memory_limit_mib=memory_limit_mib,
40527
+ pid_mode=pid_mode,
40214
40528
  runtime_platform=runtime_platform,
40215
40529
  execution_role=execution_role,
40216
40530
  family=family,
@@ -41747,6 +42061,23 @@ def _typecheckingstub__fdddb0d48923d3583475a8b34d0a6079606e57e6de57c6ca22978691d
41747
42061
  """Type checking stubs"""
41748
42062
  pass
41749
42063
 
42064
+ def _typecheckingstub__f5e3b577af4628d7fb3319bd51694790c1cd0a62eae308c830c9dccee5d8ca1d(
42065
+ *,
42066
+ credentials_parameter: builtins.str,
42067
+ domain: builtins.str,
42068
+ ) -> None:
42069
+ """Type checking stubs"""
42070
+ pass
42071
+
42072
+ def _typecheckingstub__ef74e299375c10c97a6bb4455d35f14ea7c21e10b612cd0fb3958fd12601168f(
42073
+ *,
42074
+ file_system_id: builtins.str,
42075
+ root_directory: builtins.str,
42076
+ authorization_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.FSxAuthorizationConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
42077
+ ) -> None:
42078
+ """Type checking stubs"""
42079
+ pass
42080
+
41750
42081
  def _typecheckingstub__6a1cd84d62e34083a37bc4c25d849ac547dacc5fe8a4db04170cf83e3cd1e9d3(
41751
42082
  *,
41752
42083
  options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
@@ -41935,6 +42266,7 @@ def _typecheckingstub__0b8eeaf561ff6334fbacca7f706104a9a5e10a366526af78d2a6b7173
41935
42266
  configured_at_launch: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
41936
42267
  docker_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.DockerVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
41937
42268
  efs_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.EFSVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
42269
+ f_sx_windows_file_server_volume_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.FSxWindowsFileServerVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
41938
42270
  host: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.HostVolumePropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
41939
42271
  name: typing.Optional[builtins.str] = None,
41940
42272
  ) -> None:
@@ -42242,6 +42574,13 @@ def _typecheckingstub__eaae7939e3070d8ba1648d9807145fdc669cf24de157aecd86b7964eb
42242
42574
  """Type checking stubs"""
42243
42575
  pass
42244
42576
 
42577
+ def _typecheckingstub__de228f279641285922f39a7d85fc376918c045b328369fc61474e4677857075b(
42578
+ name: builtins.str,
42579
+ value: builtins.str,
42580
+ ) -> None:
42581
+ """Type checking stubs"""
42582
+ pass
42583
+
42245
42584
  def _typecheckingstub__bd4e688cf16aa827db1051180c9efb1f81ef776616c928afb625422d094bcca6(
42246
42585
  name: builtins.str,
42247
42586
  value: builtins.str,
@@ -42924,6 +43263,7 @@ def _typecheckingstub__da4d0b48fbacde979163c93d7fd8d5697220f750806124aabb65f0c3d
42924
43263
  cpu: typing.Optional[jsii.Number] = None,
42925
43264
  ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
42926
43265
  memory_limit_mib: typing.Optional[jsii.Number] = None,
43266
+ pid_mode: typing.Optional[PidMode] = None,
42927
43267
  runtime_platform: typing.Optional[typing.Union[RuntimePlatform, typing.Dict[builtins.str, typing.Any]]] = None,
42928
43268
  ) -> None:
42929
43269
  """Type checking stubs"""
@@ -44659,6 +44999,7 @@ def _typecheckingstub__d6eac52d828f2df0ab5e16014f889cf23534875319ae4b479cd554d53
44659
44999
  cpu: typing.Optional[jsii.Number] = None,
44660
45000
  ephemeral_storage_gib: typing.Optional[jsii.Number] = None,
44661
45001
  memory_limit_mib: typing.Optional[jsii.Number] = None,
45002
+ pid_mode: typing.Optional[PidMode] = None,
44662
45003
  runtime_platform: typing.Optional[typing.Union[RuntimePlatform, typing.Dict[builtins.str, typing.Any]]] = None,
44663
45004
  execution_role: typing.Optional[_IRole_235f5d8e] = None,
44664
45005
  family: typing.Optional[builtins.str] = None,