aws-cdk-lib 2.139.1__py3-none-any.whl → 2.140.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 (47) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.139.1.jsii.tgz → aws-cdk-lib@2.140.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +70 -56
  5. aws_cdk/aws_apigateway/__init__.py +126 -53
  6. aws_cdk/aws_applicationautoscaling/__init__.py +1 -4
  7. aws_cdk/aws_arczonalshift/__init__.py +49 -44
  8. aws_cdk/aws_bedrock/__init__.py +2818 -146
  9. aws_cdk/aws_cloudfront/__init__.py +51 -9
  10. aws_cdk/aws_codecommit/__init__.py +72 -46
  11. aws_cdk/aws_connectcampaigns/__init__.py +34 -4
  12. aws_cdk/aws_datasync/__init__.py +47 -21
  13. aws_cdk/aws_dms/__init__.py +0 -269
  14. aws_cdk/aws_ec2/__init__.py +149 -44
  15. aws_cdk/aws_ecs/__init__.py +2 -4
  16. aws_cdk/aws_efs/__init__.py +16 -2
  17. aws_cdk/aws_eks/__init__.py +57 -0
  18. aws_cdk/aws_events/__init__.py +115 -0
  19. aws_cdk/aws_events_targets/__init__.py +15 -0
  20. aws_cdk/aws_fis/__init__.py +2 -1
  21. aws_cdk/aws_gamelift/__init__.py +1846 -70
  22. aws_cdk/aws_globalaccelerator/__init__.py +20 -16
  23. aws_cdk/aws_iam/__init__.py +2 -2
  24. aws_cdk/aws_kinesis/__init__.py +21 -0
  25. aws_cdk/aws_kinesisvideo/__init__.py +6 -4
  26. aws_cdk/aws_kms/__init__.py +22 -1
  27. aws_cdk/aws_lambda/__init__.py +0 -9
  28. aws_cdk/aws_medialive/__init__.py +444 -3
  29. aws_cdk/aws_paymentcryptography/__init__.py +1075 -0
  30. aws_cdk/aws_personalize/__init__.py +8 -2
  31. aws_cdk/aws_qbusiness/__init__.py +5257 -0
  32. aws_cdk/aws_quicksight/__init__.py +9996 -1446
  33. aws_cdk/aws_rds/__init__.py +42 -0
  34. aws_cdk/aws_redshiftserverless/__init__.py +13 -9
  35. aws_cdk/aws_route53/__init__.py +350 -0
  36. aws_cdk/aws_route53profiles/__init__.py +1048 -0
  37. aws_cdk/aws_s3/__init__.py +1 -1
  38. aws_cdk/aws_transfer/__init__.py +102 -37
  39. aws_cdk/aws_workspacesweb/__init__.py +92 -6
  40. aws_cdk/custom_resources/__init__.py +23 -2
  41. aws_cdk/cx_api/__init__.py +16 -0
  42. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.140.0.dist-info}/METADATA +2 -2
  43. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.140.0.dist-info}/RECORD +47 -44
  44. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.140.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.140.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.140.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.139.1.dist-info → aws_cdk_lib-2.140.0.dist-info}/top_level.txt +0 -0
