aws-cdk-lib 2.173.4__py3-none-any.whl → 2.174.1__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 (91) hide show
  1. aws_cdk/__init__.py +210 -181
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.173.4.jsii.tgz → aws-cdk-lib@2.174.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +18 -0
  5. aws_cdk/aws_apigateway/__init__.py +127 -168
  6. aws_cdk/aws_appconfig/__init__.py +498 -1
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  8. aws_cdk/aws_appsync/__init__.py +4 -0
  9. aws_cdk/aws_autoscaling/__init__.py +96 -0
  10. aws_cdk/aws_batch/__init__.py +662 -237
  11. aws_cdk/aws_bedrock/__init__.py +2122 -181
  12. aws_cdk/aws_cassandra/__init__.py +476 -4
  13. aws_cdk/aws_cleanrooms/__init__.py +1227 -20
  14. aws_cdk/aws_cloudformation/__init__.py +172 -169
  15. aws_cdk/aws_cloudfront/__init__.py +773 -26
  16. aws_cdk/aws_cloudtrail/__init__.py +8 -2
  17. aws_cdk/aws_codebuild/__init__.py +83 -0
  18. aws_cdk/aws_codepipeline/__init__.py +2 -1
  19. aws_cdk/aws_cognito/__init__.py +232 -200
  20. aws_cdk/aws_connect/__init__.py +187 -36
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +106 -12
  22. aws_cdk/aws_databrew/__init__.py +69 -1
  23. aws_cdk/aws_datasync/__init__.py +33 -28
  24. aws_cdk/aws_datazone/__init__.py +141 -41
  25. aws_cdk/aws_dlm/__init__.py +20 -10
  26. aws_cdk/aws_dms/__init__.py +736 -22
  27. aws_cdk/aws_docdb/__init__.py +134 -0
  28. aws_cdk/aws_dynamodb/__init__.py +76 -4
  29. aws_cdk/aws_ec2/__init__.py +1233 -65
  30. aws_cdk/aws_ecr/__init__.py +31 -0
  31. aws_cdk/aws_ecr_assets/__init__.py +5 -0
  32. aws_cdk/aws_ecs/__init__.py +88 -11
  33. aws_cdk/aws_efs/__init__.py +15 -8
  34. aws_cdk/aws_eks/__init__.py +114 -45
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  36. aws_cdk/aws_emrserverless/__init__.py +143 -0
  37. aws_cdk/aws_events/__init__.py +50 -30
  38. aws_cdk/aws_fis/__init__.py +33 -33
  39. aws_cdk/aws_fsx/__init__.py +20 -10
  40. aws_cdk/aws_glue/__init__.py +34 -11
  41. aws_cdk/aws_greengrass/__init__.py +8 -8
  42. aws_cdk/aws_guardduty/__init__.py +1 -1
  43. aws_cdk/aws_imagebuilder/__init__.py +45 -47
  44. aws_cdk/aws_internetmonitor/__init__.py +3 -3
  45. aws_cdk/aws_invoicing/__init__.py +55 -30
  46. aws_cdk/aws_iot/__init__.py +1117 -4
  47. aws_cdk/aws_iot1click/__init__.py +17 -7
  48. aws_cdk/aws_kendra/__init__.py +4 -6
  49. aws_cdk/aws_lambda/__init__.py +15 -1
  50. aws_cdk/aws_logs/__init__.py +4011 -86
  51. aws_cdk/aws_m2/__init__.py +41 -0
  52. aws_cdk/aws_mediaconnect/__init__.py +202 -7
  53. aws_cdk/aws_mediaconvert/__init__.py +39 -0
  54. aws_cdk/aws_memorydb/__init__.py +22 -22
  55. aws_cdk/aws_networkmanager/__init__.py +758 -0
  56. aws_cdk/aws_opensearchservice/__init__.py +222 -0
  57. aws_cdk/aws_organizations/__init__.py +5 -3
  58. aws_cdk/aws_pcs/__init__.py +3038 -0
  59. aws_cdk/aws_pipes/__init__.py +10 -10
  60. aws_cdk/aws_qbusiness/__init__.py +415 -140
  61. aws_cdk/aws_quicksight/__init__.py +59795 -49748
  62. aws_cdk/aws_ram/__init__.py +5 -11
  63. aws_cdk/aws_rbin/__init__.py +28 -16
  64. aws_cdk/aws_rds/__init__.py +186 -31
  65. aws_cdk/aws_redshiftserverless/__init__.py +156 -0
  66. aws_cdk/aws_resiliencehub/__init__.py +2 -1
  67. aws_cdk/aws_route53_targets/__init__.py +5 -5
  68. aws_cdk/aws_s3/__init__.py +25 -15
  69. aws_cdk/aws_s3express/__init__.py +7 -7
  70. aws_cdk/aws_s3tables/__init__.py +683 -0
  71. aws_cdk/aws_sagemaker/__init__.py +580 -195
  72. aws_cdk/aws_secretsmanager/__init__.py +2 -0
  73. aws_cdk/aws_securityhub/__init__.py +41 -165
  74. aws_cdk/aws_servicediscovery/__init__.py +10 -3
  75. aws_cdk/aws_ses/__init__.py +190 -5
  76. aws_cdk/aws_sns/__init__.py +7 -3
  77. aws_cdk/aws_synthetics/__init__.py +29 -4
  78. aws_cdk/aws_transfer/__init__.py +8 -0
  79. aws_cdk/aws_vpclattice/__init__.py +147 -77
  80. aws_cdk/aws_wafv2/__init__.py +20 -8
  81. aws_cdk/aws_wisdom/__init__.py +162 -111
  82. aws_cdk/aws_workspaces/__init__.py +10 -4
  83. aws_cdk/cloud_assembly_schema/__init__.py +22 -0
  84. aws_cdk/custom_resources/__init__.py +31 -0
  85. aws_cdk/cx_api/__init__.py +19 -0
  86. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/LICENSE +1 -1
  87. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/METADATA +2 -2
  88. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/NOTICE +1 -1
  89. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/RECORD +91 -89
  90. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/WHEEL +0 -0
  91. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,683 @@
