aws-cdk-lib 2.219.0__py3-none-any.whl → 2.221.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 (290) hide show
  1. aws_cdk/__init__.py +33 -35
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.219.0.jsii.tgz → aws-cdk-lib@2.221.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -0
  5. aws_cdk/aws_accessanalyzer/__init__.py +3 -0
  6. aws_cdk/aws_acmpca/__init__.py +4 -1
  7. aws_cdk/aws_aiops/__init__.py +3 -0
  8. aws_cdk/aws_amazonmq/__init__.py +3 -29
  9. aws_cdk/aws_amplify/__init__.py +3 -0
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +3 -0
  11. aws_cdk/aws_apigateway/__init__.py +3 -0
  12. aws_cdk/aws_apigatewayv2/__init__.py +3 -0
  13. aws_cdk/aws_appconfig/__init__.py +3 -29
  14. aws_cdk/aws_appflow/__init__.py +3 -0
  15. aws_cdk/aws_appintegrations/__init__.py +3 -0
  16. aws_cdk/aws_applicationautoscaling/__init__.py +3 -0
  17. aws_cdk/aws_applicationinsights/__init__.py +3 -0
  18. aws_cdk/aws_applicationsignals/__init__.py +453 -2
  19. aws_cdk/aws_appmesh/__init__.py +3 -0
  20. aws_cdk/aws_apprunner/__init__.py +3 -0
  21. aws_cdk/aws_appstream/__init__.py +3 -0
  22. aws_cdk/aws_appsync/__init__.py +3 -0
  23. aws_cdk/aws_apptest/__init__.py +3 -0
  24. aws_cdk/aws_aps/__init__.py +1168 -83
  25. aws_cdk/aws_arcregionswitch/__init__.py +11 -0
  26. aws_cdk/aws_arczonalshift/__init__.py +3 -0
  27. aws_cdk/aws_athena/__init__.py +3 -0
  28. aws_cdk/aws_auditmanager/__init__.py +3 -0
  29. aws_cdk/aws_autoscaling/__init__.py +3 -0
  30. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  31. aws_cdk/aws_autoscalingplans/__init__.py +3 -0
  32. aws_cdk/aws_b2bi/__init__.py +3 -0
  33. aws_cdk/aws_backup/__init__.py +32 -29
  34. aws_cdk/aws_backupgateway/__init__.py +3 -0
  35. aws_cdk/aws_batch/__init__.py +112 -7
  36. aws_cdk/aws_bcmdataexports/__init__.py +3 -0
  37. aws_cdk/aws_bedrock/__init__.py +53 -45
  38. aws_cdk/aws_bedrockagentcore/__init__.py +8499 -1732
  39. aws_cdk/aws_billingconductor/__init__.py +3 -0
  40. aws_cdk/aws_budgets/__init__.py +3 -0
  41. aws_cdk/aws_cassandra/__init__.py +3 -0
  42. aws_cdk/aws_ce/__init__.py +3 -0
  43. aws_cdk/aws_certificatemanager/__init__.py +3 -0
  44. aws_cdk/aws_chatbot/__init__.py +3 -0
  45. aws_cdk/aws_cleanrooms/__init__.py +3 -0
  46. aws_cdk/aws_cleanroomsml/__init__.py +3 -0
  47. aws_cdk/aws_cloud9/__init__.py +3 -0
  48. aws_cdk/aws_cloudformation/__init__.py +3 -0
  49. aws_cdk/aws_cloudfront/__init__.py +69 -3
  50. aws_cdk/aws_cloudfront/experimental/__init__.py +4 -0
  51. aws_cdk/aws_cloudfront_origins/__init__.py +87 -6
  52. aws_cdk/aws_cloudtrail/__init__.py +3 -0
  53. aws_cdk/aws_cloudwatch/__init__.py +8 -5
  54. aws_cdk/aws_codeartifact/__init__.py +3 -0
  55. aws_cdk/aws_codebuild/__init__.py +3 -0
  56. aws_cdk/aws_codecommit/__init__.py +3 -0
  57. aws_cdk/aws_codeconnections/__init__.py +3 -0
  58. aws_cdk/aws_codedeploy/__init__.py +3 -0
  59. aws_cdk/aws_codeguruprofiler/__init__.py +3 -0
  60. aws_cdk/aws_codegurureviewer/__init__.py +3 -0
  61. aws_cdk/aws_codepipeline/__init__.py +3 -0
  62. aws_cdk/aws_codepipeline_actions/__init__.py +3 -0
  63. aws_cdk/aws_codestar/__init__.py +3 -0
  64. aws_cdk/aws_codestarconnections/__init__.py +3 -0
  65. aws_cdk/aws_codestarnotifications/__init__.py +3 -0
  66. aws_cdk/aws_cognito/__init__.py +9 -4
  67. aws_cdk/aws_cognito_identitypool/__init__.py +3 -0
  68. aws_cdk/aws_comprehend/__init__.py +3 -0
  69. aws_cdk/aws_config/__init__.py +3 -0
  70. aws_cdk/aws_connect/__init__.py +1232 -2
  71. aws_cdk/aws_connectcampaigns/__init__.py +3 -0
  72. aws_cdk/aws_connectcampaignsv2/__init__.py +3 -0
  73. aws_cdk/aws_controltower/__init__.py +3 -0
  74. aws_cdk/aws_cur/__init__.py +3 -0
  75. aws_cdk/aws_customerprofiles/__init__.py +3 -29
  76. aws_cdk/aws_databrew/__init__.py +3 -0
  77. aws_cdk/aws_datapipeline/__init__.py +3 -0
  78. aws_cdk/aws_datasync/__init__.py +3 -0
  79. aws_cdk/aws_datazone/__init__.py +17 -15
  80. aws_cdk/aws_dax/__init__.py +15 -3
  81. aws_cdk/aws_deadline/__init__.py +3 -0
  82. aws_cdk/aws_detective/__init__.py +3 -0
  83. aws_cdk/aws_devicefarm/__init__.py +3 -0
  84. aws_cdk/aws_devopsguru/__init__.py +3 -0
  85. aws_cdk/aws_directoryservice/__init__.py +32 -0
  86. aws_cdk/aws_dlm/__init__.py +3 -0
  87. aws_cdk/aws_dms/__init__.py +3 -0
  88. aws_cdk/aws_docdb/__init__.py +14 -3
  89. aws_cdk/aws_docdbelastic/__init__.py +3 -0
  90. aws_cdk/aws_dsql/__init__.py +3 -0
  91. aws_cdk/aws_dynamodb/__init__.py +3 -0
  92. aws_cdk/aws_ec2/__init__.py +205 -48
  93. aws_cdk/aws_ecr/__init__.py +156 -33
  94. aws_cdk/aws_ecs/__init__.py +429 -182
  95. aws_cdk/aws_efs/__init__.py +3 -0
  96. aws_cdk/aws_eks/__init__.py +117 -67
  97. aws_cdk/aws_elasticache/__init__.py +3 -0
  98. aws_cdk/aws_elasticbeanstalk/__init__.py +3 -0
  99. aws_cdk/aws_elasticloadbalancing/__init__.py +3 -0
  100. aws_cdk/aws_elasticloadbalancingv2/__init__.py +445 -36
  101. aws_cdk/aws_elasticsearch/__init__.py +3 -0
  102. aws_cdk/aws_emr/__init__.py +3 -0
  103. aws_cdk/aws_emrcontainers/__init__.py +3 -0
  104. aws_cdk/aws_emrserverless/__init__.py +12 -11
  105. aws_cdk/aws_entityresolution/__init__.py +3 -0
  106. aws_cdk/aws_events/__init__.py +73 -29
  107. aws_cdk/aws_events_targets/__init__.py +3 -0
  108. aws_cdk/aws_eventschemas/__init__.py +3 -0
  109. aws_cdk/aws_evidently/__init__.py +3 -0
  110. aws_cdk/aws_evs/__init__.py +3 -0
  111. aws_cdk/aws_finspace/__init__.py +3 -0
  112. aws_cdk/aws_fis/__init__.py +3 -0
  113. aws_cdk/aws_fms/__init__.py +3 -0
  114. aws_cdk/aws_forecast/__init__.py +3 -0
  115. aws_cdk/aws_frauddetector/__init__.py +3 -0
  116. aws_cdk/aws_fsx/__init__.py +7 -4
  117. aws_cdk/aws_gamelift/__init__.py +3 -0
  118. aws_cdk/aws_gameliftstreams/__init__.py +8 -5
  119. aws_cdk/aws_globalaccelerator/__init__.py +3 -0
  120. aws_cdk/aws_glue/__init__.py +11 -80
  121. aws_cdk/aws_grafana/__init__.py +3 -0
  122. aws_cdk/aws_greengrass/__init__.py +3 -0
  123. aws_cdk/aws_greengrassv2/__init__.py +3 -0
  124. aws_cdk/aws_groundstation/__init__.py +3 -0
  125. aws_cdk/aws_guardduty/__init__.py +3 -0
  126. aws_cdk/aws_healthimaging/__init__.py +3 -0
  127. aws_cdk/aws_healthlake/__init__.py +3 -0
  128. aws_cdk/aws_iam/__init__.py +30 -32
  129. aws_cdk/aws_identitystore/__init__.py +3 -0
  130. aws_cdk/aws_imagebuilder/__init__.py +896 -0
  131. aws_cdk/aws_inspector/__init__.py +3 -0
  132. aws_cdk/aws_inspectorv2/__init__.py +3 -0
  133. aws_cdk/aws_internetmonitor/__init__.py +3 -0
  134. aws_cdk/aws_invoicing/__init__.py +3 -0
  135. aws_cdk/aws_iot/__init__.py +3 -0
  136. aws_cdk/aws_iotanalytics/__init__.py +3 -0
  137. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +3 -0
  138. aws_cdk/aws_iotevents/__init__.py +3 -0
  139. aws_cdk/aws_iotfleethub/__init__.py +3 -0
  140. aws_cdk/aws_iotfleetwise/__init__.py +3 -0
  141. aws_cdk/aws_iotsitewise/__init__.py +139 -80
  142. aws_cdk/aws_iotthingsgraph/__init__.py +3 -0
  143. aws_cdk/aws_iottwinmaker/__init__.py +3 -87
  144. aws_cdk/aws_iotwireless/__init__.py +61 -0
  145. aws_cdk/aws_ivs/__init__.py +3 -0
  146. aws_cdk/aws_ivschat/__init__.py +3 -0
  147. aws_cdk/aws_kafkaconnect/__init__.py +3 -0
  148. aws_cdk/aws_kendra/__init__.py +3 -58
  149. aws_cdk/aws_kendraranking/__init__.py +3 -0
  150. aws_cdk/aws_kinesis/__init__.py +98 -4
  151. aws_cdk/aws_kinesisanalytics/__init__.py +3 -0
  152. aws_cdk/aws_kinesisanalyticsv2/__init__.py +3 -0
  153. aws_cdk/aws_kinesisfirehose/__init__.py +1709 -10
  154. aws_cdk/aws_kinesisvideo/__init__.py +3 -29
  155. aws_cdk/aws_kms/__init__.py +3 -0
  156. aws_cdk/aws_lakeformation/__init__.py +3 -0
  157. aws_cdk/aws_lambda/__init__.py +57 -7
  158. aws_cdk/aws_lambda_nodejs/__init__.py +3 -0
  159. aws_cdk/aws_launchwizard/__init__.py +3 -0
  160. aws_cdk/aws_lex/__init__.py +3 -29
  161. aws_cdk/aws_licensemanager/__init__.py +3 -0
  162. aws_cdk/aws_lightsail/__init__.py +587 -0
  163. aws_cdk/aws_location/__init__.py +3 -0
  164. aws_cdk/aws_logs/__init__.py +283 -9
  165. aws_cdk/aws_lookoutequipment/__init__.py +3 -29
  166. aws_cdk/aws_lookoutmetrics/__init__.py +17 -2
  167. aws_cdk/aws_lookoutvision/__init__.py +3 -0
  168. aws_cdk/aws_m2/__init__.py +62 -13
  169. aws_cdk/aws_macie/__init__.py +3 -0
  170. aws_cdk/aws_managedblockchain/__init__.py +3 -0
  171. aws_cdk/aws_mediaconnect/__init__.py +3 -0
  172. aws_cdk/aws_mediaconvert/__init__.py +3 -0
  173. aws_cdk/aws_medialive/__init__.py +279 -33
  174. aws_cdk/aws_mediapackage/__init__.py +3 -0
  175. aws_cdk/aws_mediapackagev2/__init__.py +3 -0
  176. aws_cdk/aws_mediastore/__init__.py +3 -0
  177. aws_cdk/aws_mediatailor/__init__.py +3 -58
  178. aws_cdk/aws_memorydb/__init__.py +3 -0
  179. aws_cdk/aws_mpa/__init__.py +3 -0
  180. aws_cdk/aws_msk/__init__.py +3 -0
  181. aws_cdk/aws_mwaa/__init__.py +8 -5
  182. aws_cdk/aws_neptune/__init__.py +188 -70
  183. aws_cdk/aws_neptunegraph/__init__.py +3 -0
  184. aws_cdk/aws_networkfirewall/__init__.py +3 -0
  185. aws_cdk/aws_networkmanager/__init__.py +32 -0
  186. aws_cdk/aws_nimblestudio/__init__.py +3 -0
  187. aws_cdk/aws_notifications/__init__.py +3 -0
  188. aws_cdk/aws_notificationscontacts/__init__.py +3 -0
  189. aws_cdk/aws_oam/__init__.py +3 -0
  190. aws_cdk/aws_observabilityadmin/__init__.py +1365 -187
  191. aws_cdk/aws_odb/__init__.py +4 -1
  192. aws_cdk/aws_omics/__init__.py +10 -1
  193. aws_cdk/aws_opensearchserverless/__init__.py +3 -0
  194. aws_cdk/aws_opensearchservice/__init__.py +9 -0
  195. aws_cdk/aws_opsworks/__init__.py +3 -0
  196. aws_cdk/aws_opsworkscm/__init__.py +3 -0
  197. aws_cdk/aws_organizations/__init__.py +3 -116
  198. aws_cdk/aws_osis/__init__.py +157 -0
  199. aws_cdk/aws_panorama/__init__.py +3 -0
  200. aws_cdk/aws_paymentcryptography/__init__.py +3 -0
  201. aws_cdk/aws_pcaconnectorad/__init__.py +3 -0
  202. aws_cdk/aws_pcaconnectorscep/__init__.py +3 -0
  203. aws_cdk/aws_pcs/__init__.py +227 -33
  204. aws_cdk/aws_personalize/__init__.py +3 -0
  205. aws_cdk/aws_pinpoint/__init__.py +61 -58
  206. aws_cdk/aws_pinpointemail/__init__.py +3 -0
  207. aws_cdk/aws_pipes/__init__.py +3 -0
  208. aws_cdk/aws_proton/__init__.py +3 -0
  209. aws_cdk/aws_qbusiness/__init__.py +3 -174
  210. aws_cdk/aws_qldb/__init__.py +3 -29
  211. aws_cdk/aws_quicksight/__init__.py +493 -406
  212. aws_cdk/aws_ram/__init__.py +3 -0
  213. aws_cdk/aws_rbin/__init__.py +3 -0
  214. aws_cdk/aws_rds/__init__.py +71 -42
  215. aws_cdk/aws_redshift/__init__.py +3 -0
  216. aws_cdk/aws_redshiftserverless/__init__.py +3 -0
  217. aws_cdk/aws_refactorspaces/__init__.py +21 -6
  218. aws_cdk/aws_rekognition/__init__.py +3 -29
  219. aws_cdk/aws_resiliencehub/__init__.py +3 -0
  220. aws_cdk/aws_resourceexplorer2/__init__.py +3 -0
  221. aws_cdk/aws_resourcegroups/__init__.py +3 -0
  222. aws_cdk/aws_robomaker/__init__.py +3 -0
  223. aws_cdk/aws_rolesanywhere/__init__.py +3 -0
  224. aws_cdk/aws_route53/__init__.py +148 -24
  225. aws_cdk/aws_route53_targets/__init__.py +3 -0
  226. aws_cdk/aws_route53profiles/__init__.py +3 -0
  227. aws_cdk/aws_route53recoverycontrol/__init__.py +3 -0
  228. aws_cdk/aws_route53recoveryreadiness/__init__.py +3 -0
  229. aws_cdk/aws_route53resolver/__init__.py +11 -4
  230. aws_cdk/aws_rum/__init__.py +3 -0
  231. aws_cdk/aws_s3/__init__.py +80 -43
  232. aws_cdk/aws_s3_deployment/__init__.py +3 -0
  233. aws_cdk/aws_s3express/__init__.py +3 -0
  234. aws_cdk/aws_s3objectlambda/__init__.py +47 -12
  235. aws_cdk/aws_s3outposts/__init__.py +3 -0
  236. aws_cdk/aws_s3tables/__init__.py +3 -0
  237. aws_cdk/aws_sagemaker/__init__.py +166 -87
  238. aws_cdk/aws_sam/__init__.py +3 -0
  239. aws_cdk/aws_scheduler/__init__.py +3 -29
  240. aws_cdk/aws_sdb/__init__.py +3 -0
  241. aws_cdk/aws_secretsmanager/__init__.py +3 -0
  242. aws_cdk/aws_securityhub/__init__.py +3 -0
  243. aws_cdk/aws_securitylake/__init__.py +3 -0
  244. aws_cdk/aws_servicecatalog/__init__.py +161 -144
  245. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -0
  246. aws_cdk/aws_servicediscovery/__init__.py +3 -0
  247. aws_cdk/aws_ses/__init__.py +3 -0
  248. aws_cdk/aws_shield/__init__.py +3 -0
  249. aws_cdk/aws_signer/__init__.py +3 -0
  250. aws_cdk/aws_simspaceweaver/__init__.py +3 -0
  251. aws_cdk/aws_smsvoice/__init__.py +3 -29
  252. aws_cdk/aws_sns/__init__.py +3 -0
  253. aws_cdk/aws_sqs/__init__.py +3 -0
  254. aws_cdk/aws_ssm/__init__.py +10 -3
  255. aws_cdk/aws_ssmcontacts/__init__.py +3 -0
  256. aws_cdk/aws_ssmguiconnect/__init__.py +3 -0
  257. aws_cdk/aws_ssmincidents/__init__.py +3 -0
  258. aws_cdk/aws_ssmquicksetup/__init__.py +470 -3
  259. aws_cdk/aws_sso/__init__.py +3 -0
  260. aws_cdk/aws_stepfunctions/__init__.py +23 -19
  261. aws_cdk/aws_stepfunctions_tasks/__init__.py +6 -3
  262. aws_cdk/aws_supportapp/__init__.py +3 -0
  263. aws_cdk/aws_synthetics/__init__.py +80 -27
  264. aws_cdk/aws_systemsmanagersap/__init__.py +3 -0
  265. aws_cdk/aws_timestream/__init__.py +3 -29
  266. aws_cdk/aws_transfer/__init__.py +20 -34
  267. aws_cdk/aws_verifiedpermissions/__init__.py +3 -0
  268. aws_cdk/aws_voiceid/__init__.py +3 -0
  269. aws_cdk/aws_vpclattice/__init__.py +7 -4
  270. aws_cdk/aws_waf/__init__.py +3 -0
  271. aws_cdk/aws_wafregional/__init__.py +3 -0
  272. aws_cdk/aws_wafv2/__init__.py +3 -0
  273. aws_cdk/aws_wisdom/__init__.py +3 -116
  274. aws_cdk/aws_workspaces/__init__.py +3 -0
  275. aws_cdk/aws_workspacesinstances/__init__.py +3 -0
  276. aws_cdk/aws_workspacesthinclient/__init__.py +3 -0
  277. aws_cdk/aws_workspacesweb/__init__.py +3 -0
  278. aws_cdk/aws_xray/__init__.py +3 -0
  279. aws_cdk/cloud_assembly_schema/__init__.py +3 -0
  280. aws_cdk/cx_api/__init__.py +34 -0
  281. aws_cdk/pipelines/__init__.py +3 -0
  282. aws_cdk/region_info/__init__.py +3 -0
  283. aws_cdk/triggers/__init__.py +3 -0
  284. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/METADATA +2 -2
  285. aws_cdk_lib-2.221.0.dist-info/RECORD +313 -0
  286. aws_cdk_lib-2.219.0.dist-info/RECORD +0 -313
  287. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/LICENSE +0 -0
  288. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/NOTICE +0 -0
  289. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/WHEEL +0 -0
  290. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.221.0.dist-info}/top_level.txt +0 -0
