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

@@ -2921,6 +2921,12 @@ class AuroraMysqlEngineVersion(
2921
2921
  '''Version "5.7.mysql_aurora.2.12.3".'''
2922
2922
  return typing.cast("AuroraMysqlEngineVersion", jsii.sget(cls, "VER_2_12_3"))
2923
2923
 
2924
+ @jsii.python.classproperty
2925
+ @jsii.member(jsii_name="VER_2_12_4")
2926
+ def VER_2_12_4(cls) -> "AuroraMysqlEngineVersion":
2927
+ '''Version "5.7.mysql_aurora.2.12.4".'''
2928
+ return typing.cast("AuroraMysqlEngineVersion", jsii.sget(cls, "VER_2_12_4"))
2929
+
2924
2930
  @jsii.python.classproperty
2925
2931
  @jsii.member(jsii_name="VER_3_01_0")
2926
2932
  def VER_3_01_0(cls) -> "AuroraMysqlEngineVersion":
@@ -3119,6 +3125,12 @@ class AuroraMysqlEngineVersion(
3119
3125
  '''Version "8.0.mysql_aurora.3.08.1".'''
3120
3126
  return typing.cast("AuroraMysqlEngineVersion", jsii.sget(cls, "VER_3_08_1"))
3121
3127
 
3128
+ @jsii.python.classproperty
3129
+ @jsii.member(jsii_name="VER_3_08_2")
3130
+ def VER_3_08_2(cls) -> "AuroraMysqlEngineVersion":
3131
+ '''Version "8.0.mysql_aurora.3.08.2".'''
3132
+ return typing.cast("AuroraMysqlEngineVersion", jsii.sget(cls, "VER_3_08_2"))
3133
+
3122
3134
  @jsii.python.classproperty
3123
3135
  @jsii.member(jsii_name="VER_5_7_12")
3124
3136
  def VER_5_7_12(cls) -> "AuroraMysqlEngineVersion":
@@ -3842,6 +3854,12 @@ class AuroraPostgresEngineVersion(
3842
3854
  '''Version "13.18".'''
3843
3855
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_13_18"))
3844
3856
 
3857
+ @jsii.python.classproperty
3858
+ @jsii.member(jsii_name="VER_13_20")
3859
+ def VER_13_20(cls) -> "AuroraPostgresEngineVersion":
3860
+ '''Version "13.20".'''
3861
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_13_20"))
3862
+
3845
3863
  @jsii.python.classproperty
3846
3864
  @jsii.member(jsii_name="VER_13_3")
3847
3865
  def VER_13_3(cls) -> "AuroraPostgresEngineVersion":
@@ -3940,6 +3958,12 @@ class AuroraPostgresEngineVersion(
3940
3958
  '''Version "14.15".'''
3941
3959
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_14_15"))
3942
3960
 
3961
+ @jsii.python.classproperty
3962
+ @jsii.member(jsii_name="VER_14_17")
3963
+ def VER_14_17(cls) -> "AuroraPostgresEngineVersion":
3964
+ '''Version "14.17".'''
3965
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_14_17"))
3966
+
3943
3967
  @jsii.python.classproperty
3944
3968
  @jsii.member(jsii_name="VER_14_3")
3945
3969
  def VER_14_3(cls) -> "AuroraPostgresEngineVersion":
@@ -3988,6 +4012,12 @@ class AuroraPostgresEngineVersion(
3988
4012
  '''Version "15.10".'''
3989
4013
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_15_10"))
3990
4014
 
4015
+ @jsii.python.classproperty
4016
+ @jsii.member(jsii_name="VER_15_12")
4017
+ def VER_15_12(cls) -> "AuroraPostgresEngineVersion":
4018
+ '''Version "15.12".'''
4019
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_15_12"))
4020
+
3991
4021
  @jsii.python.classproperty
3992
4022
  @jsii.member(jsii_name="VER_15_2")
3993
4023
  def VER_15_2(cls) -> "AuroraPostgresEngineVersion":
@@ -4095,6 +4125,12 @@ class AuroraPostgresEngineVersion(
4095
4125
  '''Version "16.6 limitless".'''
4096
4126
  return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_16_6_LIMITLESS"))
4097
4127
 
4128
+ @jsii.python.classproperty
4129
+ @jsii.member(jsii_name="VER_16_8")
4130
+ def VER_16_8(cls) -> "AuroraPostgresEngineVersion":
4131
+ '''Version "16.8".'''
4132
+ return typing.cast("AuroraPostgresEngineVersion", jsii.sget(cls, "VER_16_8"))
4133
+
4098
4134
  @jsii.python.classproperty
4099
4135
  @jsii.member(jsii_name="VER_17_1")
4100
4136
  def VER_17_1(cls) -> "AuroraPostgresEngineVersion":
@@ -86,7 +86,8 @@ class CfnTableBucket(
86
86
 
87
87
  For more information, see `Creating a table bucket <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html>`_ in the *Amazon Simple Storage Service User Guide* .
88
88
 
89
- - **Permissions** - You must have the ``s3tables:CreateTableBucket`` permission to use this operation.
89
+ - **Permissions** - - You must have the ``s3tables:CreateTableBucket`` permission to use this operation.
90
+ - If you use this operation with the optional ``encryptionConfiguration`` parameter you must have the ``s3tables:PutTableBucketEncryption`` permission.
90
91
 
91
92
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html
92
93
  :cloudformationResource: AWS::S3Tables::TableBucket
@@ -102,6 +103,10 @@ class CfnTableBucket(
102
103
  table_bucket_name="tableBucketName",
103
104
 
104
105
  # the properties below are optional
106
+ encryption_configuration=s3tables.CfnTableBucket.EncryptionConfigurationProperty(
107
+ kms_key_arn="kmsKeyArn",
108
+ sse_algorithm="sseAlgorithm"
109
+ ),
105
110
  unreferenced_file_removal=s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
106
111
  noncurrent_days=123,
107
112
  status="status",
@@ -116,12 +121,14 @@ class CfnTableBucket(
116
121
  id: builtins.str,
117
122
  *,
118
123
  table_bucket_name: builtins.str,
124
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableBucket.EncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
119
125
  unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableBucket.UnreferencedFileRemovalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
120
126
  ) -> None:
121
127
  '''
122
128
  :param scope: Scope in which this resource is defined.
123
129
  :param id: Construct identifier for this resource (unique in its scope).
124
130
  :param table_bucket_name: The name for the table bucket.
131
+ :param encryption_configuration: Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
125
132
  :param unreferenced_file_removal: The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
126
133
  '''
127
134
  if __debug__:
@@ -130,6 +137,7 @@ class CfnTableBucket(
130
137
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
131
138
  props = CfnTableBucketProps(
132
139
  table_bucket_name=table_bucket_name,
140
+ encryption_configuration=encryption_configuration,
133
141
  unreferenced_file_removal=unreferenced_file_removal,
134
142
  )
135
143
 
@@ -192,6 +200,24 @@ class CfnTableBucket(
192
200
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
193
201
  jsii.set(self, "tableBucketName", value) # pyright: ignore[reportArgumentType]
194
202
 
203
+ @builtins.property
204
+ @jsii.member(jsii_name="encryptionConfiguration")
205
+ def encryption_configuration(
206
+ self,
207
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]]:
208
+ '''Configuration specifying how data should be encrypted.'''
209
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]], jsii.get(self, "encryptionConfiguration"))
210
+
211
+ @encryption_configuration.setter
212
+ def encryption_configuration(
213
+ self,
214
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.EncryptionConfigurationProperty"]],
215
+ ) -> None:
216
+ if __debug__:
217
+ type_hints = typing.get_type_hints(_typecheckingstub__61499f569b4e5dc20b99defd26e29c6e9b7761b6630e1adec9c20e97e099dd4a)
218
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
219
+ jsii.set(self, "encryptionConfiguration", value) # pyright: ignore[reportArgumentType]
220
+
195
221
  @builtins.property
196
222
  @jsii.member(jsii_name="unreferencedFileRemoval")
197
223
  def unreferenced_file_removal(
@@ -210,6 +236,82 @@ class CfnTableBucket(
210
236
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
211
237
  jsii.set(self, "unreferencedFileRemoval", value) # pyright: ignore[reportArgumentType]
212
238
 
239
+ @jsii.data_type(
240
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket.EncryptionConfigurationProperty",
241
+ jsii_struct_bases=[],
242
+ name_mapping={"kms_key_arn": "kmsKeyArn", "sse_algorithm": "sseAlgorithm"},
243
+ )
244
+ class EncryptionConfigurationProperty:
245
+ def __init__(
246
+ self,
247
+ *,
248
+ kms_key_arn: typing.Optional[builtins.str] = None,
249
+ sse_algorithm: typing.Optional[builtins.str] = None,
250
+ ) -> None:
251
+ '''Configuration specifying how data should be encrypted.
252
+
253
+ This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
254
+
255
+ :param kms_key_arn: The Amazon Resource Name (ARN) of the KMS key to use for encryption. This field is required only when ``sseAlgorithm`` is set to ``aws:kms`` .
256
+ :param sse_algorithm: The server-side encryption algorithm to use. Valid values are ``AES256`` for S3-managed encryption keys, or ``aws:kms`` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`_ .
257
+
258
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html
259
+ :exampleMetadata: fixture=_generated
260
+
261
+ Example::
262
+
263
+ # The code below shows an example of how to instantiate this type.
264
+ # The values are placeholders you should change.
265
+ from aws_cdk import aws_s3tables as s3tables
266
+
267
+ encryption_configuration_property = s3tables.CfnTableBucket.EncryptionConfigurationProperty(
268
+ kms_key_arn="kmsKeyArn",
269
+ sse_algorithm="sseAlgorithm"
270
+ )
271
+ '''
272
+ if __debug__:
273
+ type_hints = typing.get_type_hints(_typecheckingstub__659e946ab1ee4bc0eb13a519adc57d2cb4431347d47a9e6cb4d4086a87be1b2a)
274
+ check_type(argname="argument kms_key_arn", value=kms_key_arn, expected_type=type_hints["kms_key_arn"])
275
+ check_type(argname="argument sse_algorithm", value=sse_algorithm, expected_type=type_hints["sse_algorithm"])
276
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
277
+ if kms_key_arn is not None:
278
+ self._values["kms_key_arn"] = kms_key_arn
279
+ if sse_algorithm is not None:
280
+ self._values["sse_algorithm"] = sse_algorithm
281
+
282
+ @builtins.property
283
+ def kms_key_arn(self) -> typing.Optional[builtins.str]:
284
+ '''The Amazon Resource Name (ARN) of the KMS key to use for encryption.
285
+
286
+ This field is required only when ``sseAlgorithm`` is set to ``aws:kms`` .
287
+
288
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html#cfn-s3tables-tablebucket-encryptionconfiguration-kmskeyarn
289
+ '''
290
+ result = self._values.get("kms_key_arn")
291
+ return typing.cast(typing.Optional[builtins.str], result)
292
+
293
+ @builtins.property
294
+ def sse_algorithm(self) -> typing.Optional[builtins.str]:
295
+ '''The server-side encryption algorithm to use.
296
+
297
+ Valid values are ``AES256`` for S3-managed encryption keys, or ``aws:kms`` for AWS KMS-managed encryption keys. If you choose SSE-KMS encryption you must grant the S3 Tables maintenance principal access to your KMS key. For more information, see `Permissions requirements for S3 Tables SSE-KMS encryption <https://docs.aws.amazon.com//AmazonS3/latest/userguide/s3-tables-kms-permissions.html>`_ .
298
+
299
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-encryptionconfiguration.html#cfn-s3tables-tablebucket-encryptionconfiguration-ssealgorithm
300
+ '''
301
+ result = self._values.get("sse_algorithm")
302
+ return typing.cast(typing.Optional[builtins.str], result)
303
+
304
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
305
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
306
+
307
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
308
+ return not (rhs == self)
309
+
310
+ def __repr__(self) -> str:
311
+ return "EncryptionConfigurationProperty(%s)" % ", ".join(
312
+ k + "=" + repr(v) for k, v in self._values.items()
313
+ )
314
+
213
315
  @jsii.data_type(
214
316
  jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket.UnreferencedFileRemovalProperty",
215
317
  jsii_struct_bases=[],
@@ -500,6 +602,7 @@ class CfnTableBucketPolicyProps:
500
602
  jsii_struct_bases=[],
501
603
  name_mapping={
502
604
  "table_bucket_name": "tableBucketName",
605
+ "encryption_configuration": "encryptionConfiguration",
503
606
  "unreferenced_file_removal": "unreferencedFileRemoval",
504
607
  },
505
608
  )
@@ -508,11 +611,13 @@ class CfnTableBucketProps:
508
611
  self,
509
612
  *,
510
613
  table_bucket_name: builtins.str,
614
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
511
615
  unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
512
616
  ) -> None:
513
617
  '''Properties for defining a ``CfnTableBucket``.
514
618
 
515
619
  :param table_bucket_name: The name for the table bucket.
620
+ :param encryption_configuration: Configuration specifying how data should be encrypted. This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
516
621
  :param unreferenced_file_removal: The unreferenced file removal settings for your table bucket. Unreferenced file removal identifies and deletes all objects that are not referenced by any table snapshots. For more information, see the `*Amazon S3 User Guide* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-table-buckets-maintenance.html>`_ .
517
622
 
518
623
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html
@@ -528,6 +633,10 @@ class CfnTableBucketProps:
528
633
  table_bucket_name="tableBucketName",
529
634
 
530
635
  # the properties below are optional
636
+ encryption_configuration=s3tables.CfnTableBucket.EncryptionConfigurationProperty(
637
+ kms_key_arn="kmsKeyArn",
638
+ sse_algorithm="sseAlgorithm"
639
+ ),
531
640
  unreferenced_file_removal=s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
532
641
  noncurrent_days=123,
533
642
  status="status",
@@ -538,10 +647,13 @@ class CfnTableBucketProps:
538
647
  if __debug__:
539
648
  type_hints = typing.get_type_hints(_typecheckingstub__6fb9342a13c0e9f7b21679814e793d7ccc0964ccfe53bc5e0916676b628d20f3)
540
649
  check_type(argname="argument table_bucket_name", value=table_bucket_name, expected_type=type_hints["table_bucket_name"])
650
+ check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
541
651
  check_type(argname="argument unreferenced_file_removal", value=unreferenced_file_removal, expected_type=type_hints["unreferenced_file_removal"])
542
652
  self._values: typing.Dict[builtins.str, typing.Any] = {
543
653
  "table_bucket_name": table_bucket_name,
544
654
  }
655
+ if encryption_configuration is not None:
656
+ self._values["encryption_configuration"] = encryption_configuration
545
657
  if unreferenced_file_removal is not None:
546
658
  self._values["unreferenced_file_removal"] = unreferenced_file_removal
547
659
 
@@ -555,6 +667,19 @@ class CfnTableBucketProps:
555
667
  assert result is not None, "Required property 'table_bucket_name' is missing"
556
668
  return typing.cast(builtins.str, result)
557
669
 
670
+ @builtins.property
671
+ def encryption_configuration(
672
+ self,
673
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.EncryptionConfigurationProperty]]:
674
+ '''Configuration specifying how data should be encrypted.
675
+
676
+ This structure defines the encryption algorithm and optional KMS key to be used for server-side encryption.
677
+
678
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-encryptionconfiguration
679
+ '''
680
+ result = self._values.get("encryption_configuration")
681
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.EncryptionConfigurationProperty]], result)
682
+
558
683
  @builtins.property
559
684
  def unreferenced_file_removal(
560
685
  self,
@@ -594,6 +719,7 @@ def _typecheckingstub__de433918cd34eecbcaab0e81b6a287f71a48dd308c2f4d42e07a0e19c
594
719
  id: builtins.str,
595
720
  *,
596
721
  table_bucket_name: builtins.str,
722
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
597
723
  unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
598
724
  ) -> None:
599
725
  """Type checking stubs"""
@@ -617,12 +743,26 @@ def _typecheckingstub__42ef5079e6a92822a2e6ccbb91b02661f493a7d44dc79dfba0916840d
617
743
  """Type checking stubs"""
618
744
  pass
619
745
 
746
+ def _typecheckingstub__61499f569b4e5dc20b99defd26e29c6e9b7761b6630e1adec9c20e97e099dd4a(
747
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.EncryptionConfigurationProperty]],
748
+ ) -> None:
749
+ """Type checking stubs"""
750
+ pass
751
+
620
752
  def _typecheckingstub__02bf42691243dcbc8ea49c2499d3414260e70a80c4e38a371b64664c49f17e6e(
621
753
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]],
622
754
  ) -> None:
623
755
  """Type checking stubs"""
624
756
  pass
625
757
 
758
+ def _typecheckingstub__659e946ab1ee4bc0eb13a519adc57d2cb4431347d47a9e6cb4d4086a87be1b2a(
759
+ *,
760
+ kms_key_arn: typing.Optional[builtins.str] = None,
761
+ sse_algorithm: typing.Optional[builtins.str] = None,
762
+ ) -> None:
763
+ """Type checking stubs"""
764
+ pass
765
+
626
766
  def _typecheckingstub__e5a5e0b11a3cbe8be01a72f3ac6efc85af9472104c94585d26f630d3354c816b(
627
767
  *,
628
768
  noncurrent_days: typing.Optional[jsii.Number] = None,
@@ -677,6 +817,7 @@ def _typecheckingstub__df8972559ed3d0ff90d01d70d1cf8f77869398b91f03a408d49a7b5be
677
817
  def _typecheckingstub__6fb9342a13c0e9f7b21679814e793d7ccc0964ccfe53bc5e0916676b628d20f3(
678
818
  *,
679
819
  table_bucket_name: builtins.str,
820
+ encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
680
821
  unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
681
822
  ) -> None:
682
823
  """Type checking stubs"""