1
+ r'''
2
+ # AWS::S3Tables Construct Library
3
+
4
+ <!--BEGIN STABILITY BANNER-->---
5
+
6
+
7
+ ![cfn-resources: Stable](https://img.shields.io/badge/cfn--resources-stable-success.svg?style=for-the-badge)
8
+
9
+ > All classes with the `Cfn` prefix in this module ([CFN Resources](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) are always stable and safe to use.
10
+
11
+ ---
12
+ <!--END STABILITY BANNER-->
13
+
14
+ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.
15
+
16
+ ```python
17
+ import aws_cdk.aws_s3tables as s3tables
18
+ ```
19
+
20
+ <!--BEGIN CFNONLY DISCLAIMER-->
21
+
22
+ There are no official hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet. Here are some suggestions on how to proceed:
23
+
24
+ * Search [Construct Hub for S3Tables construct libraries](https://constructs.dev/search?q=s3tables)
25
+ * Use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, in the same way you would use [the CloudFormation AWS::S3Tables resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_S3Tables.html) directly.
26
+
27
+ <!--BEGIN CFNONLY DISCLAIMER-->
28
+
29
+ There are no hand-written ([L2](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_lib)) constructs for this service yet.
30
+ However, you can still use the automatically generated [L1](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using) constructs, and use this service exactly as you would using CloudFormation directly.
31
+
32
+ For more information on the resources and properties available for this service, see the [CloudFormation documentation for AWS::S3Tables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_S3Tables.html).
33
+
34
+ (Read the [CDK Contributing Guide](https://github.com/aws/aws-cdk/blob/main/CONTRIBUTING.md) and submit an RFC if you are interested in contributing to this construct library.)
35
+
36
+ <!--END CFNONLY DISCLAIMER-->
37
+ '''
38
+ from pkgutil import extend_path
39
+ __path__ = extend_path(__path__, __name__)
40
+
41
+ import abc
42
+ import builtins
43
+ import datetime
44
+ import enum
45
+ import typing
46
+
47
+ import jsii
48
+ import publication
49
+ import typing_extensions
50
+
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
67
+
68
+ from .._jsii import *
69
+
70
+ import constructs as _constructs_77d1e7e8
71
+ from .. import (
72
+ CfnResource as _CfnResource_9df397a6,
73
+ IInspectable as _IInspectable_c2943556,
74
+ IResolvable as _IResolvable_da3f097b,
75
+ TreeInspector as _TreeInspector_488e0dd5,
76
+ )
77
+
78
+
79
+ @jsii.implements(_IInspectable_c2943556)
80
+ class CfnTableBucket(
81
+ _CfnResource_9df397a6,
82
+ metaclass=jsii.JSIIMeta,
83
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket",
84
+ ):
85
+ '''Creates a table bucket.
86
+
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
+
89
+ - **Permissions** - You must have the ``s3:CreateTableBucket`` permission to use this operation.
90
+
91
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html
92
+ :cloudformationResource: AWS::S3Tables::TableBucket
93
+ :exampleMetadata: fixture=_generated
94
+
95
+ Example::
96
+
97
+ # The code below shows an example of how to instantiate this type.
98
+ # The values are placeholders you should change.
99
+ from aws_cdk import aws_s3tables as s3tables
100
+
101
+ cfn_table_bucket = s3tables.CfnTableBucket(self, "MyCfnTableBucket",
102
+ table_bucket_name="tableBucketName",
103
+
104
+ # the properties below are optional
105
+ unreferenced_file_removal=s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
106
+ noncurrent_days=123,
107
+ status="status",
108
+ unreferenced_days=123
109
+ )
110
+ )
111
+ '''
112
+
113
+ def __init__(
114
+ self,
115
+ scope: _constructs_77d1e7e8.Construct,
116
+ id: builtins.str,
117
+ *,
118
+ table_bucket_name: builtins.str,
119
+ unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTableBucket.UnreferencedFileRemovalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
120
+ ) -> None:
121
+ '''
122
+ :param scope: Scope in which this resource is defined.
123
+ :param id: Construct identifier for this resource (unique in its scope).
124
+ :param table_bucket_name: The name for the table bucket.
125
+ :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
+ '''
127
+ if __debug__:
128
+ type_hints = typing.get_type_hints(_typecheckingstub__de433918cd34eecbcaab0e81b6a287f71a48dd308c2f4d42e07a0e19ce5af0e2)
129
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
130
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
131
+ props = CfnTableBucketProps(
132
+ table_bucket_name=table_bucket_name,
133
+ unreferenced_file_removal=unreferenced_file_removal,
134
+ )
135
+
136
+ jsii.create(self.__class__, self, [scope, id, props])
137
+
138
+ @jsii.member(jsii_name="inspect")
139
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
140
+ '''Examines the CloudFormation resource and discloses attributes.
141
+
142
+ :param inspector: tree inspector to collect and process attributes.
143
+ '''
144
+ if __debug__:
145
+ type_hints = typing.get_type_hints(_typecheckingstub__40da426af74874eef485654394ab5db25ba5f82e8490b96bd68d9f6318b6654e)
146
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
147
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
148
+
149
+ @jsii.member(jsii_name="renderProperties")
150
+ def _render_properties(
151
+ self,
152
+ props: typing.Mapping[builtins.str, typing.Any],
153
+ ) -> typing.Mapping[builtins.str, typing.Any]:
154
+ '''
155
+ :param props: -
156
+ '''
157
+ if __debug__:
158
+ type_hints = typing.get_type_hints(_typecheckingstub__8e15cdb1ab81b354e389c0debd6b2b9d760245945e38c20d735044cde53c3979)
159
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
160
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
161
+
162
+ @jsii.python.classproperty
163
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
164
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
165
+ '''The CloudFormation resource type name for this resource class.'''
166
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
167
+
168
+ @builtins.property
169
+ @jsii.member(jsii_name="attrTableBucketArn")
170
+ def attr_table_bucket_arn(self) -> builtins.str:
171
+ '''The Amazon Resource Name (ARN) of the table bucket.
172
+
173
+ :cloudformationAttribute: TableBucketARN
174
+ '''
175
+ return typing.cast(builtins.str, jsii.get(self, "attrTableBucketArn"))
176
+
177
+ @builtins.property
178
+ @jsii.member(jsii_name="cfnProperties")
179
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
180
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
181
+
182
+ @builtins.property
183
+ @jsii.member(jsii_name="tableBucketName")
184
+ def table_bucket_name(self) -> builtins.str:
185
+ '''The name for the table bucket.'''
186
+ return typing.cast(builtins.str, jsii.get(self, "tableBucketName"))
187
+
188
+ @table_bucket_name.setter
189
+ def table_bucket_name(self, value: builtins.str) -> None:
190
+ if __debug__:
191
+ type_hints = typing.get_type_hints(_typecheckingstub__42ef5079e6a92822a2e6ccbb91b02661f493a7d44dc79dfba0916840dbe44863)
192
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
193
+ jsii.set(self, "tableBucketName", value) # pyright: ignore[reportArgumentType]
194
+
195
+ @builtins.property
196
+ @jsii.member(jsii_name="unreferencedFileRemoval")
197
+ def unreferenced_file_removal(
198
+ self,
199
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]]:
200
+ '''The unreferenced file removal settings for your table bucket.'''
201
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]], jsii.get(self, "unreferencedFileRemoval"))
202
+
203
+ @unreferenced_file_removal.setter
204
+ def unreferenced_file_removal(
205
+ self,
206
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTableBucket.UnreferencedFileRemovalProperty"]],
207
+ ) -> None:
208
+ if __debug__:
209
+ type_hints = typing.get_type_hints(_typecheckingstub__02bf42691243dcbc8ea49c2499d3414260e70a80c4e38a371b64664c49f17e6e)
210
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
211
+ jsii.set(self, "unreferencedFileRemoval", value) # pyright: ignore[reportArgumentType]
212
+
213
+ @jsii.data_type(
214
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucket.UnreferencedFileRemovalProperty",
215
+ jsii_struct_bases=[],
216
+ name_mapping={
217
+ "noncurrent_days": "noncurrentDays",
218
+ "status": "status",
219
+ "unreferenced_days": "unreferencedDays",
220
+ },
221
+ )
222
+ class UnreferencedFileRemovalProperty:
223
+ def __init__(
224
+ self,
225
+ *,
226
+ noncurrent_days: typing.Optional[jsii.Number] = None,
227
+ status: typing.Optional[builtins.str] = None,
228
+ unreferenced_days: typing.Optional[jsii.Number] = None,
229
+ ) -> None:
230
+ '''The unreferenced file removal settings for your table bucket.
231
+
232
+ 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>`_ .
233
+
234
+ :param noncurrent_days: The number of days an object can be noncurrent before Amazon S3 deletes it.
235
+ :param status: The status of the unreferenced file removal configuration for your table bucket.
236
+ :param unreferenced_days: The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.
237
+
238
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html
239
+ :exampleMetadata: fixture=_generated
240
+
241
+ Example::
242
+
243
+ # The code below shows an example of how to instantiate this type.
244
+ # The values are placeholders you should change.
245
+ from aws_cdk import aws_s3tables as s3tables
246
+
247
+ unreferenced_file_removal_property = s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
248
+ noncurrent_days=123,
249
+ status="status",
250
+ unreferenced_days=123
251
+ )
252
+ '''
253
+ if __debug__:
254
+ type_hints = typing.get_type_hints(_typecheckingstub__e5a5e0b11a3cbe8be01a72f3ac6efc85af9472104c94585d26f630d3354c816b)
255
+ check_type(argname="argument noncurrent_days", value=noncurrent_days, expected_type=type_hints["noncurrent_days"])
256
+ check_type(argname="argument status", value=status, expected_type=type_hints["status"])
257
+ check_type(argname="argument unreferenced_days", value=unreferenced_days, expected_type=type_hints["unreferenced_days"])
258
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
259
+ if noncurrent_days is not None:
260
+ self._values["noncurrent_days"] = noncurrent_days
261
+ if status is not None:
262
+ self._values["status"] = status
263
+ if unreferenced_days is not None:
264
+ self._values["unreferenced_days"] = unreferenced_days
265
+
266
+ @builtins.property
267
+ def noncurrent_days(self) -> typing.Optional[jsii.Number]:
268
+ '''The number of days an object can be noncurrent before Amazon S3 deletes it.
269
+
270
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-noncurrentdays
271
+ '''
272
+ result = self._values.get("noncurrent_days")
273
+ return typing.cast(typing.Optional[jsii.Number], result)
274
+
275
+ @builtins.property
276
+ def status(self) -> typing.Optional[builtins.str]:
277
+ '''The status of the unreferenced file removal configuration for your table bucket.
278
+
279
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-status
280
+ '''
281
+ result = self._values.get("status")
282
+ return typing.cast(typing.Optional[builtins.str], result)
283
+
284
+ @builtins.property
285
+ def unreferenced_days(self) -> typing.Optional[jsii.Number]:
286
+ '''The number of days an object must be unreferenced by your table before Amazon S3 marks the object as noncurrent.
287
+
288
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3tables-tablebucket-unreferencedfileremoval.html#cfn-s3tables-tablebucket-unreferencedfileremoval-unreferenceddays
289
+ '''
290
+ result = self._values.get("unreferenced_days")
291
+ return typing.cast(typing.Optional[jsii.Number], result)
292
+
293
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
294
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
295
+
296
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
297
+ return not (rhs == self)
298
+
299
+ def __repr__(self) -> str:
300
+ return "UnreferencedFileRemovalProperty(%s)" % ", ".join(
301
+ k + "=" + repr(v) for k, v in self._values.items()
302
+ )
303
+
304
+
305
+ @jsii.implements(_IInspectable_c2943556)
306
+ class CfnTableBucketPolicy(
307
+ _CfnResource_9df397a6,
308
+ metaclass=jsii.JSIIMeta,
309
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketPolicy",
310
+ ):
311
+ '''Creates a new maintenance configuration or replaces an existing table bucket policy for a table bucket.
312
+
313
+ For more information, see `Adding a table bucket policy <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-bucket-policy.html#table-bucket-policy-add>`_ in the *Amazon Simple Storage Service User Guide* .
314
+
315
+ - **Permissions** - You must have the ``s3:PutTableBucketPolicy`` permission to use this operation.
316
+
317
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html
318
+ :cloudformationResource: AWS::S3Tables::TableBucketPolicy
319
+ :exampleMetadata: fixture=_generated
320
+
321
+ Example::
322
+
323
+ # The code below shows an example of how to instantiate this type.
324
+ # The values are placeholders you should change.
325
+ from aws_cdk import aws_s3tables as s3tables
326
+
327
+ # resource_policy: Any
328
+
329
+ cfn_table_bucket_policy = s3tables.CfnTableBucketPolicy(self, "MyCfnTableBucketPolicy",
330
+ resource_policy=resource_policy,
331
+ table_bucket_arn="tableBucketArn"
332
+ )
333
+ '''
334
+
335
+ def __init__(
336
+ self,
337
+ scope: _constructs_77d1e7e8.Construct,
338
+ id: builtins.str,
339
+ *,
340
+ resource_policy: typing.Any,
341
+ table_bucket_arn: builtins.str,
342
+ ) -> None:
343
+ '''
344
+ :param scope: Scope in which this resource is defined.
345
+ :param id: Construct identifier for this resource (unique in its scope).
346
+ :param resource_policy: The bucket policy JSON for the table bucket.
347
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket.
348
+ '''
349
+ if __debug__:
350
+ type_hints = typing.get_type_hints(_typecheckingstub__e41d1f33249c074a27c8db71a0d74f7ec78216836901a699d5ff7dbdcfdcf89a)
351
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
352
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
353
+ props = CfnTableBucketPolicyProps(
354
+ resource_policy=resource_policy, table_bucket_arn=table_bucket_arn
355
+ )
356
+
357
+ jsii.create(self.__class__, self, [scope, id, props])
358
+
359
+ @jsii.member(jsii_name="inspect")
360
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
361
+ '''Examines the CloudFormation resource and discloses attributes.
362
+
363
+ :param inspector: tree inspector to collect and process attributes.
364
+ '''
365
+ if __debug__:
366
+ type_hints = typing.get_type_hints(_typecheckingstub__3a8346fde6b51dff587833e7cd68ccdd12e4f80b4b07e756c507ac9d8b81cfdb)
367
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
368
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
369
+
370
+ @jsii.member(jsii_name="renderProperties")
371
+ def _render_properties(
372
+ self,
373
+ props: typing.Mapping[builtins.str, typing.Any],
374
+ ) -> typing.Mapping[builtins.str, typing.Any]:
375
+ '''
376
+ :param props: -
377
+ '''
378
+ if __debug__:
379
+ type_hints = typing.get_type_hints(_typecheckingstub__32d2b3e7f152d93640c11f17b345fb2a9bf95efe6dd3c1235a1d9ca148caae1a)
380
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
381
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
382
+
383
+ @jsii.python.classproperty
384
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
385
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
386
+ '''The CloudFormation resource type name for this resource class.'''
387
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
388
+
389
+ @builtins.property
390
+ @jsii.member(jsii_name="cfnProperties")
391
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
392
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
393
+
394
+ @builtins.property
395
+ @jsii.member(jsii_name="resourcePolicy")
396
+ def resource_policy(self) -> typing.Any:
397
+ '''The bucket policy JSON for the table bucket.'''
398
+ return typing.cast(typing.Any, jsii.get(self, "resourcePolicy"))
399
+
400
+ @resource_policy.setter
401
+ def resource_policy(self, value: typing.Any) -> None:
402
+ if __debug__:
403
+ type_hints = typing.get_type_hints(_typecheckingstub__60d686568fe0e9bc1be86d3585b33d6e6dcf5d8ec00b2b4b4ba9c5e48ea4cd82)
404
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
405
+ jsii.set(self, "resourcePolicy", value) # pyright: ignore[reportArgumentType]
406
+
407
+ @builtins.property
408
+ @jsii.member(jsii_name="tableBucketArn")
409
+ def table_bucket_arn(self) -> builtins.str:
410
+ '''The Amazon Resource Name (ARN) of the table bucket.'''
411
+ return typing.cast(builtins.str, jsii.get(self, "tableBucketArn"))
412
+
413
+ @table_bucket_arn.setter
414
+ def table_bucket_arn(self, value: builtins.str) -> None:
415
+ if __debug__:
416
+ type_hints = typing.get_type_hints(_typecheckingstub__9db770e8febae7602179359c1a5975b5ae8be6270348474fc3a1cca79c47ad2b)
417
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
418
+ jsii.set(self, "tableBucketArn", value) # pyright: ignore[reportArgumentType]
419
+
420
+
421
+ @jsii.data_type(
422
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketPolicyProps",
423
+ jsii_struct_bases=[],
424
+ name_mapping={
425
+ "resource_policy": "resourcePolicy",
426
+ "table_bucket_arn": "tableBucketArn",
427
+ },
428
+ )
429
+ class CfnTableBucketPolicyProps:
430
+ def __init__(
431
+ self,
432
+ *,
433
+ resource_policy: typing.Any,
434
+ table_bucket_arn: builtins.str,
435
+ ) -> None:
436
+ '''Properties for defining a ``CfnTableBucketPolicy``.
437
+
438
+ :param resource_policy: The bucket policy JSON for the table bucket.
439
+ :param table_bucket_arn: The Amazon Resource Name (ARN) of the table bucket.
440
+
441
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html
442
+ :exampleMetadata: fixture=_generated
443
+
444
+ Example::
445
+
446
+ # The code below shows an example of how to instantiate this type.
447
+ # The values are placeholders you should change.
448
+ from aws_cdk import aws_s3tables as s3tables
449
+
450
+ # resource_policy: Any
451
+
452
+ cfn_table_bucket_policy_props = s3tables.CfnTableBucketPolicyProps(
453
+ resource_policy=resource_policy,
454
+ table_bucket_arn="tableBucketArn"
455
+ )
456
+ '''
457
+ if __debug__:
458
+ type_hints = typing.get_type_hints(_typecheckingstub__df8972559ed3d0ff90d01d70d1cf8f77869398b91f03a408d49a7b5bee0615a0)
459
+ check_type(argname="argument resource_policy", value=resource_policy, expected_type=type_hints["resource_policy"])
460
+ check_type(argname="argument table_bucket_arn", value=table_bucket_arn, expected_type=type_hints["table_bucket_arn"])
461
+ self._values: typing.Dict[builtins.str, typing.Any] = {
462
+ "resource_policy": resource_policy,
463
+ "table_bucket_arn": table_bucket_arn,
464
+ }
465
+
466
+ @builtins.property
467
+ def resource_policy(self) -> typing.Any:
468
+ '''The bucket policy JSON for the table bucket.
469
+
470
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html#cfn-s3tables-tablebucketpolicy-resourcepolicy
471
+ '''
472
+ result = self._values.get("resource_policy")
473
+ assert result is not None, "Required property 'resource_policy' is missing"
474
+ return typing.cast(typing.Any, result)
475
+
476
+ @builtins.property
477
+ def table_bucket_arn(self) -> builtins.str:
478
+ '''The Amazon Resource Name (ARN) of the table bucket.
479
+
480
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucketpolicy.html#cfn-s3tables-tablebucketpolicy-tablebucketarn
481
+ '''
482
+ result = self._values.get("table_bucket_arn")
483
+ assert result is not None, "Required property 'table_bucket_arn' is missing"
484
+ return typing.cast(builtins.str, result)
485
+
486
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
487
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
488
+
489
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
490
+ return not (rhs == self)
491
+
492
+ def __repr__(self) -> str:
493
+ return "CfnTableBucketPolicyProps(%s)" % ", ".join(
494
+ k + "=" + repr(v) for k, v in self._values.items()
495
+ )
496
+
497
+
498
+ @jsii.data_type(
499
+ jsii_type="aws-cdk-lib.aws_s3tables.CfnTableBucketProps",
500
+ jsii_struct_bases=[],
501
+ name_mapping={
502
+ "table_bucket_name": "tableBucketName",
503
+ "unreferenced_file_removal": "unreferencedFileRemoval",
504
+ },
505
+ )
506
+ class CfnTableBucketProps:
507
+ def __init__(
508
+ self,
509
+ *,
510
+ table_bucket_name: builtins.str,
511
+ unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
512
+ ) -> None:
513
+ '''Properties for defining a ``CfnTableBucket``.
514
+
515
+ :param table_bucket_name: The name for the table bucket.
516
+ :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
+
518
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html
519
+ :exampleMetadata: fixture=_generated
520
+
521
+ Example::
522
+
523
+ # The code below shows an example of how to instantiate this type.
524
+ # The values are placeholders you should change.
525
+ from aws_cdk import aws_s3tables as s3tables
526
+
527
+ cfn_table_bucket_props = s3tables.CfnTableBucketProps(
528
+ table_bucket_name="tableBucketName",
529
+
530
+ # the properties below are optional
531
+ unreferenced_file_removal=s3tables.CfnTableBucket.UnreferencedFileRemovalProperty(
532
+ noncurrent_days=123,
533
+ status="status",
534
+ unreferenced_days=123
535
+ )
536
+ )
537
+ '''
538
+ if __debug__:
539
+ type_hints = typing.get_type_hints(_typecheckingstub__6fb9342a13c0e9f7b21679814e793d7ccc0964ccfe53bc5e0916676b628d20f3)
540
+ check_type(argname="argument table_bucket_name", value=table_bucket_name, expected_type=type_hints["table_bucket_name"])
541
+ check_type(argname="argument unreferenced_file_removal", value=unreferenced_file_removal, expected_type=type_hints["unreferenced_file_removal"])
542
+ self._values: typing.Dict[builtins.str, typing.Any] = {
543
+ "table_bucket_name": table_bucket_name,
544
+ }
545
+ if unreferenced_file_removal is not None:
546
+ self._values["unreferenced_file_removal"] = unreferenced_file_removal
547
+
548
+ @builtins.property
549
+ def table_bucket_name(self) -> builtins.str:
550
+ '''The name for the table bucket.
551
+
552
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-tablebucketname
553
+ '''
554
+ result = self._values.get("table_bucket_name")
555
+ assert result is not None, "Required property 'table_bucket_name' is missing"
556
+ return typing.cast(builtins.str, result)
557
+
558
+ @builtins.property
559
+ def unreferenced_file_removal(
560
+ self,
561
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]]:
562
+ '''The unreferenced file removal settings for your table bucket.
563
+
564
+ 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>`_ .
565
+
566
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3tables-tablebucket.html#cfn-s3tables-tablebucket-unreferencedfileremoval
567
+ '''
568
+ result = self._values.get("unreferenced_file_removal")
569
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]], result)
570
+
571
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
572
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
573
+
574
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
575
+ return not (rhs == self)
576
+
577
+ def __repr__(self) -> str:
578
+ return "CfnTableBucketProps(%s)" % ", ".join(
579
+ k + "=" + repr(v) for k, v in self._values.items()
580
+ )
581
+
582
+
583
+ __all__ = [
584
+ "CfnTableBucket",
585
+ "CfnTableBucketPolicy",
586
+ "CfnTableBucketPolicyProps",
587
+ "CfnTableBucketProps",
588
+ ]
589
+
590
+ publication.publish()
591
+
592
+ def _typecheckingstub__de433918cd34eecbcaab0e81b6a287f71a48dd308c2f4d42e07a0e19ce5af0e2(
593
+ scope: _constructs_77d1e7e8.Construct,
594
+ id: builtins.str,
595
+ *,
596
+ table_bucket_name: builtins.str,
597
+ unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
598
+ ) -> None:
599
+ """Type checking stubs"""
600
+ pass
601
+
602
+ def _typecheckingstub__40da426af74874eef485654394ab5db25ba5f82e8490b96bd68d9f6318b6654e(
603
+ inspector: _TreeInspector_488e0dd5,
604
+ ) -> None:
605
+ """Type checking stubs"""
606
+ pass
607
+
608
+ def _typecheckingstub__8e15cdb1ab81b354e389c0debd6b2b9d760245945e38c20d735044cde53c3979(
609
+ props: typing.Mapping[builtins.str, typing.Any],
610
+ ) -> None:
611
+ """Type checking stubs"""
612
+ pass
613
+
614
+ def _typecheckingstub__42ef5079e6a92822a2e6ccbb91b02661f493a7d44dc79dfba0916840dbe44863(
615
+ value: builtins.str,
616
+ ) -> None:
617
+ """Type checking stubs"""
618
+ pass
619
+
620
+ def _typecheckingstub__02bf42691243dcbc8ea49c2499d3414260e70a80c4e38a371b64664c49f17e6e(
621
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnTableBucket.UnreferencedFileRemovalProperty]],
622
+ ) -> None:
623
+ """Type checking stubs"""
624
+ pass
625
+
626
+ def _typecheckingstub__e5a5e0b11a3cbe8be01a72f3ac6efc85af9472104c94585d26f630d3354c816b(
627
+ *,
628
+ noncurrent_days: typing.Optional[jsii.Number] = None,
629
+ status: typing.Optional[builtins.str] = None,
630
+ unreferenced_days: typing.Optional[jsii.Number] = None,
631
+ ) -> None:
632
+ """Type checking stubs"""
633
+ pass
634
+
635
+ def _typecheckingstub__e41d1f33249c074a27c8db71a0d74f7ec78216836901a699d5ff7dbdcfdcf89a(
636
+ scope: _constructs_77d1e7e8.Construct,
637
+ id: builtins.str,
638
+ *,
639
+ resource_policy: typing.Any,
640
+ table_bucket_arn: builtins.str,
641
+ ) -> None:
642
+ """Type checking stubs"""
643
+ pass
644
+
645
+ def _typecheckingstub__3a8346fde6b51dff587833e7cd68ccdd12e4f80b4b07e756c507ac9d8b81cfdb(
646
+ inspector: _TreeInspector_488e0dd5,
647
+ ) -> None:
648
+ """Type checking stubs"""
649
+ pass
650
+
651
+ def _typecheckingstub__32d2b3e7f152d93640c11f17b345fb2a9bf95efe6dd3c1235a1d9ca148caae1a(
652
+ props: typing.Mapping[builtins.str, typing.Any],
653
+ ) -> None:
654
+ """Type checking stubs"""
655
+ pass
656
+
657
+ def _typecheckingstub__60d686568fe0e9bc1be86d3585b33d6e6dcf5d8ec00b2b4b4ba9c5e48ea4cd82(
658
+ value: typing.Any,
659
+ ) -> None:
660
+ """Type checking stubs"""
661
+ pass
662
+
663
+ def _typecheckingstub__9db770e8febae7602179359c1a5975b5ae8be6270348474fc3a1cca79c47ad2b(
664
+ value: builtins.str,
665
+ ) -> None:
666
+ """Type checking stubs"""
667
+ pass
668
+
669
+ def _typecheckingstub__df8972559ed3d0ff90d01d70d1cf8f77869398b91f03a408d49a7b5bee0615a0(
670
+ *,
671
+ resource_policy: typing.Any,
672
+ table_bucket_arn: builtins.str,
673
+ ) -> None:
674
+ """Type checking stubs"""
675
+ pass
676
+
677
+ def _typecheckingstub__6fb9342a13c0e9f7b21679814e793d7ccc0964ccfe53bc5e0916676b628d20f3(
678
+ *,
679
+ table_bucket_name: builtins.str,
680
+ unreferenced_file_removal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTableBucket.UnreferencedFileRemovalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
681
+ ) -> None:
682
+ """Type checking stubs"""
683
+ pass