aws-cdk-lib 2.181.1__py3-none-any.whl → 2.182.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 (49) hide show
  1. aws_cdk/__init__.py +292 -8
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.181.1.jsii.tgz → aws-cdk-lib@2.182.0.jsii.tgz} +0 -0
  4. aws_cdk/assertions/__init__.py +59 -0
  5. aws_cdk/aws_apigateway/__init__.py +122 -66
  6. aws_cdk/aws_applicationautoscaling/__init__.py +4 -0
  7. aws_cdk/aws_appsync/__init__.py +30 -4
  8. aws_cdk/aws_autoscaling/__init__.py +409 -36
  9. aws_cdk/aws_batch/__init__.py +629 -11
  10. aws_cdk/aws_bedrock/__init__.py +204 -0
  11. aws_cdk/aws_certificatemanager/__init__.py +24 -0
  12. aws_cdk/aws_cloudformation/__init__.py +284 -2
  13. aws_cdk/aws_cloudfront/__init__.py +1 -0
  14. aws_cdk/aws_cloudtrail/__init__.py +4 -4
  15. aws_cdk/aws_datazone/__init__.py +82 -0
  16. aws_cdk/aws_ec2/__init__.py +32 -12
  17. aws_cdk/aws_ecr/__init__.py +10 -4
  18. aws_cdk/aws_ecs/__init__.py +58 -9
  19. aws_cdk/aws_eks/__init__.py +32 -3
  20. aws_cdk/aws_fsx/__init__.py +2 -0
  21. aws_cdk/aws_guardduty/__init__.py +38 -26
  22. aws_cdk/aws_iam/__init__.py +5 -2
  23. aws_cdk/aws_inspector/__init__.py +176 -0
  24. aws_cdk/aws_iotsitewise/__init__.py +2 -3
  25. aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
  26. aws_cdk/aws_lambda/__init__.py +8 -0
  27. aws_cdk/aws_logs/__init__.py +2 -0
  28. aws_cdk/aws_mediapackagev2/__init__.py +22 -14
  29. aws_cdk/aws_opensearchservice/__init__.py +261 -1
  30. aws_cdk/aws_pcaconnectorad/__init__.py +30 -4
  31. aws_cdk/aws_pipes/__init__.py +6 -2
  32. aws_cdk/aws_quicksight/__init__.py +225 -451
  33. aws_cdk/aws_rds/__init__.py +50 -13
  34. aws_cdk/aws_s3/__init__.py +8 -0
  35. aws_cdk/aws_sagemaker/__init__.py +68 -13
  36. aws_cdk/aws_sns/__init__.py +76 -1
  37. aws_cdk/aws_vpclattice/__init__.py +144 -9
  38. aws_cdk/aws_wafv2/__init__.py +702 -0
  39. aws_cdk/aws_wisdom/__init__.py +3 -110
  40. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  41. aws_cdk/aws_workspacesweb/__init__.py +179 -2
  42. aws_cdk/cloud_assembly_schema/__init__.py +224 -4
  43. aws_cdk/cx_api/__init__.py +2 -1
  44. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/METADATA +2 -2
  45. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/RECORD +49 -49
  46. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/LICENSE +0 -0
  47. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/NOTICE +0 -0
  48. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/WHEEL +0 -0
  49. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.182.0.dist-info}/top_level.txt +0 -0