@@ -900,10 +900,10 @@ class CfnCrossAccountAttachment(
900
900
  '''
901
901
  :param scope: Scope in which this resource is defined.
902
902
  :param id: Construct identifier for this resource (unique in its scope).
903
- :param name: The Friendly identifier of the attachment.
904
- :param principals: Principals to share the resources with.
905
- :param resources: Resources shared using the attachment.
906
- :param tags:
903
+ :param name: The name of the cross-account attachment.
904
+ :param principals: The principals included in the cross-account attachment.
905
+ :param resources: The resources included in the cross-account attachment.
906
+ :param tags: Add tags for a cross-account attachment. For more information, see `Tagging in AWS Global Accelerator <https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html>`_ in the *AWS Global Accelerator Developer Guide* .
907
907
  '''
908
908
  if __debug__:
909
909
  type_hints = typing.get_type_hints(_typecheckingstub__ba1ec3d469e5dcabcf7399e8e8e79a3f5365c953f4994522f2f99f4785e9351d)
@@ -948,7 +948,7 @@ class CfnCrossAccountAttachment(
948
948
  @builtins.property
949
949
  @jsii.member(jsii_name="attrAttachmentArn")
950
950
  def attr_attachment_arn(self) -> builtins.str:
951
- '''The Amazon Resource Name (ARN) of the attachment.
951
+ '''The Amazon Resource Name (ARN) of the cross-account attachment.
952
952
 
953
953
  :cloudformationAttribute: AttachmentArn
954
954
  '''
@@ -968,7 +968,7 @@ class CfnCrossAccountAttachment(
968
968
  @builtins.property
969
969
  @jsii.member(jsii_name="name")
970
970
  def name(self) -> builtins.str:
971
- '''The Friendly identifier of the attachment.'''
971
+ '''The name of the cross-account attachment.'''
972
972
  return typing.cast(builtins.str, jsii.get(self, "name"))
973
973
 
974
974
  @name.setter
@@ -981,7 +981,7 @@ class CfnCrossAccountAttachment(
981
981
  @builtins.property
982
982
  @jsii.member(jsii_name="principals")
983
983
  def principals(self) -> typing.Optional[typing.List[builtins.str]]:
984
- '''Principals to share the resources with.'''
984
+ '''The principals included in the cross-account attachment.'''
985
985
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "principals"))
986
986
 
987
987
  @principals.setter
@@ -996,7 +996,7 @@ class CfnCrossAccountAttachment(
996
996
  def resources(
997
997
  self,
998
998
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCrossAccountAttachment.ResourceProperty"]]]]:
999
- '''Resources shared using the attachment.'''
999
+ '''The resources included in the cross-account attachment.'''
1000
1000
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnCrossAccountAttachment.ResourceProperty"]]]], jsii.get(self, "resources"))
1001
1001
 
1002
1002
  @resources.setter
@@ -1012,6 +1012,7 @@ class CfnCrossAccountAttachment(
1012
1012
  @builtins.property
1013
1013
  @jsii.member(jsii_name="tags")
1014
1014
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1015
+ '''Add tags for a cross-account attachment.'''
1015
1016
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
1016
1017
 
1017
1018
  @tags.setter
@@ -1118,10 +1119,10 @@ class CfnCrossAccountAttachmentProps:
1118
1119
  ) -> None:
1119
1120
  '''Properties for defining a ``CfnCrossAccountAttachment``.
1120
1121
 
1121
- :param name: The Friendly identifier of the attachment.
1122
- :param principals: Principals to share the resources with.
1123
- :param resources: Resources shared using the attachment.
1124
- :param tags:
1122
+ :param name: The name of the cross-account attachment.
1123
+ :param principals: The principals included in the cross-account attachment.
1124
+ :param resources: The resources included in the cross-account attachment.
1125
+ :param tags: Add tags for a cross-account attachment. For more information, see `Tagging in AWS Global Accelerator <https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html>`_ in the *AWS Global Accelerator Developer Guide* .
1125
1126
 
1126
1127
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html
1127
1128
  :exampleMetadata: fixture=_generated
@@ -1167,7 +1168,7 @@ class CfnCrossAccountAttachmentProps:
1167
1168
 
1168
1169
  @builtins.property
1169
1170
  def name(self) -> builtins.str:
1170
- '''The Friendly identifier of the attachment.
1171
+ '''The name of the cross-account attachment.
1171
1172
 
1172
1173
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html#cfn-globalaccelerator-crossaccountattachment-name
1173
1174
  '''
@@ -1177,7 +1178,7 @@ class CfnCrossAccountAttachmentProps:
1177
1178
 
1178
1179
  @builtins.property
1179
1180
  def principals(self) -> typing.Optional[typing.List[builtins.str]]:
1180
- '''Principals to share the resources with.
1181
+ '''The principals included in the cross-account attachment.
1181
1182
 
1182
1183
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html#cfn-globalaccelerator-crossaccountattachment-principals
1183
1184
  '''
@@ -1188,7 +1189,7 @@ class CfnCrossAccountAttachmentProps:
1188
1189
  def resources(
1189
1190
  self,
1190
1191
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCrossAccountAttachment.ResourceProperty]]]]:
1191
- '''Resources shared using the attachment.
1192
+ '''The resources included in the cross-account attachment.
1192
1193
 