@@ -1725,6 +1725,9 @@ mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityPro
1725
1725
  propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
1726
1726
  )
1727
1727
 
1728
+ # Optionally configure security group rules using IConnectable interface
1729
+ mi_capacity_provider.connections.allow_from(ec2.Peer.ipv4(vpc.vpc_cidr_block), ec2.Port.tcp(80))
1730
+
1728
1731
  # Add the capacity provider to the cluster
1729
1732
  cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
1730
1733
 
@@ -2370,6 +2373,7 @@ from ..aws_cloudwatch import (
2370
2373
  from ..aws_ec2 import (
2371
2374
  Connections as _Connections_0f31fce8,
2372
2375
  EbsDeviceVolumeType as _EbsDeviceVolumeType_6792555b,
2376
+ IConnectable as _IConnectable_10015a05,
2373
2377
  IKeyPair as _IKeyPair_bc344eda,
2374
2378
  IMachineImage as _IMachineImage_0e8bd50b,
2375
2379
  ISecurityGroup as _ISecurityGroup_acf8a799,
@@ -6881,8 +6885,8 @@ class CfnCapacityProviderProps:
6881
6885
  '''Properties for defining a ``CfnCapacityProvider``.
6882
6886
 
6883
6887
  :param auto_scaling_group_provider: The Auto Scaling group settings for the capacity provider.
6884
- :param cluster_name:
6885
- :param managed_instances_provider:
6888
+ :param cluster_name: The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster. This is required for Managed instances.
6889
+ :param managed_instances_provider: The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.
6886
6890
  :param name: The name of the capacity provider. If a name is specified, it cannot start with ``aws`` , ``ecs`` , or ``fargate`` . If no name is specified, a default name in the ``CFNStackName-CFNResourceName-RandomString`` format is used.
6887
6891
  :param tags: The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value. You define both. 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: + - = . _ : /
6888
6892
 
@@ -7030,7 +7034,12 @@ class CfnCapacityProviderProps:
7030
7034
 
7031
7035
  @builtins.property
7032
7036
  def cluster_name(self) -> typing.Optional[builtins.str]:
7033
- '''
7037
+ '''The cluster that this capacity provider is associated with.
7038
+
7039
+ Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster.
7040
+
7041
+ This is required for Managed instances.
7042
+
7034
7043
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-clustername
7035
7044
  '''
7036
7045
  result = self._values.get("cluster_name")
@@ -7040,7 +7049,10 @@ class CfnCapacityProviderProps:
7040
7049
  def managed_instances_provider(
7041
7050
  self,
7042
7051
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesProviderProperty"]]:
7043
- '''
7052
+ '''The configuration for the Amazon ECS Managed Instances provider.
7053
+
7054
+ This includes the infrastructure role, the launch template configuration, and tag propagation settings.
7055
+
7044
7056
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-managedinstancesprovider
7045
7057
  '''
7046
7058
  result = self._values.get("managed_instances_provider")
@@ -7098,24 +7110,24 @@ class CfnCapacityProviderProps:
7098
7110
  jsii_type="aws-cdk-lib.aws_ecs.CfnClusterCapacityProviderAssociationsProps",
7099
7111
  jsii_struct_bases=[],
7100
7112
  name_mapping={
7101
- "capacity_providers": "capacityProviders",
7102
7113
  "cluster": "cluster",
7103
7114
  "default_capacity_provider_strategy": "defaultCapacityProviderStrategy",
7115
+ "capacity_providers": "capacityProviders",
7104
7116
  },
7105
7117
  )
7106
7118
  class CfnClusterCapacityProviderAssociationsProps:
7107
7119
  def __init__(
7108
7120
  self,
7109
7121
  *,
7110
- capacity_providers: typing.Sequence[builtins.str],
7111
7122
  cluster: builtins.str,
7112
7123
  default_capacity_provider_strategy: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnClusterCapacityProviderAssociations.CapacityProviderStrategyProperty", typing.Dict[builtins.str, typing.Any]]]]],
7124
+ capacity_providers: typing.Optional[typing.Sequence[builtins.str]] = None,
7113
7125
  ) -> None:
7114
7126
  '''Properties for defining a ``CfnClusterCapacityProviderAssociations``.
7115
7127
 
7116
- :param capacity_providers: The capacity providers to associate with the cluster.
7117
7128
  :param cluster: The cluster the capacity provider association is the target of.
7118
7129
  :param default_capacity_provider_strategy: The default capacity provider strategy to associate with the cluster.
7130
+ :param capacity_providers: The capacity providers to associate with the cluster.
7119
7131
 
7120
7132
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html
7121
7133
  :exampleMetadata: fixture=_generated
@@ -7127,7 +7139,6 @@ class CfnClusterCapacityProviderAssociationsProps:
7127
7139
  from aws_cdk import aws_ecs as ecs
7128
7140
 
7129
7141
  cfn_cluster_capacity_provider_associations_props = ecs.CfnClusterCapacityProviderAssociationsProps(
7130
- capacity_providers=["capacityProviders"],
7131
7142
  cluster="cluster",
7132
7143
  default_capacity_provider_strategy=[ecs.CfnClusterCapacityProviderAssociations.CapacityProviderStrategyProperty(
7133
7144
  capacity_provider="capacityProvider",
@@ -7135,29 +7146,23 @@ class CfnClusterCapacityProviderAssociationsProps:
7135
7146
  # the properties below are optional
7136
7147
  base=123,
7137
7148
  weight=123
7138
- )]
7149
+ )],
7150
+
7151
+ # the properties below are optional
7152
+ capacity_providers=["capacityProviders"]
7139
7153
  )
7140
7154
  '''
7141
7155
  if __debug__:
7142
7156
  type_hints = typing.get_type_hints(_typecheckingstub__dec87cf6e858f074737c41c7a13a61e2e324b94deacf1f66ca9c0a48eb0b81b2)
7143
- check_type(argname="argument capacity_providers", value=capacity_providers, expected_type=type_hints["capacity_providers"])
7144
7157
  check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
7145
7158
  check_type(argname="argument default_capacity_provider_strategy", value=default_capacity_provider_strategy, expected_type=type_hints["default_capacity_provider_strategy"])
7159
+ check_type(argname="argument capacity_providers", value=capacity_providers, expected_type=type_hints["capacity_providers"])
7146
7160
  self._values: typing.Dict[builtins.str, typing.Any] = {
7147
- "capacity_providers": capacity_providers,
7148
7161
  "cluster": cluster,
7149
7162
  "default_capacity_provider_strategy": default_capacity_provider_strategy,
7150
7163
  }
7151
-
7152
- @builtins.property
7153
- def capacity_providers(self) -> typing.List[builtins.str]:
7154
- '''The capacity providers to associate with the cluster.
7155
-
7156
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html#cfn-ecs-clustercapacityproviderassociations-capacityproviders
7157
- '''
7158
- result = self._values.get("capacity_providers")
7159
- assert result is not None, "Required property 'capacity_providers' is missing"
7160
- return typing.cast(typing.List[builtins.str], result)
7164
+ if capacity_providers is not None:
7165
+ self._values["capacity_providers"] = capacity_providers
7161
7166
 
7162
7167
  @builtins.property
7163
7168
  def cluster(self) -> builtins.str:
@@ -7181,6 +7186,15 @@ class CfnClusterCapacityProviderAssociationsProps:
7181
7186
  assert result is not None, "Required property 'default_capacity_provider_strategy' is missing"
7182
7187
  return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnClusterCapacityProviderAssociations.CapacityProviderStrategyProperty"]]], result)
7183
7188
 
7189
+ @builtins.property
7190
+ def capacity_providers(self) -> typing.Optional[typing.List[builtins.str]]:
7191
+ '''The capacity providers to associate with the cluster.
7192
+
7193
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-clustercapacityproviderassociations.html#cfn-ecs-clustercapacityproviderassociations-capacityproviders
7194
+ '''
7195
+ result = self._values.get("capacity_providers")
7196
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
7197
+
7184
7198
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
7185
7199
  return isinstance(rhs, self.__class__) and rhs._values == self._values
7186
7200
 
@@ -7586,8 +7600,8 @@ class CfnServiceProps:
7586
7600
  :param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* . When you use Amazon ECS managed tags, you must set the ``propagateTags`` request parameter.
7587
7601
  :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.
7588
7602
  :param force_new_deployment: Determines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( ``my_image:latest`` ) or to roll Fargate tasks onto a newer platform version.
7589
- :param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
7590
- :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* .
7603
+ :param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
7604
+ :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* . .. epigraph:: If you want to use Managed Instances, you must use the ``capacityProviderStrategy`` request parameter
7591
7605
  :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* . .. epigraph:: To remove this property from your service resource, specify an empty ``LoadBalancer`` array.
7592
7606
  :param network_configuration: The network configuration for the service. This parameter is required for task definitions that use the ``awsvpc`` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see `Task Networking <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
7593
7607
  :param placement_constraints: An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime. .. epigraph:: To remove this property from your service resource, specify an empty ``PlacementConstraint`` array.
@@ -8004,7 +8018,7 @@ class CfnServiceProps:
8004
8018
 
8005
8019
  @builtins.property
8006
8020
  def health_check_grace_period_seconds(self) -> typing.Optional[jsii.Number]:
8007
- '''The period of time, in seconds, that the Amazon Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started.
8021
+ '''The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started.
8008
8022
 
8009
8023
  If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused.
8010
8024
 
@@ -8020,6 +8034,9 @@ class CfnServiceProps:
8020
8034
  '''The launch type on which to run your service.
8021
8035
 
8022
8036
  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* .
8037
+ .. epigraph::
8038
+
8039
+ If you want to use Managed Instances, you must use the ``capacityProviderStrategy`` request parameter
8023
8040
 
8024
8041
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-launchtype
8025
8042
  '''
@@ -8332,7 +8349,7 @@ class CfnTaskDefinitionProps:
8332
8349
  :param pid_mode: The process namespace to use for the containers in the task. The valid values are ``host`` or ``task`` . On Fargate for Linux containers, the only valid value is ``task`` . For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task. If ``host`` is specified, 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. If ``task`` is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace for each container. If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure. .. epigraph:: This parameter is not supported for Windows containers. > This parameter is only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.
8333
8350
  :param placement_constraints: An array of placement constraint objects to use for tasks. .. epigraph:: This parameter isn't supported for tasks run on AWS Fargate .
8334
8351
  :param proxy_configuration: The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init`` . For more information, see `Amazon ECS-optimized Linux AMI <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
8335
- :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
8352
+ :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``MANAGED_INSTANCES`` , ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
8336
8353
  :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
8337
8354
  :param tags: The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. 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: + - = . _ : /
8338
8355
  :param task_role_arn: The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see `Amazon ECS Task Role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see `Windows IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: String validation is done on the ECS side. If an invalid string value is given for ``TaskRoleArn`` , it may cause the Cloudformation job to hang.
@@ -8841,7 +8858,7 @@ class CfnTaskDefinitionProps:
8841
8858
  def requires_compatibilities(self) -> typing.Optional[typing.List[builtins.str]]:
8842
8859
  '''The task launch types the task definition was validated against.
8843
8860
 
8844
- The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
8861
+ The valid values are ``MANAGED_INSTANCES`` , ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
8845
8862
 
8846
8863
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-requirescompatibilities
8847
8864
  '''
@@ -23806,6 +23823,7 @@ class MachineImageType(enum.Enum):
23806
23823
  '''Bottlerocket AMI.'''
23807
23824
 
23808
23825
 
23826
+ @jsii.implements(_IConnectable_10015a05)
23809
23827
  class ManagedInstancesCapacityProvider(
23810
23828
  _constructs_77d1e7e8.Construct,
23811
23829
  metaclass=jsii.JSIIMeta,
@@ -23842,6 +23860,9 @@ class ManagedInstancesCapacityProvider(
23842
23860
  propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
23843
23861
  )
23844
23862
 
23863
+ # Optionally configure security group rules using IConnectable interface
23864
+ mi_capacity_provider.connections.allow_from(ec2.Peer.ipv4(vpc.vpc_cidr_block), ec2.Port.tcp(80))
23865
+
23845
23866
  # Add the capacity provider to the cluster
23846
23867
  cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
23847
23868
 
@@ -23935,6 +23956,12 @@ class ManagedInstancesCapacityProvider(
23935
23956
  '''Capacity provider name.'''
23936
23957
  return typing.cast(builtins.str, jsii.get(self, "capacityProviderName"))
23937
23958
 
23959
+ @builtins.property
23960
+ @jsii.member(jsii_name="connections")
23961
+ def connections(self) -> _Connections_0f31fce8:
23962
+ '''The network connections associated with this resource.'''
23963
+ return typing.cast(_Connections_0f31fce8, jsii.get(self, "connections"))
23964
+
23938
23965
 
23939
23966
  @jsii.data_type(
23940
23967
  jsii_type="aws-cdk-lib.aws_ecs.ManagedInstancesCapacityProviderProps",
@@ -24003,6 +24030,9 @@ class ManagedInstancesCapacityProviderProps:
24003
24030
  propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
24004
24031
  )
24005
24032
 
24033
+ # Optionally configure security group rules using IConnectable interface
24034
+ mi_capacity_provider.connections.allow_from(ec2.Peer.ipv4(vpc.vpc_cidr_block), ec2.Port.tcp(80))
24035
+
24006
24036
  # Add the capacity provider to the cluster
24007
24037
  cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
24008
24038
 
@@ -25208,6 +25238,9 @@ class PropagateManagedInstancesTags(enum.Enum):
25208
25238
  propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
25209
25239
  )
25210
25240
 
25241
+ # Optionally configure security group rules using IConnectable interface
25242
+ mi_capacity_provider.connections.allow_from(ec2.Peer.ipv4(vpc.vpc_cidr_block), ec2.Port.tcp(80))
25243
+
25211
25244
  # Add the capacity provider to the cluster
25212
25245
  cluster.add_managed_instances_capacity_provider(mi_capacity_provider)
25213
25246
 
@@ -31367,11 +31400,9 @@ class CfnCapacityProvider(
31367
31400
  metaclass=jsii.JSIIMeta,
31368
31401
  jsii_type="aws-cdk-lib.aws_ecs.CfnCapacityProvider",
31369
31402
  ):
31370
- '''Creates a new capacity provider.
31371
-
31372
- Capacity providers are associated with an Amazon ECS cluster and are used in capacity provider strategies to facilitate cluster auto scaling.
31403
+ '''Creates a capacity provider.
31373
31404
 
31374
- Only capacity providers that use an Auto Scaling group can be created. Amazon ECS tasks on AWS Fargate use the ``FARGATE`` and ``FARGATE_SPOT`` capacity providers. These providers are available to all accounts in the AWS Regions that AWS Fargate supports.
31405
+ Capacity providers are associated with a cluster and are used in capacity provider strategies to facilitate cluster auto scaling. You can create capacity providers for Amazon ECS Managed Instances and EC2 instances. AWS Fargate has the predefined ``FARGATE`` and ``FARGATE_SPOT`` capacity providers.
31375
31406
 
31376
31407
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html
31377
31408
  :cloudformationResource: AWS::ECS::CapacityProvider
@@ -31502,8 +31533,8 @@ class CfnCapacityProvider(
31502
31533
  :param scope: Scope in which this resource is defined.
31503
31534
  :param id: Construct identifier for this resource (unique in its scope).
31504
31535
  :param auto_scaling_group_provider: The Auto Scaling group settings for the capacity provider.
31505
- :param cluster_name:
31506
- :param managed_instances_provider:
31536
+ :param cluster_name: The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster. This is required for Managed instances.
31537
+ :param managed_instances_provider: The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.
31507
31538
  :param name: The name of the capacity provider. If a name is specified, it cannot start with ``aws`` , ``ecs`` , or ``fargate`` . If no name is specified, a default name in the ``CFNStackName-CFNResourceName-RandomString`` format is used.
31508
31539
  :param tags: The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value. You define both. 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: + - = . _ : /
31509
31540
  '''
@@ -31610,6 +31641,7 @@ class CfnCapacityProvider(
31610
31641
  @builtins.property
31611
31642
  @jsii.member(jsii_name="clusterName")
31612
31643
  def cluster_name(self) -> typing.Optional[builtins.str]:
31644
+ '''The cluster that this capacity provider is associated with.'''
31613
31645
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "clusterName"))
31614
31646
 
31615
31647
  @cluster_name.setter
@@ -31624,6 +31656,7 @@ class CfnCapacityProvider(
31624
31656
  def managed_instances_provider(
31625
31657
  self,
31626
31658
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesProviderProperty"]]:
31659
+ '''The configuration for the Amazon ECS Managed Instances provider.'''
31627
31660
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesProviderProperty"]], jsii.get(self, "managedInstancesProvider"))
31628
31661
 
31629
31662
  @managed_instances_provider.setter
@@ -31674,9 +31707,12 @@ class CfnCapacityProvider(
31674
31707
  max: typing.Optional[jsii.Number] = None,
31675
31708
  min: typing.Optional[jsii.Number] = None,
31676
31709
  ) -> None:
31677
- '''
31678
- :param max:
31679
- :param min:
31710
+ '''The minimum and maximum number of accelerators (such as GPUs) for instance type selection.
31711
+
31712
+ This is used for workloads that require specific numbers of accelerators.
31713
+
31714
+ :param max: The maximum number of accelerators. Instance types with more accelerators are excluded from selection.
31715
+ :param min: The minimum number of accelerators. Instance types with fewer accelerators are excluded from selection.
31680
31716
 
31681
31717
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratorcountrequest.html
31682
31718
  :exampleMetadata: fixture=_generated
@@ -31704,7 +31740,10 @@ class CfnCapacityProvider(
31704
31740
 
31705
31741
  @builtins.property
31706
31742
  def max(self) -> typing.Optional[jsii.Number]:
31707
- '''
31743
+ '''The maximum number of accelerators.
31744
+
31745
+ Instance types with more accelerators are excluded from selection.
31746
+
31708
31747
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratorcountrequest.html#cfn-ecs-capacityprovider-acceleratorcountrequest-max
31709
31748
  '''
31710
31749
  result = self._values.get("max")
@@ -31712,7 +31751,10 @@ class CfnCapacityProvider(
31712
31751
 
31713
31752
  @builtins.property
31714
31753
  def min(self) -> typing.Optional[jsii.Number]:
31715
- '''
31754
+ '''The minimum number of accelerators.
31755
+
31756
+ Instance types with fewer accelerators are excluded from selection.
31757
+
31716
31758
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratorcountrequest.html#cfn-ecs-capacityprovider-acceleratorcountrequest-min
31717
31759
  '''
31718
31760
  result = self._values.get("min")
@@ -31741,9 +31783,12 @@ class CfnCapacityProvider(
31741
31783
  max: typing.Optional[jsii.Number] = None,
31742
31784
  min: typing.Optional[jsii.Number] = None,
31743
31785
  ) -> None:
31744
- '''
31745
- :param max:
31746
- :param min:
31786
+ '''The minimum and maximum total accelerator memory in mebibytes (MiB) for instance type selection.
31787
+
31788
+ This is important for GPU workloads that require specific amounts of video memory.
31789
+
31790
+ :param max: The maximum total accelerator memory in MiB. Instance types with more accelerator memory are excluded from selection.
31791
+ :param min: The minimum total accelerator memory in MiB. Instance types with less accelerator memory are excluded from selection.
31747
31792
 
31748
31793
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratortotalmemorymibrequest.html
31749
31794
  :exampleMetadata: fixture=_generated
@@ -31771,7 +31816,10 @@ class CfnCapacityProvider(
31771
31816
 
31772
31817
  @builtins.property
31773
31818
  def max(self) -> typing.Optional[jsii.Number]:
31774
- '''
31819
+ '''The maximum total accelerator memory in MiB.
31820
+
31821
+ Instance types with more accelerator memory are excluded from selection.
31822
+
31775
31823
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratortotalmemorymibrequest.html#cfn-ecs-capacityprovider-acceleratortotalmemorymibrequest-max
31776
31824
  '''
31777
31825
  result = self._values.get("max")
@@ -31779,7 +31827,10 @@ class CfnCapacityProvider(
31779
31827
 
31780
31828
  @builtins.property
31781
31829
  def min(self) -> typing.Optional[jsii.Number]:
31782
- '''
31830
+ '''The minimum total accelerator memory in MiB.
31831
+
31832
+ Instance types with less accelerator memory are excluded from selection.
31833
+
31783
31834
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratortotalmemorymibrequest.html#cfn-ecs-capacityprovider-acceleratortotalmemorymibrequest-min
31784
31835
  '''
31785
31836
  result = self._values.get("min")
@@ -31935,9 +31986,12 @@ class CfnCapacityProvider(
31935
31986
  max: typing.Optional[jsii.Number] = None,
31936
31987
  min: typing.Optional[jsii.Number] = None,
31937
31988
  ) -> None:
31938
- '''
31939
- :param max:
31940
- :param min:
31989
+ '''The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps) for instance type selection.
31990
+
31991
+ This is important for workloads with high storage I/O requirements.
31992
+
31993
+ :param max: The maximum baseline Amazon EBS bandwidth in Mbps. Instance types with higher Amazon EBS bandwidth are excluded from selection.
31994
+ :param min: The minimum baseline Amazon EBS bandwidth in Mbps. Instance types with lower Amazon EBS bandwidth are excluded from selection.
31941
31995
 
31942
31996
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-baselineebsbandwidthmbpsrequest.html
31943
31997
  :exampleMetadata: fixture=_generated
@@ -31965,7 +32019,10 @@ class CfnCapacityProvider(
31965
32019
 
31966
32020
  @builtins.property
31967
32021
  def max(self) -> typing.Optional[jsii.Number]:
31968
- '''
32022
+ '''The maximum baseline Amazon EBS bandwidth in Mbps.
32023
+
32024
+ Instance types with higher Amazon EBS bandwidth are excluded from selection.
32025
+
31969
32026
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-baselineebsbandwidthmbpsrequest.html#cfn-ecs-capacityprovider-baselineebsbandwidthmbpsrequest-max
31970
32027
  '''
31971
32028
  result = self._values.get("max")
@@ -31973,7 +32030,10 @@ class CfnCapacityProvider(
31973
32030
 
31974
32031
  @builtins.property
31975
32032
  def min(self) -> typing.Optional[jsii.Number]:
31976
- '''
32033
+ '''The minimum baseline Amazon EBS bandwidth in Mbps.
32034
+
32035
+ Instance types with lower Amazon EBS bandwidth are excluded from selection.
32036
+
31977
32037
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-baselineebsbandwidthmbpsrequest.html#cfn-ecs-capacityprovider-baselineebsbandwidthmbpsrequest-min
31978
32038
  '''
31979
32039
  result = self._values.get("min")
@@ -32011,12 +32071,15 @@ class CfnCapacityProvider(
32011
32071
  monitoring: typing.Optional[builtins.str] = None,
32012
32072
  storage_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCapacityProvider.ManagedInstancesStorageConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
32013
32073
  ) -> None:
32014
- '''
32015
- :param ec2_instance_profile_arn:
32016
- :param network_configuration:
32017
- :param instance_requirements:
32018
- :param monitoring:
32019
- :param storage_configuration:
32074
+ '''The launch template configuration for Amazon ECS Managed Instances.
32075
+
32076
+ This defines how Amazon ECS launches Amazon EC2 instances, including the instance profile for your tasks, network and storage configuration, capacity options, and instance requirements for flexible instance type selection.
32077
+
32078
+ :param ec2_instance_profile_arn: The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see `Amazon ECS instance profile for Managed Instances <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html>`_ in the *Amazon ECS Developer Guide* .
32079
+ :param network_configuration: The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity.
32080
+ :param instance_requirements: The instance requirements. You can specify:. - The instance types - Instance requirements such as vCPU count, memory, network performance, and accelerator specifications Amazon ECS automatically selects the instances that match the specified criteria.
32081
+ :param monitoring: CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see `Detailed monitoring for Amazon ECS Managed Instances <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html>`_ in the Amazon ECS Developer Guide.
32082
+ :param storage_configuration: The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances.
32020
32083
 
32021
32084
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html
32022
32085
  :exampleMetadata: fixture=_generated
@@ -32122,7 +32185,12 @@ class CfnCapacityProvider(
32122
32185
 
32123
32186
  @builtins.property
32124
32187
  def ec2_instance_profile_arn(self) -> builtins.str:
32125
- '''
32188
+ '''The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances.
32189
+
32190
+ This instance profile must include the necessary permissions for your tasks to access AWS services and resources.
32191
+
32192
+ For more information, see `Amazon ECS instance profile for Managed Instances <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html>`_ in the *Amazon ECS Developer Guide* .
32193
+
32126
32194
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-ec2instanceprofilearn
32127
32195
  '''
32128
32196
  result = self._values.get("ec2_instance_profile_arn")
@@ -32133,7 +32201,10 @@ class CfnCapacityProvider(
32133
32201
  def network_configuration(
32134
32202
  self,
32135
32203
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesNetworkConfigurationProperty"]:
32136
- '''
32204
+ '''The network configuration for Amazon ECS Managed Instances.
32205
+
32206
+ This specifies the subnets and security groups that instances use for network connectivity.
32207
+
32137
32208
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-networkconfiguration
32138
32209
  '''
32139
32210
  result = self._values.get("network_configuration")
@@ -32144,7 +32215,13 @@ class CfnCapacityProvider(
32144
32215
  def instance_requirements(
32145
32216
  self,
32146
32217
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.InstanceRequirementsRequestProperty"]]:
32147
- '''
32218
+ '''The instance requirements. You can specify:.
32219
+
32220
+ - The instance types
32221
+ - Instance requirements such as vCPU count, memory, network performance, and accelerator specifications
32222
+
32223
+ Amazon ECS automatically selects the instances that match the specified criteria.
32224
+
32148
32225
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-instancerequirements
32149
32226
  '''
32150
32227
  result = self._values.get("instance_requirements")
@@ -32152,7 +32229,10 @@ class CfnCapacityProvider(
32152
32229
 
32153
32230
  @builtins.property
32154
32231
  def monitoring(self) -> typing.Optional[builtins.str]:
32155
- '''
32232
+ '''CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring.
32233
+
32234
+ By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see `Detailed monitoring for Amazon ECS Managed Instances <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html>`_ in the Amazon ECS Developer Guide.
32235
+
32156
32236
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-monitoring
32157
32237
  '''
32158
32238
  result = self._values.get("monitoring")
@@ -32162,7 +32242,10 @@ class CfnCapacityProvider(
32162
32242
  def storage_configuration(
32163
32243
  self,
32164
32244
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesStorageConfigurationProperty"]]:
32165
- '''
32245
+ '''The storage configuration for Amazon ECS Managed Instances.
32246
+
32247
+ This defines the root volume size and type for the instances.
32248
+
32166
32249
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-storageconfiguration
32167
32250
  '''
32168
32251
  result = self._values.get("storage_configuration")
@@ -32238,31 +32321,34 @@ class CfnCapacityProvider(
32238
32321
  spot_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
32239
32322
  total_local_storage_gb: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCapacityProvider.TotalLocalStorageGBRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
32240
32323
  ) -> None:
32241
- '''
32242
- :param memory_mib:
32243
- :param v_cpu_count:
32244
- :param accelerator_count:
32245
- :param accelerator_manufacturers:
32246
- :param accelerator_names:
32247
- :param accelerator_total_memory_mib:
32248
- :param accelerator_types:
32249
- :param allowed_instance_types:
32250
- :param bare_metal:
32251
- :param baseline_ebs_bandwidth_mbps:
32252
- :param burstable_performance:
32253
- :param cpu_manufacturers:
32254
- :param excluded_instance_types:
32255
- :param instance_generations:
32256
- :param local_storage:
32257
- :param local_storage_types:
32258
- :param max_spot_price_as_percentage_of_optimal_on_demand_price:
32259
- :param memory_gib_per_v_cpu:
32260
- :param network_bandwidth_gbps:
32261
- :param network_interface_count:
32262
- :param on_demand_max_price_percentage_over_lowest_price:
32263
- :param require_hibernate_support:
32264
- :param spot_max_price_percentage_over_lowest_price:
32265
- :param total_local_storage_gb:
32324
+ '''The instance requirements for attribute-based instance type selection.
32325
+
32326
+ Instead of specifying exact instance types, you define requirements such as vCPU count, memory size, network performance, and accelerator specifications. Amazon ECS automatically selects Amazon EC2 instance types that match these requirements, providing flexibility and helping to mitigate capacity constraints.
32327
+
32328
+ :param memory_mib: The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
32329
+ :param v_cpu_count: The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
32330
+ :param accelerator_count: The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
32331
+ :param accelerator_manufacturers: The accelerator manufacturers to include. You can specify ``nvidia`` , ``amd`` , ``amazon-web-services`` , or ``xilinx`` depending on your accelerator requirements.
32332
+ :param accelerator_names: The specific accelerator names to include. For example, you can specify ``a100`` , ``v100`` , ``k80`` , or other specific accelerator models.
32333
+ :param accelerator_total_memory_mib: The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
32334
+ :param accelerator_types: The accelerator types to include. You can specify ``gpu`` for graphics processing units, ``fpga`` for field programmable gate arrays, or ``inference`` for machine learning inference accelerators.
32335
+ :param allowed_instance_types: The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.
32336
+ :param bare_metal: Indicates whether to include bare metal instance types. Set to ``included`` to allow bare metal instances, ``excluded`` to exclude them, or ``required`` to use only bare metal instances.
32337
+ :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
32338
+ :param burstable_performance: Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to ``included`` to allow burstable instances, ``excluded`` to exclude them, or ``required`` to use only burstable instances.
32339
+ :param cpu_manufacturers: The CPU manufacturers to include or exclude. You can specify ``intel`` , ``amd`` , or ``amazon-web-services`` to control which CPU types are used for your workloads.
32340
+ :param excluded_instance_types: The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.
32341
+ :param instance_generations: The instance generations to include. You can specify ``current`` to use the latest generation instances, or ``previous`` to include previous generation instances for cost optimization.
32342
+ :param local_storage: Indicates whether to include instance types with local storage. Set to ``included`` to allow local storage, ``excluded`` to exclude it, or ``required`` to use only instances with local storage.
32343
+ :param local_storage_types: The local storage types to include. You can specify ``hdd`` for hard disk drives, ``ssd`` for solid state drives, or both.
32344
+ :param max_spot_price_as_percentage_of_optimal_on_demand_price: The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
32345
+ :param memory_gib_per_v_cpu: The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
32346
+ :param network_bandwidth_gbps: The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
32347
+ :param network_interface_count: The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
32348
+ :param on_demand_max_price_percentage_over_lowest_price: The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
32349
+ :param require_hibernate_support: Indicates whether the instance types must support hibernation. When set to ``true`` , only instance types that support hibernation are selected.
32350
+ :param spot_max_price_percentage_over_lowest_price: The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
32351
+ :param total_local_storage_gb: The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
32266
32352
 
32267
32353
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html
32268
32354
  :exampleMetadata: fixture=_generated
@@ -32412,7 +32498,10 @@ class CfnCapacityProvider(
32412
32498
  def memory_mib(
32413
32499
  self,
32414
32500
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.MemoryMiBRequestProperty"]:
32415
- '''
32501
+ '''The minimum and maximum amount of memory in mebibytes (MiB) for the instance types.
32502
+
32503
+ Amazon ECS selects instance types that have memory within this range.
32504
+
32416
32505
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-memorymib
32417
32506
  '''
32418
32507
  result = self._values.get("memory_mib")
@@ -32423,7 +32512,10 @@ class CfnCapacityProvider(
32423
32512
  def v_cpu_count(
32424
32513
  self,
32425
32514
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.VCpuCountRangeRequestProperty"]:
32426
- '''
32515
+ '''The minimum and maximum number of vCPUs for the instance types.
32516
+
32517
+ Amazon ECS selects instance types that have vCPU counts within this range.
32518
+
32427
32519
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-vcpucount
32428
32520
  '''
32429
32521
  result = self._values.get("v_cpu_count")
@@ -32434,7 +32526,10 @@ class CfnCapacityProvider(
32434
32526
  def accelerator_count(
32435
32527
  self,
32436
32528
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.AcceleratorCountRequestProperty"]]:
32437
- '''
32529
+ '''The minimum and maximum number of accelerators for the instance types.
32530
+
32531
+ This is used when you need instances with specific numbers of GPUs or other accelerators.
32532
+
32438
32533
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratorcount
32439
32534
  '''
32440
32535
  result = self._values.get("accelerator_count")
@@ -32444,7 +32539,10 @@ class CfnCapacityProvider(
32444
32539
  def accelerator_manufacturers(
32445
32540
  self,
32446
32541
  ) -> typing.Optional[typing.List[builtins.str]]:
32447
- '''
32542
+ '''The accelerator manufacturers to include.
32543
+
32544
+ You can specify ``nvidia`` , ``amd`` , ``amazon-web-services`` , or ``xilinx`` depending on your accelerator requirements.
32545
+
32448
32546
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratormanufacturers
32449
32547
  '''
32450
32548
  result = self._values.get("accelerator_manufacturers")
@@ -32452,7 +32550,10 @@ class CfnCapacityProvider(
32452
32550
 
32453
32551
  @builtins.property
32454
32552
  def accelerator_names(self) -> typing.Optional[typing.List[builtins.str]]:
32455
- '''
32553
+ '''The specific accelerator names to include.
32554
+
32555
+ For example, you can specify ``a100`` , ``v100`` , ``k80`` , or other specific accelerator models.
32556
+
32456
32557
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratornames
32457
32558
  '''
32458
32559
  result = self._values.get("accelerator_names")
@@ -32462,7 +32563,10 @@ class CfnCapacityProvider(
32462
32563
  def accelerator_total_memory_mib(
32463
32564
  self,
32464
32565
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.AcceleratorTotalMemoryMiBRequestProperty"]]:
32465
- '''
32566
+ '''The minimum and maximum total accelerator memory in mebibytes (MiB).
32567
+
32568
+ This is important for GPU workloads that require specific amounts of video memory.
32569
+
32466
32570
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratortotalmemorymib
32467
32571
  '''
32468
32572
  result = self._values.get("accelerator_total_memory_mib")
@@ -32470,7 +32574,10 @@ class CfnCapacityProvider(
32470
32574
 
32471
32575
  @builtins.property
32472
32576
  def accelerator_types(self) -> typing.Optional[typing.List[builtins.str]]:
32473
- '''
32577
+ '''The accelerator types to include.
32578
+
32579
+ You can specify ``gpu`` for graphics processing units, ``fpga`` for field programmable gate arrays, or ``inference`` for machine learning inference accelerators.
32580
+
32474
32581
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratortypes
32475
32582
  '''
32476
32583
  result = self._values.get("accelerator_types")
@@ -32478,7 +32585,10 @@ class CfnCapacityProvider(
32478
32585
 
32479
32586
  @builtins.property
32480
32587
  def allowed_instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
32481
- '''
32588
+ '''The instance types to include in the selection.
32589
+
32590
+ When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.
32591
+
32482
32592
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-allowedinstancetypes
32483
32593
  '''
32484
32594
  result = self._values.get("allowed_instance_types")
@@ -32486,7 +32596,10 @@ class CfnCapacityProvider(
32486
32596
 
32487
32597
  @builtins.property
32488
32598
  def bare_metal(self) -> typing.Optional[builtins.str]:
32489
- '''
32599
+ '''Indicates whether to include bare metal instance types.
32600
+
32601
+ Set to ``included`` to allow bare metal instances, ``excluded`` to exclude them, or ``required`` to use only bare metal instances.
32602
+
32490
32603
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-baremetal
32491
32604
  '''
32492
32605
  result = self._values.get("bare_metal")
@@ -32496,7 +32609,10 @@ class CfnCapacityProvider(
32496
32609
  def baseline_ebs_bandwidth_mbps(
32497
32610
  self,
32498
32611
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.BaselineEbsBandwidthMbpsRequestProperty"]]:
32499
- '''
32612
+ '''The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps).
32613
+
32614
+ This is important for workloads with high storage I/O requirements.
32615
+
32500
32616
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-baselineebsbandwidthmbps
32501
32617
  '''
32502
32618
  result = self._values.get("baseline_ebs_bandwidth_mbps")
@@ -32504,7 +32620,10 @@ class CfnCapacityProvider(
32504
32620
 
32505
32621
  @builtins.property
32506
32622
  def burstable_performance(self) -> typing.Optional[builtins.str]:
32507
- '''
32623
+ '''Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g).
32624
+
32625
+ Set to ``included`` to allow burstable instances, ``excluded`` to exclude them, or ``required`` to use only burstable instances.
32626
+
32508
32627
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-burstableperformance
32509
32628
  '''
32510
32629
  result = self._values.get("burstable_performance")
@@ -32512,7 +32631,10 @@ class CfnCapacityProvider(
32512
32631
 
32513
32632
  @builtins.property
32514
32633
  def cpu_manufacturers(self) -> typing.Optional[typing.List[builtins.str]]:
32515
- '''
32634
+ '''The CPU manufacturers to include or exclude.
32635
+
32636
+ You can specify ``intel`` , ``amd`` , or ``amazon-web-services`` to control which CPU types are used for your workloads.
32637
+
32516
32638
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-cpumanufacturers
32517
32639
  '''
32518
32640
  result = self._values.get("cpu_manufacturers")
@@ -32520,7 +32642,10 @@ class CfnCapacityProvider(
32520
32642
 
32521
32643
  @builtins.property
32522
32644
  def excluded_instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
32523
- '''
32645
+ '''The instance types to exclude from selection.
32646
+
32647
+ Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.
32648
+
32524
32649
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-excludedinstancetypes
32525
32650
  '''
32526
32651
  result = self._values.get("excluded_instance_types")
@@ -32528,7 +32653,10 @@ class CfnCapacityProvider(
32528
32653
 
32529
32654
  @builtins.property
32530
32655
  def instance_generations(self) -> typing.Optional[typing.List[builtins.str]]:
32531
- '''
32656
+ '''The instance generations to include.
32657
+
32658
+ You can specify ``current`` to use the latest generation instances, or ``previous`` to include previous generation instances for cost optimization.
32659
+
32532
32660
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-instancegenerations
32533
32661
  '''
32534
32662
  result = self._values.get("instance_generations")
@@ -32536,7 +32664,10 @@ class CfnCapacityProvider(
32536
32664
 
32537
32665
  @builtins.property
32538
32666
  def local_storage(self) -> typing.Optional[builtins.str]:
32539
- '''
32667
+ '''Indicates whether to include instance types with local storage.
32668
+
32669
+ Set to ``included`` to allow local storage, ``excluded`` to exclude it, or ``required`` to use only instances with local storage.
32670
+
32540
32671
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-localstorage
32541
32672
  '''
32542
32673
  result = self._values.get("local_storage")
@@ -32544,7 +32675,10 @@ class CfnCapacityProvider(
32544
32675
 
32545
32676
  @builtins.property
32546
32677
  def local_storage_types(self) -> typing.Optional[typing.List[builtins.str]]:
32547
- '''
32678
+ '''The local storage types to include.
32679
+
32680
+ You can specify ``hdd`` for hard disk drives, ``ssd`` for solid state drives, or both.
32681
+
32548
32682
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-localstoragetypes
32549
32683
  '''
32550
32684
  result = self._values.get("local_storage_types")
@@ -32554,7 +32688,10 @@ class CfnCapacityProvider(
32554
32688
  def max_spot_price_as_percentage_of_optimal_on_demand_price(
32555
32689
  self,
32556
32690
  ) -> typing.Optional[jsii.Number]:
32557
- '''
32691
+ '''The maximum price for Spot instances as a percentage of the optimal On-Demand price.
32692
+
32693
+ This provides more precise cost control for Spot instance selection.
32694
+
32558
32695
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-maxspotpriceaspercentageofoptimalondemandprice
32559
32696
  '''
32560
32697
  result = self._values.get("max_spot_price_as_percentage_of_optimal_on_demand_price")
@@ -32564,7 +32701,10 @@ class CfnCapacityProvider(
32564
32701
  def memory_gib_per_v_cpu(
32565
32702
  self,
32566
32703
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.MemoryGiBPerVCpuRequestProperty"]]:
32567
- '''
32704
+ '''The minimum and maximum amount of memory per vCPU in gibibytes (GiB).
32705
+
32706
+ This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
32707
+
32568
32708
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-memorygibpervcpu
32569
32709
  '''
32570
32710
  result = self._values.get("memory_gib_per_v_cpu")
@@ -32574,7 +32714,10 @@ class CfnCapacityProvider(
32574
32714
  def network_bandwidth_gbps(
32575
32715
  self,
32576
32716
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.NetworkBandwidthGbpsRequestProperty"]]:
32577
- '''
32717
+ '''The minimum and maximum network bandwidth in gigabits per second (Gbps).
32718
+
32719
+ This is crucial for network-intensive workloads that require high throughput.
32720
+
32578
32721
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-networkbandwidthgbps
32579
32722
  '''
32580
32723
  result = self._values.get("network_bandwidth_gbps")
@@ -32584,7 +32727,10 @@ class CfnCapacityProvider(
32584
32727
  def network_interface_count(
32585
32728
  self,
32586
32729
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.NetworkInterfaceCountRequestProperty"]]:
32587
- '''
32730
+ '''The minimum and maximum number of network interfaces for the instance types.
32731
+
32732
+ This is useful for workloads that require multiple network interfaces.
32733
+
32588
32734
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-networkinterfacecount
32589
32735
  '''
32590
32736
  result = self._values.get("network_interface_count")
@@ -32594,7 +32740,10 @@ class CfnCapacityProvider(
32594
32740
  def on_demand_max_price_percentage_over_lowest_price(
32595
32741
  self,
32596
32742
  ) -> typing.Optional[jsii.Number]:
32597
- '''
32743
+ '''The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price.
32744
+
32745
+ The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
32746
+
32598
32747
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-ondemandmaxpricepercentageoverlowestprice
32599
32748
  '''
32600
32749
  result = self._values.get("on_demand_max_price_percentage_over_lowest_price")
@@ -32604,7 +32753,10 @@ class CfnCapacityProvider(
32604
32753
  def require_hibernate_support(
32605
32754
  self,
32606
32755
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
32607
- '''
32756
+ '''Indicates whether the instance types must support hibernation.
32757
+
32758
+ When set to ``true`` , only instance types that support hibernation are selected.
32759
+
32608
32760
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-requirehibernatesupport
32609
32761
  '''
32610
32762
  result = self._values.get("require_hibernate_support")
@@ -32614,7 +32766,10 @@ class CfnCapacityProvider(
32614
32766
  def spot_max_price_percentage_over_lowest_price(
32615
32767
  self,
32616
32768
  ) -> typing.Optional[jsii.Number]:
32617
- '''
32769
+ '''The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance.
32770
+
32771
+ This helps control Spot instance costs while maintaining access to capacity.
32772
+
32618
32773
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-spotmaxpricepercentageoverlowestprice
32619
32774
  '''
32620
32775
  result = self._values.get("spot_max_price_percentage_over_lowest_price")
@@ -32624,7 +32779,8 @@ class CfnCapacityProvider(
32624
32779
  def total_local_storage_gb(
32625
32780
  self,
32626
32781
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.TotalLocalStorageGBRequestProperty"]]:
32627
- '''
32782
+ '''The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
32783
+
32628
32784
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-totallocalstoragegb
32629
32785
  '''
32630
32786
  result = self._values.get("total_local_storage_gb")
@@ -32653,9 +32809,12 @@ class CfnCapacityProvider(
32653
32809
  subnets: typing.Sequence[builtins.str],
32654
32810
  security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
32655
32811
  ) -> None:
32656
- '''
32657
- :param subnets:
32658
- :param security_groups:
32812
+ '''The network configuration for Amazon ECS Managed Instances.
32813
+
32814
+ This specifies the VPC subnets and security groups that instances use for network connectivity. Amazon ECS Managed Instances support multiple network modes including ``awsvpc`` (instances receive ENIs for task isolation), ``host`` (instances share network namespace with tasks), and ``none`` (no external network connectivity), ensuring backward compatibility for migrating workloads from Fargate or Amazon EC2.
32815
+
32816
+ :param subnets: The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
32817
+ :param security_groups: The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
32659
32818
 
32660
32819
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesnetworkconfiguration.html
32661
32820
  :exampleMetadata: fixture=_generated
@@ -32685,7 +32844,10 @@ class CfnCapacityProvider(
32685
32844
 
32686
32845
  @builtins.property
32687
32846
  def subnets(self) -> typing.List[builtins.str]:
32688
- '''
32847
+ '''The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances.
32848
+
32849
+ Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
32850
+
32689
32851
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesnetworkconfiguration.html#cfn-ecs-capacityprovider-managedinstancesnetworkconfiguration-subnets
32690
32852
  '''
32691
32853
  result = self._values.get("subnets")
@@ -32694,7 +32856,10 @@ class CfnCapacityProvider(
32694
32856
 
32695
32857
  @builtins.property
32696
32858
  def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
32697
- '''
32859
+ '''The list of security group IDs to apply to Amazon ECS Managed Instances.
32860
+
32861
+ These security groups control the network traffic allowed to and from the instances.
32862
+
32698
32863
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesnetworkconfiguration.html#cfn-ecs-capacityprovider-managedinstancesnetworkconfiguration-securitygroups
32699
32864
  '''
32700
32865
  result = self._values.get("security_groups")
@@ -32728,10 +32893,13 @@ class CfnCapacityProvider(
32728
32893
  instance_launch_template: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCapacityProvider.InstanceLaunchTemplateProperty", typing.Dict[builtins.str, typing.Any]]],
32729
32894
  propagate_tags: typing.Optional[builtins.str] = None,
32730
32895
  ) -> None:
32731
- '''
32732
- :param infrastructure_role_arn:
32733
- :param instance_launch_template:
32734
- :param propagate_tags:
32896
+ '''The configuration for a Amazon ECS Managed Instances provider.
32897
+
32898
+ Amazon ECS uses this configuration to automatically launch, manage, and terminate Amazon EC2 instances on your behalf. Managed instances provide access to the full range of Amazon EC2 instance types and features while offloading infrastructure management to AWS .
32899
+
32900
+ :param infrastructure_role_arn: The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances. This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional AWS services required for your workloads. For more information, see `Amazon ECS infrastructure IAM role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html>`_ in the *Amazon ECS Developer Guide* .
32901
+ :param instance_launch_template: The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances. This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used. For more information, see `Store instance launch parameters in Amazon EC2 launch templates <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html>`_ in the *Amazon EC2 User Guide* .
32902
+ :param propagate_tags: Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances. This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.
32735
32903
 
32736
32904
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html
32737
32905
  :exampleMetadata: fixture=_generated
@@ -32837,7 +33005,12 @@ class CfnCapacityProvider(
32837
33005
 
32838
33006
  @builtins.property
32839
33007
  def infrastructure_role_arn(self) -> builtins.str:
32840
- '''
33008
+ '''The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances.
33009
+
33010
+ This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional AWS services required for your workloads.
33011
+
33012
+ For more information, see `Amazon ECS infrastructure IAM role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html>`_ in the *Amazon ECS Developer Guide* .
33013
+
32841
33014
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html#cfn-ecs-capacityprovider-managedinstancesprovider-infrastructurerolearn
32842
33015
  '''
32843
33016
  result = self._values.get("infrastructure_role_arn")
@@ -32848,7 +33021,12 @@ class CfnCapacityProvider(
32848
33021
  def instance_launch_template(
32849
33022
  self,
32850
33023
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.InstanceLaunchTemplateProperty"]:
32851
- '''
33024
+ '''The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances.
33025
+
33026
+ This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used.
33027
+
33028
+ For more information, see `Store instance launch parameters in Amazon EC2 launch templates <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html>`_ in the *Amazon EC2 User Guide* .
33029
+
32852
33030
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html#cfn-ecs-capacityprovider-managedinstancesprovider-instancelaunchtemplate
32853
33031
  '''
32854
33032
  result = self._values.get("instance_launch_template")
@@ -32857,7 +33035,10 @@ class CfnCapacityProvider(
32857
33035
 
32858
33036
  @builtins.property
32859
33037
  def propagate_tags(self) -> typing.Optional[builtins.str]:
32860
- '''
33038
+ '''Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances.
33039
+
33040
+ This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.
33041
+
32861
33042
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html#cfn-ecs-capacityprovider-managedinstancesprovider-propagatetags
32862
33043
  '''
32863
33044
  result = self._values.get("propagate_tags")
@@ -32881,8 +33062,11 @@ class CfnCapacityProvider(
32881
33062
  )
32882
33063
  class ManagedInstancesStorageConfigurationProperty:
32883
33064
  def __init__(self, *, storage_size_gib: jsii.Number) -> None:
32884
- '''
32885
- :param storage_size_gib:
33065
+ '''The storage configuration for Amazon ECS Managed Instances.
33066
+
33067
+ This defines the root volume configuration for the instances.
33068
+
33069
+ :param storage_size_gib: The size of the tasks volume.
32886
33070
 
32887
33071
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesstorageconfiguration.html
32888
33072
  :exampleMetadata: fixture=_generated
@@ -32906,7 +33090,8 @@ class CfnCapacityProvider(
32906
33090
 
32907
33091
  @builtins.property
32908
33092
  def storage_size_gib(self) -> jsii.Number:
32909
- '''
33093
+ '''The size of the tasks volume.
33094
+
32910
33095
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesstorageconfiguration.html#cfn-ecs-capacityprovider-managedinstancesstorageconfiguration-storagesizegib
32911
33096
  '''
32912
33097
  result = self._values.get("storage_size_gib")
@@ -33071,9 +33256,12 @@ class CfnCapacityProvider(
33071
33256
  max: typing.Optional[jsii.Number] = None,
33072
33257
  min: typing.Optional[jsii.Number] = None,
33073
33258
  ) -> None:
33074
- '''
33075
- :param max:
33076
- :param min:
33259
+ '''The minimum and maximum amount of memory per vCPU in gibibytes (GiB).
33260
+
33261
+ This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
33262
+
33263
+ :param max: The maximum amount of memory per vCPU in GiB. Instance types with a higher memory-to-vCPU ratio are excluded from selection.
33264
+ :param min: The minimum amount of memory per vCPU in GiB. Instance types with a lower memory-to-vCPU ratio are excluded from selection.
33077
33265
 
33078
33266
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorygibpervcpurequest.html
33079
33267
  :exampleMetadata: fixture=_generated
@@ -33101,7 +33289,10 @@ class CfnCapacityProvider(
33101
33289
 
33102
33290
  @builtins.property
33103
33291
  def max(self) -> typing.Optional[jsii.Number]:
33104
- '''
33292
+ '''The maximum amount of memory per vCPU in GiB.
33293
+
33294
+ Instance types with a higher memory-to-vCPU ratio are excluded from selection.
33295
+
33105
33296
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorygibpervcpurequest.html#cfn-ecs-capacityprovider-memorygibpervcpurequest-max
33106
33297
  '''
33107
33298
  result = self._values.get("max")
@@ -33109,7 +33300,10 @@ class CfnCapacityProvider(
33109
33300
 
33110
33301
  @builtins.property
33111
33302
  def min(self) -> typing.Optional[jsii.Number]:
33112
- '''
33303
+ '''The minimum amount of memory per vCPU in GiB.
33304
+
33305
+ Instance types with a lower memory-to-vCPU ratio are excluded from selection.
33306
+
33113
33307
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorygibpervcpurequest.html#cfn-ecs-capacityprovider-memorygibpervcpurequest-min
33114
33308
  '''
33115
33309
  result = self._values.get("min")
@@ -33138,9 +33332,12 @@ class CfnCapacityProvider(
33138
33332
  min: jsii.Number,
33139
33333
  max: typing.Optional[jsii.Number] = None,
33140
33334
  ) -> None:
33141
- '''
33142
- :param min:
33143
- :param max:
33335
+ '''The minimum and maximum amount of memory in mebibytes (MiB) for instance type selection.
33336
+
33337
+ This ensures that selected instance types have adequate memory for your workloads.
33338
+
33339
+ :param min: The minimum amount of memory in MiB. Instance types with less memory than this value are excluded from selection.
33340
+ :param max: The maximum amount of memory in MiB. Instance types with more memory than this value are excluded from selection.
33144
33341
 
33145
33342
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorymibrequest.html
33146
33343
  :exampleMetadata: fixture=_generated
@@ -33170,7 +33367,10 @@ class CfnCapacityProvider(
33170
33367
 
33171
33368
  @builtins.property
33172
33369
  def min(self) -> jsii.Number:
33173
- '''
33370
+ '''The minimum amount of memory in MiB.
33371
+
33372
+ Instance types with less memory than this value are excluded from selection.
33373
+
33174
33374
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorymibrequest.html#cfn-ecs-capacityprovider-memorymibrequest-min
33175
33375
  '''
33176
33376
  result = self._values.get("min")
@@ -33179,7 +33379,10 @@ class CfnCapacityProvider(
33179
33379
 
33180
33380
  @builtins.property
33181
33381
  def max(self) -> typing.Optional[jsii.Number]:
33182
- '''
33382
+ '''The maximum amount of memory in MiB.
33383
+
33384
+ Instance types with more memory than this value are excluded from selection.
33385
+
33183
33386
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorymibrequest.html#cfn-ecs-capacityprovider-memorymibrequest-max
33184
33387
  '''
33185
33388
  result = self._values.get("max")
@@ -33208,9 +33411,12 @@ class CfnCapacityProvider(
33208
33411
  max: typing.Optional[jsii.Number] = None,
33209
33412
  min: typing.Optional[jsii.Number] = None,
33210
33413
  ) -> None:
33211
- '''
33212
- :param max:
33213
- :param min:
33414
+ '''The minimum and maximum network bandwidth in gigabits per second (Gbps) for instance type selection.
33415
+
33416
+ This is important for network-intensive workloads.
33417
+
33418
+ :param max: The maximum network bandwidth in Gbps. Instance types with higher network bandwidth are excluded from selection.
33419
+ :param min: The minimum network bandwidth in Gbps. Instance types with lower network bandwidth are excluded from selection.
33214
33420
 
33215
33421
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkbandwidthgbpsrequest.html
33216
33422
  :exampleMetadata: fixture=_generated
@@ -33238,7 +33444,10 @@ class CfnCapacityProvider(
33238
33444
 
33239
33445
  @builtins.property
33240
33446
  def max(self) -> typing.Optional[jsii.Number]:
33241
- '''
33447
+ '''The maximum network bandwidth in Gbps.
33448
+
33449
+ Instance types with higher network bandwidth are excluded from selection.
33450
+
33242
33451
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkbandwidthgbpsrequest.html#cfn-ecs-capacityprovider-networkbandwidthgbpsrequest-max
33243
33452
  '''
33244
33453
  result = self._values.get("max")
@@ -33246,7 +33455,10 @@ class CfnCapacityProvider(
33246
33455
 
33247
33456
  @builtins.property
33248
33457
  def min(self) -> typing.Optional[jsii.Number]:
33249
- '''
33458
+ '''The minimum network bandwidth in Gbps.
33459
+
33460
+ Instance types with lower network bandwidth are excluded from selection.
33461
+
33250
33462
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkbandwidthgbpsrequest.html#cfn-ecs-capacityprovider-networkbandwidthgbpsrequest-min
33251
33463
  '''
33252
33464
  result = self._values.get("min")
@@ -33275,9 +33487,12 @@ class CfnCapacityProvider(
33275
33487
  max: typing.Optional[jsii.Number] = None,
33276
33488
  min: typing.Optional[jsii.Number] = None,
33277
33489
  ) -> None:
33278
- '''
33279
- :param max:
33280
- :param min:
33490
+ '''The minimum and maximum number of network interfaces for instance type selection.
33491
+
33492
+ This is useful for workloads that require multiple network interfaces.
33493
+
33494
+ :param max: The maximum number of network interfaces. Instance types that support more network interfaces are excluded from selection.
33495
+ :param min: The minimum number of network interfaces. Instance types that support fewer network interfaces are excluded from selection.
33281
33496
 
33282
33497
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkinterfacecountrequest.html
33283
33498
  :exampleMetadata: fixture=_generated
@@ -33305,7 +33520,10 @@ class CfnCapacityProvider(
33305
33520
 
33306
33521
  @builtins.property
33307
33522
  def max(self) -> typing.Optional[jsii.Number]:
33308
- '''
33523
+ '''The maximum number of network interfaces.
33524
+
33525
+ Instance types that support more network interfaces are excluded from selection.
33526
+
33309
33527
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkinterfacecountrequest.html#cfn-ecs-capacityprovider-networkinterfacecountrequest-max
33310
33528
  '''
33311
33529
  result = self._values.get("max")
@@ -33313,7 +33531,10 @@ class CfnCapacityProvider(
33313
33531
 
33314
33532
  @builtins.property
33315
33533
  def min(self) -> typing.Optional[jsii.Number]:
33316
- '''
33534
+ '''The minimum number of network interfaces.
33535
+
33536
+ Instance types that support fewer network interfaces are excluded from selection.
33537
+
33317
33538
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkinterfacecountrequest.html#cfn-ecs-capacityprovider-networkinterfacecountrequest-min
33318
33539
  '''
33319
33540
  result = self._values.get("min")
@@ -33342,9 +33563,12 @@ class CfnCapacityProvider(
33342
33563
  max: typing.Optional[jsii.Number] = None,
33343
33564
  min: typing.Optional[jsii.Number] = None,
33344
33565
  ) -> None:
33345
- '''
33346
- :param max:
33347
- :param min:
33566
+ '''The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
33567
+
33568
+ This is useful for workloads that require local storage for temporary data or caching.
33569
+
33570
+ :param max: The maximum total local storage in GB. Instance types with more local storage are excluded from selection.
33571
+ :param min: The minimum total local storage in GB. Instance types with less local storage are excluded from selection.
33348
33572
 
33349
33573
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-totallocalstoragegbrequest.html
33350
33574
  :exampleMetadata: fixture=_generated
@@ -33372,7 +33596,10 @@ class CfnCapacityProvider(
33372
33596
 
33373
33597
  @builtins.property
33374
33598
  def max(self) -> typing.Optional[jsii.Number]:
33375
- '''
33599
+ '''The maximum total local storage in GB.
33600
+
33601
+ Instance types with more local storage are excluded from selection.
33602
+
33376
33603
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-totallocalstoragegbrequest.html#cfn-ecs-capacityprovider-totallocalstoragegbrequest-max
33377
33604
  '''
33378
33605
  result = self._values.get("max")
@@ -33380,7 +33607,10 @@ class CfnCapacityProvider(
33380
33607
 
33381
33608
  @builtins.property
33382
33609
  def min(self) -> typing.Optional[jsii.Number]:
33383
- '''
33610
+ '''The minimum total local storage in GB.
33611
+
33612
+ Instance types with less local storage are excluded from selection.
33613
+
33384
33614
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-totallocalstoragegbrequest.html#cfn-ecs-capacityprovider-totallocalstoragegbrequest-min
33385
33615
  '''
33386
33616
  result = self._values.get("min")
@@ -33409,9 +33639,12 @@ class CfnCapacityProvider(
33409
33639
  min: jsii.Number,
33410
33640
  max: typing.Optional[jsii.Number] = None,
33411
33641
  ) -> None:
33412
- '''
33413
- :param min:
33414
- :param max:
33642
+ '''The minimum and maximum number of vCPUs for instance type selection.
33643
+
33644
+ This allows you to specify a range of vCPU counts that meet your workload requirements.
33645
+
33646
+ :param min: The minimum number of vCPUs. Instance types with fewer vCPUs than this value are excluded from selection.
33647
+ :param max: The maximum number of vCPUs. Instance types with more vCPUs than this value are excluded from selection.
33415
33648
 
33416
33649
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-vcpucountrangerequest.html
33417
33650
  :exampleMetadata: fixture=_generated
@@ -33441,7 +33674,10 @@ class CfnCapacityProvider(
33441
33674
 
33442
33675
  @builtins.property
33443
33676
  def min(self) -> jsii.Number:
33444
- '''
33677
+ '''The minimum number of vCPUs.
33678
+
33679
+ Instance types with fewer vCPUs than this value are excluded from selection.
33680
+
33445
33681
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-vcpucountrangerequest.html#cfn-ecs-capacityprovider-vcpucountrangerequest-min
33446
33682
  '''
33447
33683
  result = self._values.get("min")
@@ -33450,7 +33686,10 @@ class CfnCapacityProvider(
33450
33686
 
33451
33687
  @builtins.property
33452
33688
  def max(self) -> typing.Optional[jsii.Number]:
33453
- '''
33689
+ '''The maximum number of vCPUs.
33690
+
33691
+ Instance types with more vCPUs than this value are excluded from selection.
33692
+
33454
33693
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-vcpucountrangerequest.html#cfn-ecs-capacityprovider-vcpucountrangerequest-max
33455
33694
  '''
33456
33695
  result = self._values.get("max")
@@ -34482,7 +34721,6 @@ class CfnClusterCapacityProviderAssociations(
34482
34721
  from aws_cdk import aws_ecs as ecs
34483
34722
 
34484
34723
  cfn_cluster_capacity_provider_associations = ecs.CfnClusterCapacityProviderAssociations(self, "MyCfnClusterCapacityProviderAssociations",
34485
- capacity_providers=["capacityProviders"],
34486
34724
  cluster="cluster",
34487
34725
  default_capacity_provider_strategy=[ecs.CfnClusterCapacityProviderAssociations.CapacityProviderStrategyProperty(
34488
34726
  capacity_provider="capacityProvider",
@@ -34490,7 +34728,10 @@ class CfnClusterCapacityProviderAssociations(
34490
34728
  # the properties below are optional
34491
34729
  base=123,
34492
34730
  weight=123
34493
- )]
34731
+ )],
34732
+
34733
+ # the properties below are optional
34734
+ capacity_providers=["capacityProviders"]
34494
34735
  )
34495
34736
  '''
34496
34737
 
@@ -34499,25 +34740,25 @@ class CfnClusterCapacityProviderAssociations(
34499
34740
  scope: _constructs_77d1e7e8.Construct,
34500
34741
  id: builtins.str,
34501
34742
  *,
34502
- capacity_providers: typing.Sequence[builtins.str],
34503
34743
  cluster: builtins.str,
34504
34744
  default_capacity_provider_strategy: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnClusterCapacityProviderAssociations.CapacityProviderStrategyProperty", typing.Dict[builtins.str, typing.Any]]]]],
34745
+ capacity_providers: typing.Optional[typing.Sequence[builtins.str]] = None,
34505
34746
  ) -> None:
34506
34747
  '''
34507
34748
  :param scope: Scope in which this resource is defined.
34508
34749
  :param id: Construct identifier for this resource (unique in its scope).
34509
- :param capacity_providers: The capacity providers to associate with the cluster.
34510
34750
  :param cluster: The cluster the capacity provider association is the target of.
34511
34751
  :param default_capacity_provider_strategy: The default capacity provider strategy to associate with the cluster.
34752
+ :param capacity_providers: The capacity providers to associate with the cluster.
34512
34753
  '''
34513
34754
  if __debug__:
34514
34755
  type_hints = typing.get_type_hints(_typecheckingstub__5b726b14d4a82695a68a7344f7ef1201a7390a69e77c604686bf3a3a16980041)
34515
34756
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
34516
34757
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
34517
34758
  props = CfnClusterCapacityProviderAssociationsProps(
34518
- capacity_providers=capacity_providers,
34519
34759
  cluster=cluster,
34520
34760
  default_capacity_provider_strategy=default_capacity_provider_strategy,
34761
+ capacity_providers=capacity_providers,
34521
34762
  )
34522
34763
 
34523
34764
  jsii.create(self.__class__, self, [scope, id, props])
@@ -34565,19 +34806,6 @@ class CfnClusterCapacityProviderAssociations(
34565
34806
  '''A reference to a ClusterCapacityProviderAssociations resource.'''
34566
34807
  return typing.cast(ClusterCapacityProviderAssociationsReference, jsii.get(self, "clusterCapacityProviderAssociationsRef"))
34567
34808
 
34568
- @builtins.property
34569
- @jsii.member(jsii_name="capacityProviders")
34570
- def capacity_providers(self) -> typing.List[builtins.str]:
34571
- '''The capacity providers to associate with the cluster.'''
34572
- return typing.cast(typing.List[builtins.str], jsii.get(self, "capacityProviders"))
34573
-
34574
- @capacity_providers.setter
34575
- def capacity_providers(self, value: typing.List[builtins.str]) -> None:
34576
- if __debug__:
34577
- type_hints = typing.get_type_hints(_typecheckingstub__179caeeed8cf1e3badcd9269f89a732efb1582d0dc5fe1a1431aee106eefe333)
34578
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
34579
- jsii.set(self, "capacityProviders", value) # pyright: ignore[reportArgumentType]
34580
-
34581
34809
  @builtins.property
34582
34810
  @jsii.member(jsii_name="cluster")
34583
34811
  def cluster(self) -> builtins.str:
@@ -34609,6 +34837,22 @@ class CfnClusterCapacityProviderAssociations(
34609
34837
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
34610
34838
  jsii.set(self, "defaultCapacityProviderStrategy", value) # pyright: ignore[reportArgumentType]
34611
34839
 
34840
+ @builtins.property
34841
+ @jsii.member(jsii_name="capacityProviders")
34842
+ def capacity_providers(self) -> typing.Optional[typing.List[builtins.str]]:
34843
+ '''The capacity providers to associate with the cluster.'''
34844
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "capacityProviders"))
34845
+
34846
+ @capacity_providers.setter
34847
+ def capacity_providers(
34848
+ self,
34849
+ value: typing.Optional[typing.List[builtins.str]],
34850
+ ) -> None:
34851
+ if __debug__:
34852
+ type_hints = typing.get_type_hints(_typecheckingstub__179caeeed8cf1e3badcd9269f89a732efb1582d0dc5fe1a1431aee106eefe333)
34853
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
34854
+ jsii.set(self, "capacityProviders", value) # pyright: ignore[reportArgumentType]
34855
+
34612
34856
  @jsii.data_type(
34613
34857
  jsii_type="aws-cdk-lib.aws_ecs.CfnClusterCapacityProviderAssociations.CapacityProviderStrategyProperty",
34614
34858
  jsii_struct_bases=[],
@@ -35148,8 +35392,8 @@ class CfnService(
35148
35392
  :param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* . When you use Amazon ECS managed tags, you must set the ``propagateTags`` request parameter.
35149
35393
  :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.
35150
35394
  :param force_new_deployment: Determines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( ``my_image:latest`` ) or to roll Fargate tasks onto a newer platform version.
35151
- :param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
35152
- :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* .
35395
+ :param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
35396
+ :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* . .. epigraph:: If you want to use Managed Instances, you must use the ``capacityProviderStrategy`` request parameter
35153
35397
  :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* . .. epigraph:: To remove this property from your service resource, specify an empty ``LoadBalancer`` array.
35154
35398
  :param network_configuration: The network configuration for the service. This parameter is required for task definitions that use the ``awsvpc`` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see `Task Networking <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
35155
35399
  :param placement_constraints: An array of placement constraint objects to use for tasks in your service. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime. .. epigraph:: To remove this property from your service resource, specify an empty ``PlacementConstraint`` array.
@@ -35421,7 +35665,7 @@ class CfnService(
35421
35665
  @builtins.property
35422
35666
  @jsii.member(jsii_name="healthCheckGracePeriodSeconds")
35423
35667
  def health_check_grace_period_seconds(self) -> typing.Optional[jsii.Number]:
35424
- '''The period of time, in seconds, that the Amazon Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started.'''
35668
+ '''The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started.'''
35425
35669
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "healthCheckGracePeriodSeconds"))
35426
35670
 
35427
35671
  @health_check_grace_period_seconds.setter
@@ -39381,7 +39625,7 @@ class CfnTaskDefinition(
39381
39625
  :param pid_mode: The process namespace to use for the containers in the task. The valid values are ``host`` or ``task`` . On Fargate for Linux containers, the only valid value is ``task`` . For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task. If ``host`` is specified, 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. If ``task`` is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace for each container. If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure. .. epigraph:: This parameter is not supported for Windows containers. > This parameter is only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.
39382
39626
  :param placement_constraints: An array of placement constraint objects to use for tasks. .. epigraph:: This parameter isn't supported for tasks run on AWS Fargate .
39383
39627
  :param proxy_configuration: The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init`` . For more information, see `Amazon ECS-optimized Linux AMI <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
39384
- :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
39628
+ :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``MANAGED_INSTANCES`` , ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
39385
39629
  :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
39386
39630
  :param tags: The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. 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: + - = . _ : /
39387
39631
  :param task_role_arn: The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see `Amazon ECS Task Role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see `Windows IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: String validation is done on the ECS side. If an invalid string value is given for ``TaskRoleArn`` , it may cause the Cloudformation job to hang.
@@ -49329,9 +49573,9 @@ def _typecheckingstub__48080bdf05dc1c4ca9ab46c833774163f6afcd0d1551b378b8d59e67b
49329
49573
 
49330
49574
  def _typecheckingstub__dec87cf6e858f074737c41c7a13a61e2e324b94deacf1f66ca9c0a48eb0b81b2(
49331
49575
  *,
49332
- capacity_providers: typing.Sequence[builtins.str],
49333
49576
  cluster: builtins.str,
49334
49577
  default_capacity_provider_strategy: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnClusterCapacityProviderAssociations.CapacityProviderStrategyProperty, typing.Dict[builtins.str, typing.Any]]]]],
49578
+ capacity_providers: typing.Optional[typing.Sequence[builtins.str]] = None,
49335
49579
  ) -> None:
49336
49580
  """Type checking stubs"""
49337
49581
  pass
@@ -51988,9 +52232,9 @@ def _typecheckingstub__5b726b14d4a82695a68a7344f7ef1201a7390a69e77c604686bf3a3a1
51988
52232
  scope: _constructs_77d1e7e8.Construct,
51989
52233
  id: builtins.str,
51990
52234
  *,
51991
- capacity_providers: typing.Sequence[builtins.str],
51992
52235
  cluster: builtins.str,
51993
52236
  default_capacity_provider_strategy: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnClusterCapacityProviderAssociations.CapacityProviderStrategyProperty, typing.Dict[builtins.str, typing.Any]]]]],
52237
+ capacity_providers: typing.Optional[typing.Sequence[builtins.str]] = None,
51994
52238
  ) -> None:
51995
52239
  """Type checking stubs"""
51996
52240
  pass
@@ -52007,12 +52251,6 @@ def _typecheckingstub__93896bd7ebbe840c8fa66a8f20ac3a94d52db05f416661f3eb272dbf9
52007
52251
  """Type checking stubs"""
52008
52252
  pass
52009
52253
 
52010
- def _typecheckingstub__179caeeed8cf1e3badcd9269f89a732efb1582d0dc5fe1a1431aee106eefe333(
52011
- value: typing.List[builtins.str],
52012
- ) -> None:
52013
- """Type checking stubs"""
52014
- pass
52015
-
52016
52254
  def _typecheckingstub__df256c18acb77e38e5110ec5f1e3b55621c49f4da43f861e9d55ef39c9207076(
52017
52255
  value: builtins.str,
52018
52256
  ) -> None:
@@ -52025,6 +52263,12 @@ def _typecheckingstub__adacafb6e01b8e49c325edb233c0e67268b6787a00fc50eea158771a2
52025
52263
  """Type checking stubs"""
52026
52264
  pass
52027
52265
 
52266
+ def _typecheckingstub__179caeeed8cf1e3badcd9269f89a732efb1582d0dc5fe1a1431aee106eefe333(
52267
+ value: typing.Optional[typing.List[builtins.str]],
52268
+ ) -> None:
52269
+ """Type checking stubs"""
52270
+ pass
52271
+
52028
52272
  def _typecheckingstub__35e502a63db6f1c8f1c9225401bd8b2f0070d6dc6d8696b559629d5ccb289a80(
52029
52273
  *,
52030
52274
  capacity_provider: builtins.str,
@@ -53863,3 +54107,6 @@ def _typecheckingstub__59be62eab8487bb224b6839e6560b22ec29653bf5f8e319f85996fa99
53863
54107
  ) -> None:
53864
54108
  """Type checking stubs"""
53865
54109
  pass
54110
+
54111
+ for cls in [IAlternateTarget, IBaseService, ICapacityProviderRef, ICluster, IClusterCapacityProviderAssociationsRef, IClusterRef, IDeploymentLifecycleHookTarget, IEc2Service, IEc2TaskDefinition, IEcsLoadBalancerTarget, IExternalService, IExternalTaskDefinition, IFargateService, IFargateTaskDefinition, IPrimaryTaskSetRef, IService, IServiceRef, ITaskDefinition, ITaskDefinitionExtension, ITaskDefinitionRef, ITaskSetRef]:
54112
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])