@@ -2004,7 +2004,9 @@ class CfnDomain(
2004
2004
 
2005
2005
  # the properties below are optional
2006
2006
  description="description",
2007
+ domain_version="domainVersion",
2007
2008
  kms_key_identifier="kmsKeyIdentifier",
2009
+ service_role="serviceRole",
2008
2010
  single_sign_on=datazone.CfnDomain.SingleSignOnProperty(
2009
2011
  type="type",
2010
2012
  user_assignment="userAssignment"
@@ -2024,7 +2026,9 @@ class CfnDomain(
2024
2026
  domain_execution_role: builtins.str,
2025
2027
  name: builtins.str,
2026
2028
  description: typing.Optional[builtins.str] = None,
2029
+ domain_version: typing.Optional[builtins.str] = None,
2027
2030
  kms_key_identifier: typing.Optional[builtins.str] = None,
2031
+ service_role: typing.Optional[builtins.str] = None,
2028
2032
  single_sign_on: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.SingleSignOnProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2029
2033
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2030
2034
  ) -> None:
@@ -2034,7 +2038,9 @@ class CfnDomain(
2034
2038
  :param domain_execution_role: The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the AWS account that houses the Amazon DataZone domain.
2035
2039
  :param name: The name of the Amazon DataZone domain.
2036
2040
  :param description: The description of the Amazon DataZone domain.
2041
+ :param domain_version: The domain version.
2037
2042
  :param kms_key_identifier: The identifier of the AWS Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.
2043
+ :param service_role: The service role of the domain that is created.
2038
2044
  :param single_sign_on: The single sign-on details in Amazon DataZone.
2039
2045
  :param tags: The tags specified for the Amazon DataZone domain.
2040
2046
  '''
@@ -2046,7 +2052,9 @@ class CfnDomain(
2046
2052
  domain_execution_role=domain_execution_role,
2047
2053
  name=name,
2048
2054
  description=description,
2055
+ domain_version=domain_version,
2049
2056
  kms_key_identifier=kms_key_identifier,
2057
+ service_role=service_role,
2050
2058
  single_sign_on=single_sign_on,
2051
2059
  tags=tags,
2052
2060
  )
@@ -2196,6 +2204,19 @@ class CfnDomain(
2196
2204
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2197
2205
  jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
2198
2206
 
2207
+ @builtins.property
2208
+ @jsii.member(jsii_name="domainVersion")
2209
+ def domain_version(self) -> typing.Optional[builtins.str]:
2210
+ '''The domain version.'''
2211
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "domainVersion"))
2212
+
2213
+ @domain_version.setter
2214
+ def domain_version(self, value: typing.Optional[builtins.str]) -> None:
2215
+ if __debug__:
2216
+ type_hints = typing.get_type_hints(_typecheckingstub__01acac61c7163cf6379c6cbe162a62434376eca50700d6cfaaea6008ea3ec333)
2217
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2218
+ jsii.set(self, "domainVersion", value) # pyright: ignore[reportArgumentType]
2219
+
2199
2220
  @builtins.property
2200
2221
  @jsii.member(jsii_name="kmsKeyIdentifier")
2201
2222
  def kms_key_identifier(self) -> typing.Optional[builtins.str]:
@@ -2209,6 +2230,19 @@ class CfnDomain(
2209
2230
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2210
2231
  jsii.set(self, "kmsKeyIdentifier", value) # pyright: ignore[reportArgumentType]
2211
2232
 
2233
+ @builtins.property
2234
+ @jsii.member(jsii_name="serviceRole")
2235
+ def service_role(self) -> typing.Optional[builtins.str]:
2236
+ '''The service role of the domain that is created.'''
2237
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "serviceRole"))
2238
+
2239
+ @service_role.setter
2240
+ def service_role(self, value: typing.Optional[builtins.str]) -> None:
2241
+ if __debug__:
2242
+ type_hints = typing.get_type_hints(_typecheckingstub__8fd383448cae4473b200d8583b604eef942f85827467ce9f6bf4b1fc6f61390c)
2243
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2244
+ jsii.set(self, "serviceRole", value) # pyright: ignore[reportArgumentType]
2245
+
2212
2246
  @builtins.property
2213
2247
  @jsii.member(jsii_name="singleSignOn")
2214
2248
  def single_sign_on(
@@ -2318,7 +2352,9 @@ class CfnDomain(
2318
2352
  "domain_execution_role": "domainExecutionRole",
2319
2353
  "name": "name",
2320
2354
  "description": "description",
2355
+ "domain_version": "domainVersion",
2321
2356
  "kms_key_identifier": "kmsKeyIdentifier",
2357
+ "service_role": "serviceRole",
2322
2358
  "single_sign_on": "singleSignOn",
2323
2359
  "tags": "tags",
2324
2360
  },
@@ -2330,7 +2366,9 @@ class CfnDomainProps:
2330
2366
  domain_execution_role: builtins.str,
2331
2367
  name: builtins.str,
2332
2368
  description: typing.Optional[builtins.str] = None,
2369
+ domain_version: typing.Optional[builtins.str] = None,
2333
2370
  kms_key_identifier: typing.Optional[builtins.str] = None,
2371
+ service_role: typing.Optional[builtins.str] = None,
2334
2372
  single_sign_on: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.SingleSignOnProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2335
2373
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2336
2374
  ) -> None:
@@ -2339,7 +2377,9 @@ class CfnDomainProps:
2339
2377
  :param domain_execution_role: The domain execution role that is created when an Amazon DataZone domain is created. The domain execution role is created in the AWS account that houses the Amazon DataZone domain.
2340
2378
  :param name: The name of the Amazon DataZone domain.
2341
2379
  :param description: The description of the Amazon DataZone domain.
2380
+ :param domain_version: The domain version.
2342
2381
  :param kms_key_identifier: The identifier of the AWS Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.
2382
+ :param service_role: The service role of the domain that is created.
2343
2383
  :param single_sign_on: The single sign-on details in Amazon DataZone.
2344
2384
  :param tags: The tags specified for the Amazon DataZone domain.
2345
2385
 
@@ -2358,7 +2398,9 @@ class CfnDomainProps:
2358
2398
 
2359
2399
  # the properties below are optional
2360
2400
  description="description",
2401
+ domain_version="domainVersion",
2361
2402
  kms_key_identifier="kmsKeyIdentifier",
2403
+ service_role="serviceRole",
2362
2404
  single_sign_on=datazone.CfnDomain.SingleSignOnProperty(
2363
2405
  type="type",
2364
2406
  user_assignment="userAssignment"
@@ -2374,7 +2416,9 @@ class CfnDomainProps:
2374
2416
  check_type(argname="argument domain_execution_role", value=domain_execution_role, expected_type=type_hints["domain_execution_role"])
2375
2417
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2376
2418
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2419
+ check_type(argname="argument domain_version", value=domain_version, expected_type=type_hints["domain_version"])
2377
2420
  check_type(argname="argument kms_key_identifier", value=kms_key_identifier, expected_type=type_hints["kms_key_identifier"])
2421
+ check_type(argname="argument service_role", value=service_role, expected_type=type_hints["service_role"])
2378
2422
  check_type(argname="argument single_sign_on", value=single_sign_on, expected_type=type_hints["single_sign_on"])
2379
2423
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
2380
2424
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -2383,8 +2427,12 @@ class CfnDomainProps:
2383
2427
  }
2384
2428
  if description is not None:
2385
2429
  self._values["description"] = description
2430
+ if domain_version is not None:
2431
+ self._values["domain_version"] = domain_version
2386
2432
  if kms_key_identifier is not None:
2387
2433
  self._values["kms_key_identifier"] = kms_key_identifier
2434
+ if service_role is not None:
2435
+ self._values["service_role"] = service_role
2388
2436
  if single_sign_on is not None:
2389
2437
  self._values["single_sign_on"] = single_sign_on
2390
2438
  if tags is not None:
@@ -2421,6 +2469,15 @@ class CfnDomainProps:
2421
2469
  result = self._values.get("description")
2422
2470
  return typing.cast(typing.Optional[builtins.str], result)
2423
2471
 
2472
+ @builtins.property
2473
+ def domain_version(self) -> typing.Optional[builtins.str]:
2474
+ '''The domain version.
2475
+
2476
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html#cfn-datazone-domain-domainversion
2477
+ '''
2478
+ result = self._values.get("domain_version")
2479
+ return typing.cast(typing.Optional[builtins.str], result)
2480
+
2424
2481
  @builtins.property
2425
2482
  def kms_key_identifier(self) -> typing.Optional[builtins.str]:
2426
2483
  '''The identifier of the AWS Key Management Service (KMS) key that is used to encrypt the Amazon DataZone domain, metadata, and reporting data.
@@ -2430,6 +2487,15 @@ class CfnDomainProps:
2430
2487
  result = self._values.get("kms_key_identifier")
2431
2488
  return typing.cast(typing.Optional[builtins.str], result)
2432
2489
 
2490
+ @builtins.property
2491
+ def service_role(self) -> typing.Optional[builtins.str]:
2492
+ '''The service role of the domain that is created.
2493
+
2494
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datazone-domain.html#cfn-datazone-domain-servicerole
2495
+ '''
2496
+ result = self._values.get("service_role")
2497
+ return typing.cast(typing.Optional[builtins.str], result)
2498
+
2433
2499
  @builtins.property
2434
2500
  def single_sign_on(
2435
2501
  self,
@@ -6764,7 +6830,9 @@ def _typecheckingstub__047efef40bc572d080b2e64b8f32c1db40e40ba16fc7d29d887073e9c
6764
6830
  domain_execution_role: builtins.str,
6765
6831
  name: builtins.str,
6766
6832
  description: typing.Optional[builtins.str] = None,
6833
+ domain_version: typing.Optional[builtins.str] = None,
6767
6834
  kms_key_identifier: typing.Optional[builtins.str] = None,
6835
+ service_role: typing.Optional[builtins.str] = None,
6768
6836
  single_sign_on: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.SingleSignOnProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6769
6837
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6770
6838
  ) -> None:
@@ -6801,12 +6869,24 @@ def _typecheckingstub__cfb0d62a189dbc4d1b327c1e7f651b95f580a2f6196abce203f4709bc
6801
6869
  """Type checking stubs"""
6802
6870
  pass
6803
6871
 
6872
+ def _typecheckingstub__01acac61c7163cf6379c6cbe162a62434376eca50700d6cfaaea6008ea3ec333(
6873
+ value: typing.Optional[builtins.str],
6874
+ ) -> None:
6875
+ """Type checking stubs"""
6876
+ pass
6877
+
6804
6878
  def _typecheckingstub__49d22f79e701c8bd8ae540b270f397204f2285f1dc76ab7d1556d659a050f38b(
6805
6879
  value: typing.Optional[builtins.str],
6806
6880
  ) -> None:
6807
6881
  """Type checking stubs"""
6808
6882
  pass
6809
6883
 
6884
+ def _typecheckingstub__8fd383448cae4473b200d8583b604eef942f85827467ce9f6bf4b1fc6f61390c(
6885
+ value: typing.Optional[builtins.str],
6886
+ ) -> None:
6887
+ """Type checking stubs"""
6888
+ pass
6889
+
6810
6890
  def _typecheckingstub__ee4595d765303396b66c3b59368637f839b950667fb4c707c509ac63e084f20b(
6811
6891
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDomain.SingleSignOnProperty]],
6812
6892
  ) -> None:
@@ -6832,7 +6912,9 @@ def _typecheckingstub__6d98e07f58a8aeb53fe8b36894639594f83be43ac8d182e1c384572cf
6832
6912
  domain_execution_role: builtins.str,
6833
6913
  name: builtins.str,
6834
6914
  description: typing.Optional[builtins.str] = None,
6915
+ domain_version: typing.Optional[builtins.str] = None,
6835
6916
  kms_key_identifier: typing.Optional[builtins.str] = None,
6917
+ service_role: typing.Optional[builtins.str] = None,
6836
6918
  single_sign_on: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.SingleSignOnProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6837
6919
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6838
6920
  ) -> None:
@@ -16953,7 +16953,7 @@ class CfnIPAM(
16953
16953
  '''
16954
16954
  :param scope: Scope in which this resource is defined.
16955
16955
  :param id: Construct identifier for this resource (unique in its scope).
16956
- :param default_resource_discovery_organizational_unit_exclusions: A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.
16956
+ :param default_resource_discovery_organizational_unit_exclusions: If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
16957
16957
  :param description: The description for the IPAM.
16958
16958
  :param enable_private_gua: Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.
16959
16959
  :param operating_regions: The operating Regions for an IPAM. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions. For more information about operating Regions, see `Create an IPAM <https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
@@ -17093,7 +17093,7 @@ class CfnIPAM(
17093
17093
  def default_resource_discovery_organizational_unit_exclusions(
17094
17094
  self,
17095
17095
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIPAM.IpamOrganizationalUnitExclusionProperty"]]]]:
17096
- '''A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.'''
17096
+ '''If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .'''
17097
17097
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIPAM.IpamOrganizationalUnitExclusionProperty"]]]], jsii.get(self, "defaultResourceDiscoveryOrganizationalUnitExclusions"))
17098
17098
 
17099
17099
  @default_resource_discovery_organizational_unit_exclusions.setter
@@ -17244,7 +17244,7 @@ class CfnIPAM(
17244
17244
  )
17245
17245
  class IpamOrganizationalUnitExclusionProperty:
17246
17246
  def __init__(self, *, organizations_entity_path: builtins.str) -> None:
17247
- '''If your IPAM is integrated with AWS Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion.
17247
+ '''If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
17248
17248
 
17249
17249
  :param organizations_entity_path: An AWS Organizations entity path. For more information on the entity path, see `Understand the AWS Organizations entity path <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path>`_ in the *AWS Identity and Access Management User Guide* .
17250
17250
 
@@ -18839,7 +18839,7 @@ class CfnIPAMProps:
18839
18839
  ) -> None:
18840
18840
  '''Properties for defining a ``CfnIPAM``.
18841
18841
 
18842
- :param default_resource_discovery_organizational_unit_exclusions: A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.
18842
+ :param default_resource_discovery_organizational_unit_exclusions: If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
18843
18843
  :param description: The description for the IPAM.
18844
18844
  :param enable_private_gua: Enable this option to use your own GUA ranges as private IPv6 addresses. This option is disabled by default.
18845
18845
  :param operating_regions: The operating Regions for an IPAM. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions. For more information about operating Regions, see `Create an IPAM <https://docs.aws.amazon.com//vpc/latest/ipam/create-ipam.html>`_ in the *Amazon VPC IPAM User Guide* .
@@ -18897,7 +18897,7 @@ class CfnIPAMProps:
18897
18897
  def default_resource_discovery_organizational_unit_exclusions(
18898
18898
  self,
18899
18899
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIPAM.IpamOrganizationalUnitExclusionProperty]]]]:
18900
- '''A set of organizational unit (OU) exclusions for the default resource discovery, created with this IPAM.
18900
+ '''If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
18901
18901
 
18902
18902
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipam.html#cfn-ec2-ipam-defaultresourcediscoveryorganizationalunitexclusions
18903
18903
  '''
@@ -19023,7 +19023,7 @@ class CfnIPAMResourceDiscovery(
19023
19023
  :param id: Construct identifier for this resource (unique in its scope).
19024
19024
  :param description: The resource discovery description.
19025
19025
  :param operating_regions: The operating Regions for the resource discovery. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.
19026
- :param organizational_unit_exclusions: A set of organizational unit (OU) exclusions for this resource.
19026
+ :param organizational_unit_exclusions: If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
19027
19027
  :param tags: A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.
19028
19028
  '''
19029
19029
  if __debug__:
@@ -19185,7 +19185,7 @@ class CfnIPAMResourceDiscovery(
19185
19185
  def organizational_unit_exclusions(
19186
19186
  self,
19187
19187
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusionProperty"]]]]:
19188
- '''A set of organizational unit (OU) exclusions for this resource.'''
19188
+ '''If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .'''
19189
19189
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnIPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusionProperty"]]]], jsii.get(self, "organizationalUnitExclusions"))
19190
19190
 
19191
19191
  @organizational_unit_exclusions.setter
@@ -19274,9 +19274,9 @@ class CfnIPAMResourceDiscovery(
19274
19274
  )
19275
19275
  class IpamResourceDiscoveryOrganizationalUnitExclusionProperty:
19276
19276
  def __init__(self, *, organizations_entity_path: builtins.str) -> None:
19277
- '''If your IPAM is integrated with AWS Organizations and you add an organizational unit (OU) exclusion, IPAM will not manage the IP addresses in accounts in that OU exclusion.
19277
+ '''If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
19278
19278
 
19279
- :param organizations_entity_path: An AWS Organizations entity path. Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.
19279
+ :param organizations_entity_path: An AWS Organizations entity path. For more information on the entity path, see `Understand the AWS Organizations entity path <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path>`_ in the *AWS Identity and Access Management User Guide* .
19280
19280
 
19281
19281
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipamresourcediscovery-ipamresourcediscoveryorganizationalunitexclusion.html
19282
19282
  :exampleMetadata: fixture=_generated
@@ -19302,7 +19302,7 @@ class CfnIPAMResourceDiscovery(
19302
19302
  def organizations_entity_path(self) -> builtins.str:
19303
19303
  '''An AWS Organizations entity path.
19304
19304
 
19305
- Build the path for the OU(s) using AWS Organizations IDs separated by a '/'. Include all child OUs by ending the path with '/*'.
19305
+ For more information on the entity path, see `Understand the AWS Organizations entity path <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_last-accessed-view-data-orgs.html#access_policies_access-advisor-viewing-orgs-entity-path>`_ in the *AWS Identity and Access Management User Guide* .
19306
19306
 
19307
19307
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ipamresourcediscovery-ipamresourcediscoveryorganizationalunitexclusion.html#cfn-ec2-ipamresourcediscovery-ipamresourcediscoveryorganizationalunitexclusion-organizationsentitypath
19308
19308
  '''
@@ -19671,7 +19671,7 @@ class CfnIPAMResourceDiscoveryProps:
19671
19671
 
19672
19672
  :param description: The resource discovery description.
19673
19673
  :param operating_regions: The operating Regions for the resource discovery. Operating Regions are AWS Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only discovers and monitors resources in the AWS Regions you select as operating Regions.
19674
- :param organizational_unit_exclusions: A set of organizational unit (OU) exclusions for this resource.
19674
+ :param organizational_unit_exclusions: If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
19675
19675
  :param tags: A tag is a label that you assign to an AWS resource. Each tag consists of a key and an optional value. You can use tags to search and filter your resources or track your AWS costs.
19676
19676
 
19677
19677
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html
@@ -19739,7 +19739,7 @@ class CfnIPAMResourceDiscoveryProps:
19739
19739
  def organizational_unit_exclusions(
19740
19740
  self,
19741
19741
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnIPAMResourceDiscovery.IpamResourceDiscoveryOrganizationalUnitExclusionProperty]]]]:
19742
- '''A set of organizational unit (OU) exclusions for this resource.
19742
+ '''If your IPAM is integrated with AWS Organizations, you can exclude an `organizational unit (OU) <https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit>`_ from being managed by IPAM. When you exclude an OU, IPAM will not manage the IP addresses in accounts in that OU. For more information, see `Exclude organizational units from IPAM <https://docs.aws.amazon.com/vpc/latest/ipam/exclude-ous.html>`_ in the *Amazon Virtual Private Cloud IP Address Manager User Guide* .
19743
19743
 
19744
19744
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ipamresourcediscovery.html#cfn-ec2-ipamresourcediscovery-organizationalunitexclusions
19745
19745
  '''
@@ -79118,6 +79118,26 @@ class InterfaceVpcEndpointAwsService(
79118
79118
  def BEDROCK_AGENT_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
79119
79119
  return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_AGENT_RUNTIME"))
79120
79120
 
79121
+ @jsii.python.classproperty
79122
+ @jsii.member(jsii_name="BEDROCK_DATA_AUTOMATION")
79123
+ def BEDROCK_DATA_AUTOMATION(cls) -> "InterfaceVpcEndpointAwsService":
79124
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_DATA_AUTOMATION"))
79125
+
79126
+ @jsii.python.classproperty
79127
+ @jsii.member(jsii_name="BEDROCK_DATA_AUTOMATION_FIPS")
79128
+ def BEDROCK_DATA_AUTOMATION_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
79129
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_DATA_AUTOMATION_FIPS"))
79130
+
79131
+ @jsii.python.classproperty
79132
+ @jsii.member(jsii_name="BEDROCK_DATA_AUTOMATION_RUNTIME")
79133
+ def BEDROCK_DATA_AUTOMATION_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
79134
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_DATA_AUTOMATION_RUNTIME"))
79135
+
79136
+ @jsii.python.classproperty
79137
+ @jsii.member(jsii_name="BEDROCK_DATA_AUTOMATION_RUNTIME_FIPS")
79138
+ def BEDROCK_DATA_AUTOMATION_RUNTIME_FIPS(cls) -> "InterfaceVpcEndpointAwsService":
79139
+ return typing.cast("InterfaceVpcEndpointAwsService", jsii.sget(cls, "BEDROCK_DATA_AUTOMATION_RUNTIME_FIPS"))
79140
+
79121
79141
  @jsii.python.classproperty
79122
79142
  @jsii.member(jsii_name="BEDROCK_RUNTIME")
79123
79143
  def BEDROCK_RUNTIME(cls) -> "InterfaceVpcEndpointAwsService":
@@ -2224,7 +2224,7 @@ class CfnRepositoryCreationTemplate(
2224
2224
  :param encryption_configuration: The encryption configuration associated with the repository creation template.
2225
2225
  :param image_tag_mutability: The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
2226
2226
  :param lifecycle_policy: The lifecycle policy to use for repositories created using the template.
2227
- :param repository_policy: he repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.
2227
+ :param repository_policy: The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.
2228
2228
  :param resource_tags: The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
2229
2229
  '''
2230
2230
  if __debug__:
@@ -2397,7 +2397,7 @@ class CfnRepositoryCreationTemplate(
2397
2397
  @builtins.property
2398
2398
  @jsii.member(jsii_name="repositoryPolicy")
2399
2399
  def repository_policy(self) -> typing.Optional[builtins.str]:
2400
- '''he repository policy to apply to repositories created using the template.'''
2400
+ '''The repository policy to apply to repositories created using the template.'''
2401
2401
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "repositoryPolicy"))
2402
2402
 
2403
2403
  @repository_policy.setter
@@ -2551,7 +2551,7 @@ class CfnRepositoryCreationTemplateProps:
2551
2551
  :param encryption_configuration: The encryption configuration associated with the repository creation template.
2552
2552
  :param image_tag_mutability: The tag mutability setting for the repository. If this parameter is omitted, the default setting of MUTABLE will be used which will allow image tags to be overwritten. If IMMUTABLE is specified, all image tags within the repository will be immutable which will prevent them from being overwritten.
2553
2553
  :param lifecycle_policy: The lifecycle policy to use for repositories created using the template.
2554
- :param repository_policy: he repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.
2554
+ :param repository_policy: The repository policy to apply to repositories created using the template. A repository policy is a permissions policy associated with a repository to control access permissions.
2555
2555
  :param resource_tags: The metadata to apply to the repository to help you categorize and organize. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.
2556
2556
 
2557
2557
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecr-repositorycreationtemplate.html
@@ -2690,7 +2690,7 @@ class CfnRepositoryCreationTemplateProps:
2690
2690
 
2691
2691
  @builtins.property
2692
2692
  def repository_policy(self) -> typing.Optional[builtins.str]:
2693
- '''he repository policy to apply to repositories created using the template.
2693
+ '''The repository policy to apply to repositories created using the template.
2694
2694
 
2695
2695
  A repository policy is a permissions policy associated with a repository to control access permissions.
2696
2696
 