1193
1194
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html#cfn-globalaccelerator-crossaccountattachment-resources
1194
1195
  '''
@@ -1197,7 +1198,10 @@ class CfnCrossAccountAttachmentProps:
1197
1198
 
1198
1199
  @builtins.property
1199
1200
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1200
- '''
1201
+ '''Add tags for a cross-account attachment.
1202
+
1203
+ For more information, see `Tagging in AWS Global Accelerator <https://docs.aws.amazon.com/global-accelerator/latest/dg/tagging-in-global-accelerator.html>`_ in the *AWS Global Accelerator Developer Guide* .
1204
+
1201
1205
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-globalaccelerator-crossaccountattachment.html#cfn-globalaccelerator-crossaccountattachment-tags
1202
1206
  '''
1203
1207
  result = self._values.get("tags")
@@ -620,8 +620,8 @@ establish trust between an OIDC-compatible IdP and your AWS account. This is
620
620
  useful when creating a mobile app or web application that requires access to AWS
621
621
  resources, but you don't want to create custom sign-in code or manage your own
622
622
  user identities. For more information about this scenario, see [About Web
623
- Identity Federation] and the relevant documentation in the [Amazon Cognito
624
- Identity Pools Developer Guide].
623
+ Identity Federation](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html) and the relevant documentation in the [Amazon Cognito
624
+ Identity Pools Developer Guide](https://docs.aws.amazon.com/cognito/latest/developerguide/open-id.html).
625
625
 
626
626
  The following examples defines an OpenID Connect provider. Two client IDs
627
627
  (audiences) are will be able to send authentication requests to
@@ -211,6 +211,7 @@ from .. import (
211
211
  IResolvable as _IResolvable_da3f097b,
212
212
  IResource as _IResource_c80c4260,
213
213
  ITaggable as _ITaggable_36806126,
214
+ RemovalPolicy as _RemovalPolicy_9f93c814,
214
215
  Resource as _Resource_45bc6135,
215
216
  TagManager as _TagManager_0a598cb3,
216
217
  TreeInspector as _TreeInspector_488e0dd5,
@@ -2621,6 +2622,7 @@ class Stream(
2621
2622
  *,
2622
2623
  encryption: typing.Optional["StreamEncryption"] = None,
2623
2624
  encryption_key: typing.Optional[_IKey_5f11635f] = None,
2625
+ removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
2624
2626
  retention_period: typing.Optional[_Duration_4839e8c3] = None,
2625
2627
  shard_count: typing.Optional[jsii.Number] = None,
2626
2628
  stream_mode: typing.Optional["StreamMode"] = None,
@@ -2631,6 +2633,7 @@ class Stream(
2631
2633
  :param id: -
2632
2634
  :param encryption: The kind of server-side encryption to apply to this stream. If you choose KMS, you can specify a KMS key via ``encryptionKey``. If encryption key is not specified, a key will automatically be created. Default: - StreamEncryption.KMS if encrypted Streams are supported in the region or StreamEncryption.UNENCRYPTED otherwise. StreamEncryption.KMS if an encryption key is supplied through the encryptionKey property
2633
2635
  :param encryption_key: External KMS key to use for stream encryption. The 'encryption' property must be set to "Kms". Default: - Kinesis Data Streams master key ('/alias/aws/kinesis'). If encryption is set to StreamEncryption.KMS and this property is undefined, a new KMS key will be created and associated with this stream.
2636
+ :param removal_policy: Policy to apply when the stream is removed from the stack. Default: RemovalPolicy.RETAIN
2634
2637
  :param retention_period: The number of hours for the data records that are stored in shards to remain accessible. Default: Duration.hours(24)
2635
2638
  :param shard_count: The number of shards for the stream. Can only be provided if streamMode is Provisioned. Default: 1
2636
2639
  :param stream_mode: The capacity mode of this stream. Default: StreamMode.PROVISIONED
@@ -2643,6 +2646,7 @@ class Stream(
2643
2646
  props = StreamProps(
2644
2647
  encryption=encryption,
2645
2648
  encryption_key=encryption_key,
2649
+ removal_policy=removal_policy,
2646
2650
  retention_period=retention_period,
2647
2651
  shard_count=shard_count,
2648
2652
  stream_mode=stream_mode,
@@ -3721,6 +3725,7 @@ class StreamMode(enum.Enum):
3721
3725
  name_mapping={
3722
3726
  "encryption": "encryption",
3723
3727
  "encryption_key": "encryptionKey",
3728
+ "removal_policy": "removalPolicy",
3724
3729
  "retention_period": "retentionPeriod",
3725
3730
  "shard_count": "shardCount",
3726
3731
  "stream_mode": "streamMode",
@@ -3733,6 +3738,7 @@ class StreamProps:
3733
3738
  *,
3734
3739
  encryption: typing.Optional[StreamEncryption] = None,
3735
3740
  encryption_key: typing.Optional[_IKey_5f11635f] = None,
3741
+ removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3736
3742
  retention_period: typing.Optional[_Duration_4839e8c3] = None,
3737
3743
  shard_count: typing.Optional[jsii.Number] = None,
3738
3744
  stream_mode: typing.Optional[StreamMode] = None,
@@ -3742,6 +3748,7 @@ class StreamProps:
3742
3748
 
3743
3749
  :param encryption: The kind of server-side encryption to apply to this stream. If you choose KMS, you can specify a KMS key via ``encryptionKey``. If encryption key is not specified, a key will automatically be created. Default: - StreamEncryption.KMS if encrypted Streams are supported in the region or StreamEncryption.UNENCRYPTED otherwise. StreamEncryption.KMS if an encryption key is supplied through the encryptionKey property
3744
3750
  :param encryption_key: External KMS key to use for stream encryption. The 'encryption' property must be set to "Kms". Default: - Kinesis Data Streams master key ('/alias/aws/kinesis'). If encryption is set to StreamEncryption.KMS and this property is undefined, a new KMS key will be created and associated with this stream.
3751
+ :param removal_policy: Policy to apply when the stream is removed from the stack. Default: RemovalPolicy.RETAIN
3745
3752
  :param retention_period: The number of hours for the data records that are stored in shards to remain accessible. Default: Duration.hours(24)
3746
3753
  :param shard_count: The number of shards for the stream. Can only be provided if streamMode is Provisioned. Default: 1
3747
3754
  :param stream_mode: The capacity mode of this stream. Default: StreamMode.PROVISIONED
@@ -3762,6 +3769,7 @@ class StreamProps:
3762
3769
  type_hints = typing.get_type_hints(_typecheckingstub__88629f78086711b76f550ae13e14f2db1429deb350aa5b10b7073d5852dadfcc)
3763
3770
  check_type(argname="argument encryption", value=encryption, expected_type=type_hints["encryption"])
3764
3771
  check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
3772
+ check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
3765
3773
  check_type(argname="argument retention_period", value=retention_period, expected_type=type_hints["retention_period"])
3766
3774
  check_type(argname="argument shard_count", value=shard_count, expected_type=type_hints["shard_count"])
3767
3775
  check_type(argname="argument stream_mode", value=stream_mode, expected_type=type_hints["stream_mode"])
@@ -3771,6 +3779,8 @@ class StreamProps:
3771
3779
  self._values["encryption"] = encryption
3772
3780
  if encryption_key is not None:
3773
3781
  self._values["encryption_key"] = encryption_key
3782
+ if removal_policy is not None:
3783
+ self._values["removal_policy"] = removal_policy
3774
3784
  if retention_period is not None:
3775
3785
  self._values["retention_period"] = retention_period
3776
3786
  if shard_count is not None:
@@ -3811,6 +3821,15 @@ class StreamProps:
3811
3821
  result = self._values.get("encryption_key")
3812
3822
  return typing.cast(typing.Optional[_IKey_5f11635f], result)
3813
3823
 
3824
+ @builtins.property
3825
+ def removal_policy(self) -> typing.Optional[_RemovalPolicy_9f93c814]:
3826
+ '''Policy to apply when the stream is removed from the stack.
3827
+
3828
+ :default: RemovalPolicy.RETAIN
3829
+ '''
3830
+ result = self._values.get("removal_policy")
3831
+ return typing.cast(typing.Optional[_RemovalPolicy_9f93c814], result)
3832
+
3814
3833
  @builtins.property
3815
3834
  def retention_period(self) -> typing.Optional[_Duration_4839e8c3]:
3816
3835
  '''The number of hours for the data records that are stored in shards to remain accessible.
@@ -4053,6 +4072,7 @@ def _typecheckingstub__d9e4f581406090d861e3fe8214f939eedc5d1ccaffe122a7542878ec4
4053
4072
  *,
4054
4073
  encryption: typing.Optional[StreamEncryption] = None,
4055
4074
  encryption_key: typing.Optional[_IKey_5f11635f] = None,
4075
+ removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
4056
4076
  retention_period: typing.Optional[_Duration_4839e8c3] = None,
4057
4077
  shard_count: typing.Optional[jsii.Number] = None,
4058
4078
  stream_mode: typing.Optional[StreamMode] = None,
@@ -4131,6 +4151,7 @@ def _typecheckingstub__88629f78086711b76f550ae13e14f2db1429deb350aa5b10b7073d585
4131
4151
  *,
4132
4152
  encryption: typing.Optional[StreamEncryption] = None,
4133
4153
  encryption_key: typing.Optional[_IKey_5f11635f] = None,
4154
+ removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
4134
4155
  retention_period: typing.Optional[_Duration_4839e8c3] = None,
4135
4156
  shard_count: typing.Optional[jsii.Number] = None,
4136
4157
  stream_mode: typing.Optional[StreamMode] = None,
@@ -97,7 +97,7 @@ class CfnSignalingChannel(
97
97
  '''
98
98
  :param scope: Scope in which this resource is defined.
99
99
  :param id: Construct identifier for this resource (unique in its scope).
100
- :param message_ttl_seconds: The period of time a signaling channel retains undelivered messages before they are discarded.
100
+ :param message_ttl_seconds: The period of time (in seconds) a signaling channel retains undelivered messages before they are discarded. Use ``API_UpdateSignalingChannel`` to update this value.
101
101
  :param name: A name for the signaling channel that you are creating. It must be unique for each AWS account and AWS Region .
102
102
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
103
103
  :param type: A type of the signaling channel that you are creating. Currently, ``SINGLE_MASTER`` is the only supported channel type.
@@ -165,7 +165,7 @@ class CfnSignalingChannel(
165
165
  @builtins.property
166
166
  @jsii.member(jsii_name="messageTtlSeconds")
167
167
  def message_ttl_seconds(self) -> typing.Optional[jsii.Number]:
168
- '''The period of time a signaling channel retains undelivered messages before they are discarded.'''
168
+ '''The period of time (in seconds) a signaling channel retains undelivered messages before they are discarded.'''
169
169
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "messageTtlSeconds"))
170
170
 
171
171
  @message_ttl_seconds.setter
@@ -236,7 +236,7 @@ class CfnSignalingChannelProps:
236
236
  ) -> None:
237
237
  '''Properties for defining a ``CfnSignalingChannel``.
238
238
 
239
- :param message_ttl_seconds: The period of time a signaling channel retains undelivered messages before they are discarded.
239
+ :param message_ttl_seconds: The period of time (in seconds) a signaling channel retains undelivered messages before they are discarded. Use ``API_UpdateSignalingChannel`` to update this value.
240
240
  :param name: A name for the signaling channel that you are creating. It must be unique for each AWS account and AWS Region .
241
241
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
242
242
  :param type: A type of the signaling channel that you are creating. Currently, ``SINGLE_MASTER`` is the only supported channel type.
@@ -278,7 +278,9 @@ class CfnSignalingChannelProps:
278
278
 
279
279
  @builtins.property
280
280
  def message_ttl_seconds(self) -> typing.Optional[jsii.Number]:
281
- '''The period of time a signaling channel retains undelivered messages before they are discarded.
281
+ '''The period of time (in seconds) a signaling channel retains undelivered messages before they are discarded.
282
+
283
+ Use ``API_UpdateSignalingChannel`` to update this value.
282
284
 
283
285
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisvideo-signalingchannel.html#cfn-kinesisvideo-signalingchannel-messagettlseconds
284
286
  '''
@@ -5,7 +5,8 @@ Define a KMS key:
5
5
 
6
6
  ```python
7
7
  kms.Key(self, "MyKey",
8
- enable_key_rotation=True
8
+ enable_key_rotation=True,
9
+ rotation_period=Duration.days(180)
9
10
  )
10
11
  ```
11
12
 
@@ -2097,6 +2098,7 @@ class Key(
2097
2098
  pending_window: typing.Optional[_Duration_4839e8c3] = None,
2098
2099
  policy: typing.Optional[_PolicyDocument_3ac34393] = None,
2099
2100
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
2101
+ rotation_period: typing.Optional[_Duration_4839e8c3] = None,
2100
2102
  ) -> None:
2101
2103
  '''
2102
2104
  :param scope: -
@@ -2111,6 +2113,7 @@ class Key(
2111
2113
  :param pending_window: Specifies the number of days in the waiting period before AWS KMS deletes a CMK that has been removed from a CloudFormation stack. When you remove a customer master key (CMK) from a CloudFormation stack, AWS KMS schedules the CMK for deletion and starts the mandatory waiting period. The PendingWindowInDays property determines the length of waiting period. During the waiting period, the key state of CMK is Pending Deletion, which prevents the CMK from being used in cryptographic operations. When the waiting period expires, AWS KMS permanently deletes the CMK. Enter a value between 7 and 30 days. Default: - 30 days
2112
2114
  :param policy: Custom policy document to attach to the KMS key. NOTE - If the ``@aws-cdk/aws-kms:defaultKeyPolicies`` feature flag is set (the default for new projects), this policy will *override* the default key policy and become the only key policy for the key. If the feature flag is not set, this policy will be appended to the default key policy. Default: - A policy document with permissions for the account root to administer the key will be created.
2113
2115
  :param removal_policy: Whether the encryption key should be retained when it is removed from the Stack. This is useful when one wants to retain access to data that was encrypted with a key that is being retired. Default: RemovalPolicy.Retain
2116
+ :param rotation_period: The period between each automatic rotation. Default: - set by CFN to 365 days.
2114
2117
  '''
2115
2118
  if __debug__:
2116
2119
  type_hints = typing.get_type_hints(_typecheckingstub__2cde9534bdfe7c19d6e24354f8a0de8ca349632d3f565addcaed7e86a84dac7e)
@@ -2127,6 +2130,7 @@ class Key(
2127
2130
  pending_window=pending_window,
2128
2131
  policy=policy,
2129
2132
  removal_policy=removal_policy,
2133
+ rotation_period=rotation_period,
2130
2134
  )
2131
2135
 
2132
2136
  jsii.create(self.__class__, self, [scope, id, props])
@@ -2431,6 +2435,7 @@ class KeyLookupOptions:
2431
2435
  "pending_window": "pendingWindow",
2432
2436
  "policy": "policy",
2433
2437
  "removal_policy": "removalPolicy",
2438
+ "rotation_period": "rotationPeriod",
2434
2439
  },
2435
2440
  )
2436
2441
  class KeyProps:
@@ -2447,6 +2452,7 @@ class KeyProps:
2447
2452
  pending_window: typing.Optional[_Duration_4839e8c3] = None,
2448
2453
  policy: typing.Optional[_PolicyDocument_3ac34393] = None,
2449
2454
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
2455
+ rotation_period: typing.Optional[_Duration_4839e8c3] = None,
2450
2456
  ) -> None:
2451
2457
  '''Construction properties for a KMS Key object.
2452
2458
 
@@ -2460,6 +2466,7 @@ class KeyProps:
2460
2466
  :param pending_window: Specifies the number of days in the waiting period before AWS KMS deletes a CMK that has been removed from a CloudFormation stack. When you remove a customer master key (CMK) from a CloudFormation stack, AWS KMS schedules the CMK for deletion and starts the mandatory waiting period. The PendingWindowInDays property determines the length of waiting period. During the waiting period, the key state of CMK is Pending Deletion, which prevents the CMK from being used in cryptographic operations. When the waiting period expires, AWS KMS permanently deletes the CMK. Enter a value between 7 and 30 days. Default: - 30 days
2461
2467
  :param policy: Custom policy document to attach to the KMS key. NOTE - If the ``@aws-cdk/aws-kms:defaultKeyPolicies`` feature flag is set (the default for new projects), this policy will *override* the default key policy and become the only key policy for the key. If the feature flag is not set, this policy will be appended to the default key policy. Default: - A policy document with permissions for the account root to administer the key will be created.
2462
2468
  :param removal_policy: Whether the encryption key should be retained when it is removed from the Stack. This is useful when one wants to retain access to data that was encrypted with a key that is being retired. Default: RemovalPolicy.Retain
2469
+ :param rotation_period: The period between each automatic rotation. Default: - set by CFN to 365 days.
2463
2470
 
2464
2471
  :exampleMetadata: infused
2465
2472
 
@@ -2498,6 +2505,7 @@ class KeyProps:
2498
2505
  check_type(argname="argument pending_window", value=pending_window, expected_type=type_hints["pending_window"])
2499
2506
  check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
2500
2507
  check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
2508
+ check_type(argname="argument rotation_period", value=rotation_period, expected_type=type_hints["rotation_period"])
2501
2509
  self._values: typing.Dict[builtins.str, typing.Any] = {}
2502
2510
  if admins is not None:
2503
2511
  self._values["admins"] = admins
@@ -2519,6 +2527,8 @@ class KeyProps:
2519
2527
  self._values["policy"] = policy
2520
2528
  if removal_policy is not None:
2521
2529
  self._values["removal_policy"] = removal_policy
2530
+ if rotation_period is not None:
2531
+ self._values["rotation_period"] = rotation_period
2522
2532
 
2523
2533
  @builtins.property
2524
2534
  def admins(self) -> typing.Optional[typing.List[_IPrincipal_539bb2fd]]:
@@ -2645,6 +2655,15 @@ class KeyProps:
2645
2655
  result = self._values.get("removal_policy")
2646
2656
  return typing.cast(typing.Optional[_RemovalPolicy_9f93c814], result)
2647
2657
 
2658
+ @builtins.property
2659
+ def rotation_period(self) -> typing.Optional[_Duration_4839e8c3]:
2660
+ '''The period between each automatic rotation.
2661
+
2662
+ :default: - set by CFN to 365 days.
2663
+ '''
2664
+ result = self._values.get("rotation_period")
2665
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
2666
+
2648
2667
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
2649
2668
  return isinstance(rhs, self.__class__) and rhs._values == self._values
2650
2669
 
@@ -3468,6 +3487,7 @@ def _typecheckingstub__2cde9534bdfe7c19d6e24354f8a0de8ca349632d3f565addcaed7e86a
3468
3487
  pending_window: typing.Optional[_Duration_4839e8c3] = None,
3469
3488
  policy: typing.Optional[_PolicyDocument_3ac34393] = None,
3470
3489
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3490
+ rotation_period: typing.Optional[_Duration_4839e8c3] = None,
3471
3491
  ) -> None:
3472
3492
  """Type checking stubs"""
3473
3493
  pass
@@ -3570,6 +3590,7 @@ def _typecheckingstub__b3cbd21baa1113e5b2864ce6b440a0d87704642442943c3a554ab23ae
3570
3590
  pending_window: typing.Optional[_Duration_4839e8c3] = None,
3571
3591
  policy: typing.Optional[_PolicyDocument_3ac34393] = None,
3572
3592
  removal_policy: typing.Optional[_RemovalPolicy_9f93c814] = None,
3593
+ rotation_period: typing.Optional[_Duration_4839e8c3] = None,
3573
3594
  ) -> None:
3574
3595
  """Type checking stubs"""
3575
3596
  pass
@@ -2917,15 +2917,6 @@ class CfnAlias(
2917
2917
  '''The CloudFormation resource type name for this resource class.'''
2918
2918
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2919
2919
 
2920
- @builtins.property
2921
- @jsii.member(jsii_name="attrAliasArn")
2922
- def attr_alias_arn(self) -> builtins.str:
2923
- '''Lambda Alias ARN generated by the service.
2924
-
2925
- :cloudformationAttribute: AliasArn
2926
- '''
2927
- return typing.cast(builtins.str, jsii.get(self, "attrAliasArn"))
2928
-
2929
2920
  @builtins.property
2930
2921
  @jsii.member(jsii_name="attrId")
2931
2922
  def attr_id(self) -> builtins.str: