aws-cdk-lib 2.118.0__py3-none-any.whl → 2.119.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 (52) hide show
  1. aws_cdk/__init__.py +4 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.118.0.jsii.tgz → aws-cdk-lib@2.119.0.jsii.tgz} +0 -0
  4. aws_cdk/amzn_sdc/__init__.py +496 -0
  5. aws_cdk/aws_appsync/__init__.py +23 -9
  6. aws_cdk/aws_certificatemanager/__init__.py +164 -3
  7. aws_cdk/aws_cloud9/__init__.py +3 -3
  8. aws_cdk/aws_cloudfront/__init__.py +105 -5
  9. aws_cdk/aws_cloudtrail/__init__.py +54 -34
  10. aws_cdk/aws_cloudwatch_actions/__init__.py +105 -0
  11. aws_cdk/aws_codebuild/__init__.py +1 -0
  12. aws_cdk/aws_codecommit/__init__.py +9 -3
  13. aws_cdk/aws_codetest/__init__.py +788 -0
  14. aws_cdk/aws_cognito/__init__.py +104 -0
  15. aws_cdk/aws_connect/__init__.py +626 -78
  16. aws_cdk/aws_docdb/__init__.py +442 -0
  17. aws_cdk/aws_dynamodb/__init__.py +14 -0
  18. aws_cdk/aws_ec2/__init__.py +372 -44
  19. aws_cdk/aws_emrserverless/__init__.py +20 -13
  20. aws_cdk/aws_events/__init__.py +90 -1
  21. aws_cdk/aws_fis/__init__.py +12 -32
  22. aws_cdk/aws_globalaccelerator/__init__.py +19 -0
  23. aws_cdk/aws_glue/__init__.py +329 -0
  24. aws_cdk/aws_iam/__init__.py +30 -24
  25. aws_cdk/aws_iot/__init__.py +112 -0
  26. aws_cdk/aws_iotsitewise/__init__.py +4 -4
  27. aws_cdk/aws_kendra/__init__.py +10 -5
  28. aws_cdk/aws_kinesisfirehose/__init__.py +111 -0
  29. aws_cdk/aws_location/__init__.py +1132 -17
  30. aws_cdk/aws_mediatailor/__init__.py +120 -17
  31. aws_cdk/aws_networkfirewall/__init__.py +2 -2
  32. aws_cdk/aws_networkmanager/__init__.py +1 -1
  33. aws_cdk/aws_omics/__init__.py +4 -4
  34. aws_cdk/aws_opensearchservice/__init__.py +2 -0
  35. aws_cdk/aws_pinpoint/__init__.py +14 -6
  36. aws_cdk/aws_pipes/__init__.py +7 -2
  37. aws_cdk/aws_rds/__init__.py +15 -9
  38. aws_cdk/aws_redshift/__init__.py +103 -0
  39. aws_cdk/aws_route53/__init__.py +68 -20
  40. aws_cdk/aws_s3/__init__.py +2 -4
  41. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  42. aws_cdk/aws_servicecatalogappregistry/__init__.py +3 -3
  43. aws_cdk/aws_signer/__init__.py +27 -4
  44. aws_cdk/aws_ssm/__init__.py +76 -13
  45. aws_cdk/aws_stepfunctions/__init__.py +110 -5
  46. aws_cdk/pipelines/__init__.py +136 -37
  47. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/METADATA +2 -2
  48. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/RECORD +52 -50
  49. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/LICENSE +0 -0
  50. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/NOTICE +0 -0
  51. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/WHEEL +0 -0
  52. {aws_cdk_lib-2.118.0.dist-info → aws_cdk_lib-2.119.0.dist-info}/top_level.txt +0 -0
@@ -118,7 +118,9 @@ class CfnCluster(
118
118
  s3_key_prefix="s3KeyPrefix"
119
119
  ),
120
120
  maintenance_track_name="maintenanceTrackName",
121
+ manage_master_password=False,
121
122
  manual_snapshot_retention_period=123,
123
+ master_password_secret_kms_key_id="masterPasswordSecretKmsKeyId",
122
124
  master_user_password="masterUserPassword",
123
125
  multi_az=False,
124
126
  namespace_resource_policy=namespace_resource_policy,
@@ -179,7 +181,9 @@ class CfnCluster(
179
181
  kms_key_id: typing.Optional[builtins.str] = None,
180
182
  logging_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.LoggingPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
181
183
  maintenance_track_name: typing.Optional[builtins.str] = None,
184
+ manage_master_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
182
185
  manual_snapshot_retention_period: typing.Optional[jsii.Number] = None,
186
+ master_password_secret_kms_key_id: typing.Optional[builtins.str] = None,
183
187
  master_user_password: typing.Optional[builtins.str] = None,
184
188
  multi_az: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
185
189
  namespace_resource_policy: typing.Any = None,
@@ -233,7 +237,9 @@ class CfnCluster(
233
237
  :param kms_key_id: The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.
234
238
  :param logging_properties: Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.
235
239
  :param maintenance_track_name: An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the ``current`` track.
240
+ :param manage_master_password: A boolean indicating if the redshift cluster's admin user credentials is managed by Redshift or not. You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.
236
241
  :param manual_snapshot_retention_period: The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. The value must be either -1 or an integer between 1 and 3,653.
242
+ :param master_password_secret_kms_key_id: The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin user credentials secret.
237
243
  :param master_user_password: The password associated with the admin user account for the cluster that is being created. You can't use ``MasterUserPassword`` if ``ManageMasterPassword`` is ``true`` . Constraints: - Must be between 8 and 64 characters in length. - Must contain at least one uppercase letter. - Must contain at least one lowercase letter. - Must contain one number. - Can be any printable ASCII character (ASCII code 33-126) except ``'`` (single quote), ``"`` (double quote), ``\\`` , ``/`` , or ``@`` .
238
244
  :param multi_az: A boolean indicating whether Amazon Redshift should deploy the cluster in two Availability Zones. The default is false.
239
245
  :param namespace_resource_policy: The namespace resource policy document that will be attached to a Redshift cluster.
@@ -289,7 +295,9 @@ class CfnCluster(
289
295
  kms_key_id=kms_key_id,
290
296
  logging_properties=logging_properties,
291
297
  maintenance_track_name=maintenance_track_name,
298
+ manage_master_password=manage_master_password,
292
299
  manual_snapshot_retention_period=manual_snapshot_retention_period,
300
+ master_password_secret_kms_key_id=master_password_secret_kms_key_id,
293
301
  master_user_password=master_user_password,
294
302
  multi_az=multi_az,
295
303
  namespace_resource_policy=namespace_resource_policy,
@@ -389,6 +397,15 @@ class CfnCluster(
389
397
  '''
390
398
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
391
399
 
400
+ @builtins.property
401
+ @jsii.member(jsii_name="attrMasterPasswordSecretArn")
402
+ def attr_master_password_secret_arn(self) -> builtins.str:
403
+ '''The Amazon Resource Name (ARN) for the cluster's admin user credentials secret.
404
+
405
+ :cloudformationAttribute: MasterPasswordSecretArn
406
+ '''
407
+ return typing.cast(builtins.str, jsii.get(self, "attrMasterPasswordSecretArn"))
408
+
392
409
  @builtins.property
393
410
  @jsii.member(jsii_name="cfnProperties")
394
411
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -867,6 +884,24 @@ class CfnCluster(
867
884
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
868
885
  jsii.set(self, "maintenanceTrackName", value)
869
886
 
887
+ @builtins.property
888
+ @jsii.member(jsii_name="manageMasterPassword")
889
+ def manage_master_password(
890
+ self,
891
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
892
+ '''A boolean indicating if the redshift cluster's admin user credentials is managed by Redshift or not.'''
893
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "manageMasterPassword"))
894
+
895
+ @manage_master_password.setter
896
+ def manage_master_password(
897
+ self,
898
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
899
+ ) -> None:
900
+ if __debug__:
901
+ type_hints = typing.get_type_hints(_typecheckingstub__080a467a54b42730471573ef0e1a0c26e7b4f7d5ec0a07e9f75f4d8e6d3e25bf)
902
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
903
+ jsii.set(self, "manageMasterPassword", value)
904
+
870
905
  @builtins.property
871
906
  @jsii.member(jsii_name="manualSnapshotRetentionPeriod")
872
907
  def manual_snapshot_retention_period(self) -> typing.Optional[jsii.Number]:
@@ -883,6 +918,22 @@ class CfnCluster(
883
918
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
884
919
  jsii.set(self, "manualSnapshotRetentionPeriod", value)
885
920
 
921
+ @builtins.property
922
+ @jsii.member(jsii_name="masterPasswordSecretKmsKeyId")
923
+ def master_password_secret_kms_key_id(self) -> typing.Optional[builtins.str]:
924
+ '''The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin user credentials secret.'''
925
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "masterPasswordSecretKmsKeyId"))
926
+
927
+ @master_password_secret_kms_key_id.setter
928
+ def master_password_secret_kms_key_id(
929
+ self,
930
+ value: typing.Optional[builtins.str],
931
+ ) -> None:
932
+ if __debug__:
933
+ type_hints = typing.get_type_hints(_typecheckingstub__e26594c22a23597c2bcb39be035e857bb61d132ed89a50d4d58e1a8f8c369e12)
934
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
935
+ jsii.set(self, "masterPasswordSecretKmsKeyId", value)
936
+
886
937
  @builtins.property
887
938
  @jsii.member(jsii_name="masterUserPassword")
888
939
  def master_user_password(self) -> typing.Optional[builtins.str]:
@@ -1740,7 +1791,9 @@ class CfnClusterParameterGroupProps:
1740
1791
  "kms_key_id": "kmsKeyId",
1741
1792
  "logging_properties": "loggingProperties",
1742
1793
  "maintenance_track_name": "maintenanceTrackName",
1794
+ "manage_master_password": "manageMasterPassword",
1743
1795
  "manual_snapshot_retention_period": "manualSnapshotRetentionPeriod",
1796
+ "master_password_secret_kms_key_id": "masterPasswordSecretKmsKeyId",
1744
1797
  "master_user_password": "masterUserPassword",
1745
1798
  "multi_az": "multiAz",
1746
1799
  "namespace_resource_policy": "namespaceResourcePolicy",
@@ -1796,7 +1849,9 @@ class CfnClusterProps:
1796
1849
  kms_key_id: typing.Optional[builtins.str] = None,
1797
1850
  logging_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1798
1851
  maintenance_track_name: typing.Optional[builtins.str] = None,
1852
+ manage_master_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1799
1853
  manual_snapshot_retention_period: typing.Optional[jsii.Number] = None,
1854
+ master_password_secret_kms_key_id: typing.Optional[builtins.str] = None,
1800
1855
  master_user_password: typing.Optional[builtins.str] = None,
1801
1856
  multi_az: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
1802
1857
  namespace_resource_policy: typing.Any = None,
@@ -1849,7 +1904,9 @@ class CfnClusterProps:
1849
1904
  :param kms_key_id: The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the cluster.
1850
1905
  :param logging_properties: Specifies logging information, such as queries and connection attempts, for the specified Amazon Redshift cluster.
1851
1906
  :param maintenance_track_name: An optional parameter for the name of the maintenance track for the cluster. If you don't provide a maintenance track name, the cluster is assigned to the ``current`` track.
1907
+ :param manage_master_password: A boolean indicating if the redshift cluster's admin user credentials is managed by Redshift or not. You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.
1852
1908
  :param manual_snapshot_retention_period: The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. The value must be either -1 or an integer between 1 and 3,653.
1909
+ :param master_password_secret_kms_key_id: The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin user credentials secret.
1853
1910
  :param master_user_password: The password associated with the admin user account for the cluster that is being created. You can't use ``MasterUserPassword`` if ``ManageMasterPassword`` is ``true`` . Constraints: - Must be between 8 and 64 characters in length. - Must contain at least one uppercase letter. - Must contain at least one lowercase letter. - Must contain one number. - Can be any printable ASCII character (ASCII code 33-126) except ``'`` (single quote), ``"`` (double quote), ``\\`` , ``/`` , or ``@`` .
1854
1911
  :param multi_az: A boolean indicating whether Amazon Redshift should deploy the cluster in two Availability Zones. The default is false.
1855
1912
  :param namespace_resource_policy: The namespace resource policy document that will be attached to a Redshift cluster.
@@ -1920,7 +1977,9 @@ class CfnClusterProps:
1920
1977
  s3_key_prefix="s3KeyPrefix"
1921
1978
  ),
1922
1979
  maintenance_track_name="maintenanceTrackName",
1980
+ manage_master_password=False,
1923
1981
  manual_snapshot_retention_period=123,
1982
+ master_password_secret_kms_key_id="masterPasswordSecretKmsKeyId",
1924
1983
  master_user_password="masterUserPassword",
1925
1984
  multi_az=False,
1926
1985
  namespace_resource_policy=namespace_resource_policy,
@@ -1977,7 +2036,9 @@ class CfnClusterProps:
1977
2036
  check_type(argname="argument kms_key_id", value=kms_key_id, expected_type=type_hints["kms_key_id"])
1978
2037
  check_type(argname="argument logging_properties", value=logging_properties, expected_type=type_hints["logging_properties"])
1979
2038
  check_type(argname="argument maintenance_track_name", value=maintenance_track_name, expected_type=type_hints["maintenance_track_name"])
2039
+ check_type(argname="argument manage_master_password", value=manage_master_password, expected_type=type_hints["manage_master_password"])
1980
2040
  check_type(argname="argument manual_snapshot_retention_period", value=manual_snapshot_retention_period, expected_type=type_hints["manual_snapshot_retention_period"])
2041
+ check_type(argname="argument master_password_secret_kms_key_id", value=master_password_secret_kms_key_id, expected_type=type_hints["master_password_secret_kms_key_id"])
1981
2042
  check_type(argname="argument master_user_password", value=master_user_password, expected_type=type_hints["master_user_password"])
1982
2043
  check_type(argname="argument multi_az", value=multi_az, expected_type=type_hints["multi_az"])
1983
2044
  check_type(argname="argument namespace_resource_policy", value=namespace_resource_policy, expected_type=type_hints["namespace_resource_policy"])
@@ -2056,8 +2117,12 @@ class CfnClusterProps:
2056
2117
  self._values["logging_properties"] = logging_properties
2057
2118
  if maintenance_track_name is not None:
2058
2119
  self._values["maintenance_track_name"] = maintenance_track_name
2120
+ if manage_master_password is not None:
2121
+ self._values["manage_master_password"] = manage_master_password
2059
2122
  if manual_snapshot_retention_period is not None:
2060
2123
  self._values["manual_snapshot_retention_period"] = manual_snapshot_retention_period
2124
+ if master_password_secret_kms_key_id is not None:
2125
+ self._values["master_password_secret_kms_key_id"] = master_password_secret_kms_key_id
2061
2126
  if master_user_password is not None:
2062
2127
  self._values["master_user_password"] = master_user_password
2063
2128
  if multi_az is not None:
@@ -2493,6 +2558,19 @@ class CfnClusterProps:
2493
2558
  result = self._values.get("maintenance_track_name")
2494
2559
  return typing.cast(typing.Optional[builtins.str], result)
2495
2560
 
2561
+ @builtins.property
2562
+ def manage_master_password(
2563
+ self,
2564
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
2565
+ '''A boolean indicating if the redshift cluster's admin user credentials is managed by Redshift or not.
2566
+
2567
+ You can't use MasterUserPassword if ManageMasterPassword is true. If ManageMasterPassword is false or not set, Amazon Redshift uses MasterUserPassword for the admin user account's password.
2568
+
2569
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-managemasterpassword
2570
+ '''
2571
+ result = self._values.get("manage_master_password")
2572
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
2573
+
2496
2574
  @builtins.property
2497
2575
  def manual_snapshot_retention_period(self) -> typing.Optional[jsii.Number]:
2498
2576
  '''The default number of days to retain a manual snapshot.
@@ -2506,6 +2584,15 @@ class CfnClusterProps:
2506
2584
  result = self._values.get("manual_snapshot_retention_period")
2507
2585
  return typing.cast(typing.Optional[jsii.Number], result)
2508
2586
 
2587
+ @builtins.property
2588
+ def master_password_secret_kms_key_id(self) -> typing.Optional[builtins.str]:
2589
+ '''The ID of the Key Management Service (KMS) key used to encrypt and store the cluster's admin user credentials secret.
2590
+
2591
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-redshift-cluster.html#cfn-redshift-cluster-masterpasswordsecretkmskeyid
2592
+ '''
2593
+ result = self._values.get("master_password_secret_kms_key_id")
2594
+ return typing.cast(typing.Optional[builtins.str], result)
2595
+
2509
2596
  @builtins.property
2510
2597
  def master_user_password(self) -> typing.Optional[builtins.str]:
2511
2598
  '''The password associated with the admin user account for the cluster that is being created.
@@ -5847,7 +5934,9 @@ def _typecheckingstub__f6d25f70797e3ae67b635ec776926582ff0be975c8173c4af217f7f6e
5847
5934
  kms_key_id: typing.Optional[builtins.str] = None,
5848
5935
  logging_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5849
5936
  maintenance_track_name: typing.Optional[builtins.str] = None,
5937
+ manage_master_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5850
5938
  manual_snapshot_retention_period: typing.Optional[jsii.Number] = None,
5939
+ master_password_secret_kms_key_id: typing.Optional[builtins.str] = None,
5851
5940
  master_user_password: typing.Optional[builtins.str] = None,
5852
5941
  multi_az: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5853
5942
  namespace_resource_policy: typing.Any = None,
@@ -6068,12 +6157,24 @@ def _typecheckingstub__fdec41d5a2f886a294c35cbf10b6f505571be31e2c00a5a1c57a87a34
6068
6157
  """Type checking stubs"""
6069
6158
  pass
6070
6159
 
6160
+ def _typecheckingstub__080a467a54b42730471573ef0e1a0c26e7b4f7d5ec0a07e9f75f4d8e6d3e25bf(
6161
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
6162
+ ) -> None:
6163
+ """Type checking stubs"""
6164
+ pass
6165
+
6071
6166
  def _typecheckingstub__47928702ad781fa3915ff0f5068c3b692ff5d8d891b871ca8319d3632cdffe22(
6072
6167
  value: typing.Optional[jsii.Number],
6073
6168
  ) -> None:
6074
6169
  """Type checking stubs"""
6075
6170
  pass
6076
6171
 
6172
+ def _typecheckingstub__e26594c22a23597c2bcb39be035e857bb61d132ed89a50d4d58e1a8f8c369e12(
6173
+ value: typing.Optional[builtins.str],
6174
+ ) -> None:
6175
+ """Type checking stubs"""
6176
+ pass
6177
+
6077
6178
  def _typecheckingstub__15113bc0292eb3a900fcad9d620cd08c320a19dfce07db8d055112a353c48cba(
6078
6179
  value: typing.Optional[builtins.str],
6079
6180
  ) -> None:
@@ -6305,7 +6406,9 @@ def _typecheckingstub__88d0d566c2d2524449f4cc4b794952814b68b5dcd5494f1bcdf5b417e
6305
6406
  kms_key_id: typing.Optional[builtins.str] = None,
6306
6407
  logging_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6307
6408
  maintenance_track_name: typing.Optional[builtins.str] = None,
6409
+ manage_master_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6308
6410
  manual_snapshot_retention_period: typing.Optional[jsii.Number] = None,
6411
+ master_password_secret_kms_key_id: typing.Optional[builtins.str] = None,
6309
6412
  master_user_password: typing.Optional[builtins.str] = None,
6310
6413
  multi_az: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6311
6414
  namespace_resource_policy: typing.Any = None,
@@ -185,7 +185,7 @@ route53.ARecord(self, "ARecord",
185
185
  ### Cross Account Zone Delegation
186
186
 
187
187
  If you want to have your root domain hosted zone in one account and your subdomain hosted
188
- zone in a diferent one, you can use `CrossAccountZoneDelegationRecord` to set up delegation
188
+ zone in a different one, you can use `CrossAccountZoneDelegationRecord` to set up delegation
189
189
  between them.
190
190
 
191
191
  In the account containing the parent hosted zone:
@@ -198,7 +198,36 @@ cross_account_role = iam.Role(self, "CrossAccountRole",
198
198
  # The role name must be predictable
199
199
  role_name="MyDelegationRole",
200
200
  # The other account
201
- assumed_by=iam.AccountPrincipal("12345678901")
201
+ assumed_by=iam.AccountPrincipal("12345678901"),
202
+ # You can scope down this role policy to be least privileged.
203
+ # If you want the other account to be able to manage specific records,
204
+ # you can scope down by resource and/or normalized record names
205
+ inline_policies={
206
+ "cross_account_policy": iam.PolicyDocument(
207
+ statements=[
208
+ iam.PolicyStatement(
209
+ sid="ListHostedZonesByName",
210
+ effect=iam.Effect.ALLOW,
211
+ actions=["route53:ListHostedZonesByName"],
212
+ resources=["*"]
213
+ ),
214
+ iam.PolicyStatement(
215
+ sid="GetHostedZoneAndChangeResourceRecordSet",
216
+ effect=iam.Effect.ALLOW,
217
+ actions=["route53:GetHostedZone", "route53:ChangeResourceRecordSet"],
218
+ # This example assumes the RecordSet subdomain.somexample.com
219
+ # is contained in the HostedZone
220
+ resources=["arn:aws:route53:::hostedzone/HZID00000000000000000"],
221
+ conditions={
222
+ "ForAllValues:StringLike": {
223
+ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["subdomain.someexample.com"
224
+ ]
225
+ }
226
+ }
227
+ )
228
+ ]
229
+ )
230
+ }
202
231
  )
203
232
  parent_zone.grant_delegation(cross_account_role)
204
233
  ```
@@ -6649,26 +6678,45 @@ class PublicHostedZoneProps(CommonHostedZoneProps):
6649
6678
 
6650
6679
  Example::
6651
6680
 
6652
- sub_zone = route53.PublicHostedZone(self, "SubZone",
6653
- zone_name="sub.someexample.com"
6681
+ parent_zone = route53.PublicHostedZone(self, "HostedZone",
6682
+ zone_name="someexample.com"
6654
6683
  )
6655
-
6656
- # import the delegation role by constructing the roleArn
6657
- delegation_role_arn = Stack.of(self).format_arn(
6658
- region="", # IAM is global in each partition
6659
- service="iam",
6660
- account="parent-account-id",
6661
- resource="role",
6662
- resource_name="MyDelegationRole"
6663
- )
6664
- delegation_role = iam.Role.from_role_arn(self, "DelegationRole", delegation_role_arn)
6665
-
6666
- # create the record
6667
- route53.CrossAccountZoneDelegationRecord(self, "delegate",
6668
- delegated_zone=sub_zone,
6669
- parent_hosted_zone_name="someexample.com", # or you can use parentHostedZoneId
6670
- delegation_role=delegation_role
6684
+ cross_account_role = iam.Role(self, "CrossAccountRole",
6685
+ # The role name must be predictable
6686
+ role_name="MyDelegationRole",
6687
+ # The other account
6688
+ assumed_by=iam.AccountPrincipal("12345678901"),
6689
+ # You can scope down this role policy to be least privileged.
6690
+ # If you want the other account to be able to manage specific records,
6691
+ # you can scope down by resource and/or normalized record names
6692
+ inline_policies={
6693
+ "cross_account_policy": iam.PolicyDocument(
6694
+ statements=[
6695
+ iam.PolicyStatement(
6696
+ sid="ListHostedZonesByName",
6697
+ effect=iam.Effect.ALLOW,
6698
+ actions=["route53:ListHostedZonesByName"],
6699
+ resources=["*"]
6700
+ ),
6701
+ iam.PolicyStatement(
6702
+ sid="GetHostedZoneAndChangeResourceRecordSet",
6703
+ effect=iam.Effect.ALLOW,
6704
+ actions=["route53:GetHostedZone", "route53:ChangeResourceRecordSet"],
6705
+ # This example assumes the RecordSet subdomain.somexample.com
6706
+ # is contained in the HostedZone
6707
+ resources=["arn:aws:route53:::hostedzone/HZID00000000000000000"],
6708
+ conditions={
6709
+ "ForAllValues:StringLike": {
6710
+ "route53:ChangeResourceRecordSetsNormalizedRecordNames": ["subdomain.someexample.com"
6711
+ ]
6712
+ }
6713
+ }
6714
+ )
6715
+ ]
6716
+ )
6717
+ }
6671
6718
  )
6719
+ parent_zone.grant_delegation(cross_account_role)
6672
6720
  '''
6673
6721
  if __debug__:
6674
6722
  type_hints = typing.get_type_hints(_typecheckingstub__b51e553dd18a8a033ac24f091492db4b2bc8c672421ced82613174be3995dcdf)
@@ -6976,7 +6976,7 @@ class CfnBucket(
6976
6976
 
6977
6977
  S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see `Controlling ownership of objects and disabling ACLs <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html>`_ in the *Amazon S3 User Guide* .
6978
6978
 
6979
- :param object_ownership: Specifies an Object Ownership rule. *Allowed values* : ``BucketOwnerEnforced`` | ``ObjectWriter`` | ``BucketOwnerPreferred``
6979
+ :param object_ownership: Specifies an object ownership rule.
6980
6980
 
6981
6981
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrolsrule.html
6982
6982
  :exampleMetadata: fixture=_generated
@@ -7000,9 +7000,7 @@ class CfnBucket(
7000
7000
 
7001
7001
  @builtins.property
7002
7002
  def object_ownership(self) -> typing.Optional[builtins.str]:
7003
- '''Specifies an Object Ownership rule.
7004
-
7005
- *Allowed values* : ``BucketOwnerEnforced`` | ``ObjectWriter`` | ``BucketOwnerPreferred``
7003
+ '''Specifies an object ownership rule.
7006
7004
 
7007
7005
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrolsrule.html#cfn-s3-bucket-ownershipcontrolsrule-objectownership
7008
7006
  '''
@@ -846,7 +846,7 @@ class CfnAccessPoint(
846
846
  ) -> None:
847
847
  '''A configuration used when creating an Object Lambda Access Point transformation.
848
848
 
849
- :param actions: A container for the action of an Object Lambda Access Point configuration. Valid inputs are ``GetObject`` , ``HeadObject`` , ``ListObject`` , and ``ListObjectV2`` .
849
+ :param actions: A container for the action of an Object Lambda Access Point configuration. Valid inputs are ``GetObject`` , ``HeadObject`` , ``ListObjects`` , and ``ListObjectsV2`` .
850
850
  :param content_transformation: A container for the content transformation of an Object Lambda Access Point configuration. Can include the FunctionArn and FunctionPayload. For more information, see `AwsLambdaTransformation <https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_AwsLambdaTransformation.html>`_ in the *Amazon S3 API Reference* .
851
851
 
852
852
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3objectlambda-accesspoint-transformationconfiguration.html
@@ -878,7 +878,7 @@ class CfnAccessPoint(
878
878
  def actions(self) -> typing.List[builtins.str]:
879
879
  '''A container for the action of an Object Lambda Access Point configuration.
880
880
 
881
- Valid inputs are ``GetObject`` , ``HeadObject`` , ``ListObject`` , and ``ListObjectV2`` .
881
+ Valid inputs are ``GetObject`` , ``HeadObject`` , ``ListObjects`` , and ``ListObjectsV2`` .
882
882
 
883
883
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3objectlambda-accesspoint-transformationconfiguration.html#cfn-s3objectlambda-accesspoint-transformationconfiguration-actions
884
884
  '''
@@ -151,9 +151,9 @@ class CfnApplication(
151
151
  @builtins.property
152
152
  @jsii.member(jsii_name="attrApplicationTagKey")
153
153
  def attr_application_tag_key(self) -> builtins.str:
154
- '''The key of the AWS application tag, which is ``awsApplication`` .
154
+ '''The key of the AWS application tag, which is awsApplication.
155
155
 
156
- Applications created before 11/13/2023 or applications without the ``AppTag`` linked resource group return no value.
156
+ Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value.
157
157
 
158
158
  :cloudformationAttribute: ApplicationTagKey
159
159
  '''
@@ -164,7 +164,7 @@ class CfnApplication(
164
164
  def attr_application_tag_value(self) -> builtins.str:
165
165
  '''The value of the AWS application tag, which is the identifier of an associated resource.
166
166
 
167
- Applications created before 11/13/2023 or applications without the ``AppTag`` linked resource group return no value.
167
+ Applications created before 11/13/2023 or applications without the AWS application tag resource group return no value.
168
168
 
169
169
  :cloudformationAttribute: ApplicationTagValue
170
170
  '''
@@ -833,6 +833,20 @@ class Platform(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_signer.Platfo
833
833
  )
834
834
  '''
835
835
 
836
+ @jsii.member(jsii_name="of")
837
+ @builtins.classmethod
838
+ def of(cls, platform_id: builtins.str) -> "Platform":
839
+ '''Custom signing profile platform.
840
+
841
+ :param platform_id: - The id of signing platform.
842
+
843
+ :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html#cfn-signer-signingprofile-platformid
844
+ '''
845
+ if __debug__:
846
+ type_hints = typing.get_type_hints(_typecheckingstub__d87af39f6269f8a900ddd70cc76e7c44cea15649627230d7b387b9814c9d1672)
847
+ check_type(argname="argument platform_id", value=platform_id, expected_type=type_hints["platform_id"])
848
+ return typing.cast("Platform", jsii.sinvoke(cls, "of", [platform_id]))
849
+
836
850
  @jsii.python.classproperty
837
851
  @jsii.member(jsii_name="AMAZON_FREE_RTOS_DEFAULT")
838
852
  def AMAZON_FREE_RTOS_DEFAULT(cls) -> "Platform":
@@ -857,13 +871,16 @@ class Platform(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_signer.Platfo
857
871
  '''Specification of signature format and signing algorithms for AWS Lambda.'''
858
872
  return typing.cast("Platform", jsii.sget(cls, "AWS_LAMBDA_SHA384_ECDSA"))
859
873
 
874
+ @jsii.python.classproperty
875
+ @jsii.member(jsii_name="NOTATION_OCI_SHA384_ECDSA")
876
+ def NOTATION_OCI_SHA384_ECDSA(cls) -> "Platform":
877
+ '''Specification of signature format and signing algorithms with SHA256 hash and ECDSA encryption for container registries with notation.'''
878
+ return typing.cast("Platform", jsii.sget(cls, "NOTATION_OCI_SHA384_ECDSA"))
879
+
860
880
  @builtins.property
861
881
  @jsii.member(jsii_name="platformId")
862
882
  def platform_id(self) -> builtins.str:
863
- '''The id of signing platform.
864
-
865
- :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-signer-signingprofile.html#cfn-signer-signingprofile-platformid
866
- '''
883
+ '''- The id of signing platform.'''
867
884
  return typing.cast(builtins.str, jsii.get(self, "platformId"))
868
885
 
869
886
 
@@ -1284,6 +1301,12 @@ def _typecheckingstub__9e40d7ccf57c93b4e1db5a4e6b98b562bce8ff86b219931d0d4cfb16a
1284
1301
  """Type checking stubs"""
1285
1302
  pass
1286
1303
 
1304
+ def _typecheckingstub__d87af39f6269f8a900ddd70cc76e7c44cea15649627230d7b387b9814c9d1672(
1305
+ platform_id: builtins.str,
1306
+ ) -> None:
1307
+ """Type checking stubs"""
1308
+ pass
1309
+
1287
1310
  def _typecheckingstub__98d9bc1982105f0416e608780fc4048b7d0a29f62734adc8b7c72c6ddb875169(
1288
1311
  scope: _constructs_77d1e7e8.Construct,
1289
1312
  id: builtins.str,