@@ -4513,6 +4513,12 @@ class RepositoryEncryption(
4513
4513
  ''''KMS'.'''
4514
4514
  return typing.cast("RepositoryEncryption", jsii.sget(cls, "KMS"))
4515
4515
 
4516
+ @jsii.python.classproperty
4517
+ @jsii.member(jsii_name="KMS_DSSE")
4518
+ def KMS_DSSE(cls) -> "RepositoryEncryption":
4519
+ ''''KMS_DSSE'.'''
4520
+ return typing.cast("RepositoryEncryption", jsii.sget(cls, "KMS_DSSE"))
4521
+
4516
4522
  @builtins.property
4517
4523
  @jsii.member(jsii_name="value")
4518
4524
  def value(self) -> builtins.str:
@@ -88,7 +88,7 @@ cluster = ecs.Cluster(self, "Cluster",
88
88
  )
89
89
  ```
90
90
 
91
- To encrypt the fargate ephemeral storage configure a KMS key.
91
+ By default, storage is encrypted with AWS-managed key. You can specify customer-managed key using:
92
92
 
93
93
  ```python
94
94
  # key: kms.Key
@@ -96,7 +96,8 @@ To encrypt the fargate ephemeral storage configure a KMS key.
96
96
 
97
97
  cluster = ecs.Cluster(self, "Cluster",
98
98
  managed_storage_configuration=ecs.ManagedStorageConfiguration(
99
- fargate_ephemeral_storage_kms_key=key
99
+ fargate_ephemeral_storage_kms_key=key,
100
+ kms_key=key
100
101
  )
101
102
  )
102
103
  ```
@@ -2188,6 +2189,7 @@ from ..aws_autoscaling import (
2188
2189
  CommonAutoScalingGroupProps as _CommonAutoScalingGroupProps_808bbf2d,
2189
2190
  GroupMetrics as _GroupMetrics_7cdf729b,
2190
2191
  HealthCheck as _HealthCheck_03a4bd5a,
2192
+ HealthChecks as _HealthChecks_b8757873,
2191
2193
  IAutoScalingGroup as _IAutoScalingGroup_360f1cde,
2192
2194
  Monitoring as _Monitoring_50020f91,
2193
2195
  NotificationConfiguration as _NotificationConfiguration_d5911670,
@@ -2411,6 +2413,7 @@ class AddAutoScalingGroupCapacityOptions:
2411
2413
  "desired_capacity": "desiredCapacity",
2412
2414
  "group_metrics": "groupMetrics",
2413
2415
  "health_check": "healthCheck",
2416
+ "health_checks": "healthChecks",
2414
2417
  "ignore_unmodified_size_properties": "ignoreUnmodifiedSizeProperties",
2415
2418
  "instance_monitoring": "instanceMonitoring",
2416
2419
  "key_name": "keyName",
@@ -2453,6 +2456,7 @@ class AddCapacityOptions(
2453
2456
  desired_capacity: typing.Optional[jsii.Number] = None,
2454
2457
  group_metrics: typing.Optional[typing.Sequence[_GroupMetrics_7cdf729b]] = None,
2455
2458
  health_check: typing.Optional[_HealthCheck_03a4bd5a] = None,
2459
+ health_checks: typing.Optional[_HealthChecks_b8757873] = None,
2456
2460
  ignore_unmodified_size_properties: typing.Optional[builtins.bool] = None,
2457
2461
  instance_monitoring: typing.Optional[_Monitoring_50020f91] = None,
2458
2462
  key_name: typing.Optional[builtins.str] = None,
@@ -2488,7 +2492,8 @@ class AddCapacityOptions(
2488
2492
  :param default_instance_warmup: The amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. To optimize the performance of scaling policies that scale continuously, such as target tracking and step scaling policies, we strongly recommend that you enable the default instance warmup, even if its value is set to 0 seconds Default instance warmup will not be added if no value is specified Default: None
2489
2493
  :param desired_capacity: Initial amount of instances in the fleet. If this is set to a number, every deployment will reset the amount of instances to this number. It is recommended to leave this value blank. Default: minCapacity, and leave unchanged during deployment
2490
2494
  :param group_metrics: Enable monitoring for group metrics, these metrics describe the group rather than any of its instances. To report all group metrics use ``GroupMetrics.all()`` Group metrics are reported in a granularity of 1 minute at no additional charge. Default: - no group metrics will be reported
2491
- :param health_check: Configuration for health checks. Default: - HealthCheck.ec2 with no grace period
2495
+ :param health_check: (deprecated) Configuration for health checks. Default: - HealthCheck.ec2 with no grace period
2496
+ :param health_checks: Configuration for EC2 or additional health checks. Even when using ``HealthChecks.withAdditionalChecks()``, the EC2 type is implicitly included. Default: - EC2 type with no grace period
2492
2497
  :param ignore_unmodified_size_properties: If the ASG has scheduled actions, don't reset unchanged group sizes. Only used if the ASG has scheduled actions (which may scale your ASG up or down regardless of cdk deployments). If true, the size of the group will only be reset if it has been changed in the CDK app. If false, the sizes will always be changed back to what they were in the CDK app on deployment. Default: true
2493
2498
  :param instance_monitoring: Controls whether instances in this group are launched with detailed or basic monitoring. When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified Default: - Monitoring.DETAILED
2494
2499
  :param key_name: (deprecated) Name of SSH keypair to grant access to instances. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified You can either specify ``keyPair`` or ``keyName``, not both. Default: - No SSH access will be possible.
@@ -2540,6 +2545,7 @@ class AddCapacityOptions(
2540
2545
  check_type(argname="argument desired_capacity", value=desired_capacity, expected_type=type_hints["desired_capacity"])
2541
2546
  check_type(argname="argument group_metrics", value=group_metrics, expected_type=type_hints["group_metrics"])
2542
2547
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
2548
+ check_type(argname="argument health_checks", value=health_checks, expected_type=type_hints["health_checks"])
2543
2549
  check_type(argname="argument ignore_unmodified_size_properties", value=ignore_unmodified_size_properties, expected_type=type_hints["ignore_unmodified_size_properties"])
2544
2550
  check_type(argname="argument instance_monitoring", value=instance_monitoring, expected_type=type_hints["instance_monitoring"])
2545
2551
  check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
@@ -2591,6 +2597,8 @@ class AddCapacityOptions(
2591
2597
  self._values["group_metrics"] = group_metrics
2592
2598
  if health_check is not None:
2593
2599
  self._values["health_check"] = health_check
2600
+ if health_checks is not None:
2601
+ self._values["health_checks"] = health_checks
2594
2602
  if ignore_unmodified_size_properties is not None:
2595
2603
  self._values["ignore_unmodified_size_properties"] = ignore_unmodified_size_properties
2596
2604
  if instance_monitoring is not None:
@@ -2809,13 +2817,30 @@ class AddCapacityOptions(
2809
2817
 
2810
2818
  @builtins.property
2811
2819
  def health_check(self) -> typing.Optional[_HealthCheck_03a4bd5a]:
2812
- '''Configuration for health checks.
2820
+ '''(deprecated) Configuration for health checks.
2813
2821
 
2814
2822
  :default: - HealthCheck.ec2 with no grace period
2823
+
2824
+ :deprecated: Use ``healthChecks`` instead
2825
+
2826
+ :stability: deprecated
2815
2827
  '''
2816
2828
  result = self._values.get("health_check")
2817
2829
  return typing.cast(typing.Optional[_HealthCheck_03a4bd5a], result)
2818
2830
 
2831
+ @builtins.property
2832
+ def health_checks(self) -> typing.Optional[_HealthChecks_b8757873]:
2833
+ '''Configuration for EC2 or additional health checks.
2834
+
2835
+ Even when using ``HealthChecks.withAdditionalChecks()``, the EC2 type is implicitly included.
2836
+
2837
+ :default: - EC2 type with no grace period
2838
+
2839
+ :see: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html
2840
+ '''
2841
+ result = self._values.get("health_checks")
2842
+ return typing.cast(typing.Optional[_HealthChecks_b8757873], result)
2843
+
2819
2844
  @builtins.property
2820
2845
  def ignore_unmodified_size_properties(self) -> typing.Optional[builtins.bool]:
2821
2846
  '''If the ASG has scheduled actions, don't reset unchanged group sizes.
@@ -32822,6 +32847,7 @@ class MachineImageType(enum.Enum):
32822
32847
  jsii_struct_bases=[],
32823
32848
  name_mapping={
32824
32849
  "fargate_ephemeral_storage_kms_key": "fargateEphemeralStorageKmsKey",
32850
+ "kms_key": "kmsKey",
32825
32851
  },
32826
32852
  )
32827
32853
  class ManagedStorageConfiguration:
@@ -32829,10 +32855,12 @@ class ManagedStorageConfiguration:
32829
32855
  self,
32830
32856
  *,
32831
32857
  fargate_ephemeral_storage_kms_key: typing.Optional[_IKey_5f11635f] = None,
32858
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
32832
32859
  ) -> None:
32833
32860
  '''Kms Keys for encryption ECS managed storage.
32834
32861
 
32835
- :param fargate_ephemeral_storage_kms_key: KMS Key used to encrypt ECS Fargate ephemeral Storage. The configured KMS Key's policy will be modified to allow ECS to use the Key to encrypt the ephemeral Storage for this cluster. Default: No encryption will be applied
32862
+ :param fargate_ephemeral_storage_kms_key: Customer KMS Key used to encrypt ECS Fargate ephemeral Storage. The configured KMS Key's policy will be modified to allow ECS to use the Key to encrypt the ephemeral Storage for this cluster. Default: - Encrypted using AWS-managed key
32863
+ :param kms_key: Customer KMS Key used to encrypt ECS managed Storage. Default: - Encrypted using AWS-managed key
32836
32864
 
32837
32865
  :exampleMetadata: infused
32838
32866
 
@@ -32843,30 +32871,45 @@ class ManagedStorageConfiguration:
32843
32871
 
32844
32872
  cluster = ecs.Cluster(self, "Cluster",
32845
32873
  managed_storage_configuration=ecs.ManagedStorageConfiguration(
32846
- fargate_ephemeral_storage_kms_key=key
32874
+ fargate_ephemeral_storage_kms_key=key,
32875
+ kms_key=key
32847
32876
  )
32848
32877
  )
32849
32878
  '''
32850
32879
  if __debug__:
32851
32880
  type_hints = typing.get_type_hints(_typecheckingstub__2f9a1356d6603371cc25e0653216ab0167448ba43002bef5b32c489376e7fbb9)
32852
32881
  check_type(argname="argument fargate_ephemeral_storage_kms_key", value=fargate_ephemeral_storage_kms_key, expected_type=type_hints["fargate_ephemeral_storage_kms_key"])
32882
+ check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
32853
32883
  self._values: typing.Dict[builtins.str, typing.Any] = {}
32854
32884
  if fargate_ephemeral_storage_kms_key is not None:
32855
32885
  self._values["fargate_ephemeral_storage_kms_key"] = fargate_ephemeral_storage_kms_key
32886
+ if kms_key is not None:
32887
+ self._values["kms_key"] = kms_key
32856
32888
 
32857
32889
  @builtins.property
32858
32890
  def fargate_ephemeral_storage_kms_key(self) -> typing.Optional[_IKey_5f11635f]:
32859
- '''KMS Key used to encrypt ECS Fargate ephemeral Storage.
32891
+ '''Customer KMS Key used to encrypt ECS Fargate ephemeral Storage.
32860
32892
 
32861
32893
  The configured KMS Key's policy will be modified to allow ECS to use the Key to encrypt the ephemeral Storage for this cluster.
32862
32894
 
32863
- :default: No encryption will be applied
32895
+ :default: - Encrypted using AWS-managed key
32864
32896
 
32865
32897
  :see: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-storage-encryption.html
32866
32898
  '''
32867
32899
  result = self._values.get("fargate_ephemeral_storage_kms_key")
32868
32900
  return typing.cast(typing.Optional[_IKey_5f11635f], result)
32869
32901
 
32902
+ @builtins.property
32903
+ def kms_key(self) -> typing.Optional[_IKey_5f11635f]:
32904
+ '''Customer KMS Key used to encrypt ECS managed Storage.
32905
+
32906
+ :default: - Encrypted using AWS-managed key
32907
+
32908
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-cluster-managedstorageconfiguration.html#cfn-ecs-cluster-managedstorageconfiguration-kmskeyid
32909
+ '''
32910
+ result = self._values.get("kms_key")
32911
+ return typing.cast(typing.Optional[_IKey_5f11635f], result)
32912
+
32870
32913
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
32871
32914
  return isinstance(rhs, self.__class__) and rhs._values == self._values
32872
32915
 
@@ -39747,6 +39790,7 @@ class Cluster(
39747
39790
  desired_capacity: typing.Optional[jsii.Number] = None,
39748
39791
  group_metrics: typing.Optional[typing.Sequence[_GroupMetrics_7cdf729b]] = None,
39749
39792
  health_check: typing.Optional[_HealthCheck_03a4bd5a] = None,
39793
+ health_checks: typing.Optional[_HealthChecks_b8757873] = None,
39750
39794
  ignore_unmodified_size_properties: typing.Optional[builtins.bool] = None,
39751
39795
  instance_monitoring: typing.Optional[_Monitoring_50020f91] = None,
39752
39796
  key_name: typing.Optional[builtins.str] = None,
@@ -39787,7 +39831,8 @@ class Cluster(
39787
39831
  :param default_instance_warmup: The amount of time, in seconds, until a newly launched instance can contribute to the Amazon CloudWatch metrics. This delay lets an instance finish initializing before Amazon EC2 Auto Scaling aggregates instance metrics, resulting in more reliable usage data. Set this value equal to the amount of time that it takes for resource consumption to become stable after an instance reaches the InService state. To optimize the performance of scaling policies that scale continuously, such as target tracking and step scaling policies, we strongly recommend that you enable the default instance warmup, even if its value is set to 0 seconds Default instance warmup will not be added if no value is specified Default: None
39788
39832
  :param desired_capacity: Initial amount of instances in the fleet. If this is set to a number, every deployment will reset the amount of instances to this number. It is recommended to leave this value blank. Default: minCapacity, and leave unchanged during deployment
39789
39833
  :param group_metrics: Enable monitoring for group metrics, these metrics describe the group rather than any of its instances. To report all group metrics use ``GroupMetrics.all()`` Group metrics are reported in a granularity of 1 minute at no additional charge. Default: - no group metrics will be reported
39790
- :param health_check: Configuration for health checks. Default: - HealthCheck.ec2 with no grace period
39834
+ :param health_check: (deprecated) Configuration for health checks. Default: - HealthCheck.ec2 with no grace period
39835
+ :param health_checks: Configuration for EC2 or additional health checks. Even when using ``HealthChecks.withAdditionalChecks()``, the EC2 type is implicitly included. Default: - EC2 type with no grace period
39791
39836
  :param ignore_unmodified_size_properties: If the ASG has scheduled actions, don't reset unchanged group sizes. Only used if the ASG has scheduled actions (which may scale your ASG up or down regardless of cdk deployments). If true, the size of the group will only be reset if it has been changed in the CDK app. If false, the sizes will always be changed back to what they were in the CDK app on deployment. Default: true
39792
39837
  :param instance_monitoring: Controls whether instances in this group are launched with detailed or basic monitoring. When detailed monitoring is enabled, Amazon CloudWatch generates metrics every minute and your account is charged a fee. When you disable detailed monitoring, CloudWatch generates metrics every 5 minutes. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified Default: - Monitoring.DETAILED
39793
39838
  :param key_name: (deprecated) Name of SSH keypair to grant access to instances. ``launchTemplate`` and ``mixedInstancesPolicy`` must not be specified when this property is specified You can either specify ``keyPair`` or ``keyName``, not both. Default: - No SSH access will be possible.
@@ -39826,6 +39871,7 @@ class Cluster(
39826
39871
  desired_capacity=desired_capacity,
39827
39872
  group_metrics=group_metrics,
39828
39873
  health_check=health_check,
39874
+ health_checks=health_checks,
39829
39875
  ignore_unmodified_size_properties=ignore_unmodified_size_properties,
39830
39876
  instance_monitoring=instance_monitoring,
39831
39877
  key_name=key_name,
@@ -43065,6 +43111,7 @@ def _typecheckingstub__64f2d9b3495e3be78346f77d5ad90928968c8ce230e670b6279dc67ad
43065
43111
  desired_capacity: typing.Optional[jsii.Number] = None,
43066
43112
  group_metrics: typing.Optional[typing.Sequence[_GroupMetrics_7cdf729b]] = None,
43067
43113
  health_check: typing.Optional[_HealthCheck_03a4bd5a] = None,
43114
+ health_checks: typing.Optional[_HealthChecks_b8757873] = None,
43068
43115
  ignore_unmodified_size_properties: typing.Optional[builtins.bool] = None,
43069
43116
  instance_monitoring: typing.Optional[_Monitoring_50020f91] = None,
43070
43117
  key_name: typing.Optional[builtins.str] = None,
@@ -45979,6 +46026,7 @@ def _typecheckingstub__4028d39adfbd4018be781b02eae5afae009ba3d6754c9cac3c26580b7
45979
46026
  def _typecheckingstub__2f9a1356d6603371cc25e0653216ab0167448ba43002bef5b32c489376e7fbb9(
45980
46027
  *,
45981
46028
  fargate_ephemeral_storage_kms_key: typing.Optional[_IKey_5f11635f] = None,
46029
+ kms_key: typing.Optional[_IKey_5f11635f] = None,
45982
46030
  ) -> None:
45983
46031
  """Type checking stubs"""
45984
46032
  pass
@@ -46851,6 +46899,7 @@ def _typecheckingstub__63e98e008463515927d4aee3c938d64639e34ce8a2c09fa766883be6a
46851
46899
  desired_capacity: typing.Optional[jsii.Number] = None,
46852
46900
  group_metrics: typing.Optional[typing.Sequence[_GroupMetrics_7cdf729b]] = None,
46853
46901
  health_check: typing.Optional[_HealthCheck_03a4bd5a] = None,
46902
+ health_checks: typing.Optional[_HealthChecks_b8757873] = None,
46854
46903
  ignore_unmodified_size_properties: typing.Optional[builtins.bool] = None,
46855
46904
  instance_monitoring: typing.Optional[_Monitoring_50020f91] = None,
46856
46905
  key_name: typing.Optional[builtins.str] = None,