aws-cdk-lib 2.189.1__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.
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.189.1.jsii.tgz → aws-cdk-lib@2.191.0.jsii.tgz} +0 -0
- aws_cdk/aws_acmpca/__init__.py +6 -6
- aws_cdk/aws_apigateway/__init__.py +18 -1
- aws_cdk/aws_apigatewayv2/__init__.py +374 -6
- aws_cdk/aws_applicationautoscaling/__init__.py +16 -10
- aws_cdk/aws_applicationsignals/__init__.py +204 -31
- aws_cdk/aws_aps/__init__.py +383 -2
- aws_cdk/aws_backup/__init__.py +0 -41
- aws_cdk/aws_batch/__init__.py +242 -5
- aws_cdk/aws_bedrock/__init__.py +963 -41
- aws_cdk/aws_cleanrooms/__init__.py +1392 -78
- aws_cdk/aws_cloudfront/__init__.py +1 -0
- aws_cdk/aws_cloudtrail/__init__.py +24 -26
- aws_cdk/aws_codebuild/__init__.py +107 -7
- aws_cdk/aws_datazone/__init__.py +23 -1
- aws_cdk/aws_dms/__init__.py +43 -0
- aws_cdk/aws_ec2/__init__.py +364 -30
- aws_cdk/aws_ecs/__init__.py +36 -5
- aws_cdk/aws_eks/__init__.py +2 -100
- aws_cdk/aws_elasticache/__init__.py +6 -11
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +341 -0
- aws_cdk/aws_events/__init__.py +106 -13
- aws_cdk/aws_fsx/__init__.py +9 -21
- aws_cdk/aws_iam/__init__.py +1 -1
- aws_cdk/aws_iot/__init__.py +6 -6
- aws_cdk/aws_kafkaconnect/__init__.py +2 -2
- aws_cdk/aws_kinesis/__init__.py +44 -0
- aws_cdk/aws_launchwizard/__init__.py +49 -49
- aws_cdk/aws_lex/__init__.py +615 -39
- aws_cdk/aws_location/__init__.py +4 -4
- aws_cdk/aws_macie/__init__.py +14 -3
- aws_cdk/aws_memorydb/__init__.py +87 -0
- aws_cdk/aws_msk/__init__.py +226 -127
- aws_cdk/aws_neptune/__init__.py +0 -24
- aws_cdk/aws_opensearchservice/__init__.py +64 -56
- aws_cdk/aws_paymentcryptography/__init__.py +41 -0
- aws_cdk/aws_qbusiness/__init__.py +175 -3
- aws_cdk/aws_quicksight/__init__.py +393 -0
- aws_cdk/aws_rds/__init__.py +149 -120
- aws_cdk/aws_redshiftserverless/__init__.py +4 -14
- aws_cdk/aws_route53resolver/__init__.py +60 -9
- aws_cdk/aws_s3/__init__.py +34 -1
- aws_cdk/aws_s3_deployment/__init__.py +202 -5
- aws_cdk/aws_s3tables/__init__.py +142 -1
- aws_cdk/aws_sagemaker/__init__.py +40 -40
- aws_cdk/aws_ses/__init__.py +643 -18
- aws_cdk/aws_ssmquicksetup/__init__.py +3 -3
- aws_cdk/aws_stepfunctions/__init__.py +720 -45
- aws_cdk/aws_transfer/__init__.py +55 -2
- aws_cdk/pipelines/__init__.py +1 -2
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.191.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.191.0.dist-info}/RECORD +57 -57
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.191.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.191.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.191.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.189.1.dist-info → aws_cdk_lib-2.191.0.dist-info}/top_level.txt +0 -0
|
@@ -361,6 +361,31 @@ resource handler.
|
|
|
361
361
|
> NOTE: a new AWS Lambda handler will be created in your stack for each combination
|
|
362
362
|
> of memory and storage size.
|
|
363
363
|
|
|
364
|
+
## JSON-Aware Source Processing
|
|
365
|
+
|
|
366
|
+
When using `Source.jsonData` with CDK Tokens (references to construct properties), you may need to enable the escaping option. This is particularly important when the referenced properties might contain special characters that require proper JSON escaping (like double quotes, line breaks, etc.).
|
|
367
|
+
|
|
368
|
+
```python
|
|
369
|
+
# bucket: s3.Bucket
|
|
370
|
+
# param: ssm.StringParameter
|
|
371
|
+
|
|
372
|
+
|
|
373
|
+
# Example with a secret value that contains double quotes
|
|
374
|
+
deployment = s3deploy.BucketDeployment(self, "JsonDeployment",
|
|
375
|
+
sources=[
|
|
376
|
+
s3deploy.Source.json_data("config.json", {
|
|
377
|
+
"api_endpoint": "https://api.example.com",
|
|
378
|
+
"secret_value": param.string_value, # value with double quotes
|
|
379
|
+
"config": {
|
|
380
|
+
"enabled": True,
|
|
381
|
+
"features": ["feature1", "feature2"]
|
|
382
|
+
}
|
|
383
|
+
}, escape=True)
|
|
384
|
+
],
|
|
385
|
+
destination_bucket=bucket
|
|
386
|
+
)
|
|
387
|
+
```
|
|
388
|
+
|
|
364
389
|
## EFS Support
|
|
365
390
|
|
|
366
391
|
If your workflow needs more disk space than default (512 MB) disk space, you may attach an EFS storage to underlying
|
|
@@ -1872,6 +1897,119 @@ class _ISourceProxy:
|
|
|
1872
1897
|
typing.cast(typing.Any, ISource).__jsii_proxy_class__ = lambda : _ISourceProxy
|
|
1873
1898
|
|
|
1874
1899
|
|
|
1900
|
+
@jsii.data_type(
|
|
1901
|
+
jsii_type="aws-cdk-lib.aws_s3_deployment.JsonProcessingOptions",
|
|
1902
|
+
jsii_struct_bases=[],
|
|
1903
|
+
name_mapping={"escape": "escape"},
|
|
1904
|
+
)
|
|
1905
|
+
class JsonProcessingOptions:
|
|
1906
|
+
def __init__(self, *, escape: typing.Optional[builtins.bool] = None) -> None:
|
|
1907
|
+
'''Define options which can be passed using the method ``Source.jsonData()``.
|
|
1908
|
+
|
|
1909
|
+
:param escape: If set to ``true``, the marker substitution will make sure the value inserted in the file will be a valid JSON string. Default: - false
|
|
1910
|
+
|
|
1911
|
+
:exampleMetadata: infused
|
|
1912
|
+
|
|
1913
|
+
Example::
|
|
1914
|
+
|
|
1915
|
+
# bucket: s3.Bucket
|
|
1916
|
+
# param: ssm.StringParameter
|
|
1917
|
+
|
|
1918
|
+
|
|
1919
|
+
# Example with a secret value that contains double quotes
|
|
1920
|
+
deployment = s3deploy.BucketDeployment(self, "JsonDeployment",
|
|
1921
|
+
sources=[
|
|
1922
|
+
s3deploy.Source.json_data("config.json", {
|
|
1923
|
+
"api_endpoint": "https://api.example.com",
|
|
1924
|
+
"secret_value": param.string_value, # value with double quotes
|
|
1925
|
+
"config": {
|
|
1926
|
+
"enabled": True,
|
|
1927
|
+
"features": ["feature1", "feature2"]
|
|
1928
|
+
}
|
|
1929
|
+
}, escape=True)
|
|
1930
|
+
],
|
|
1931
|
+
destination_bucket=bucket
|
|
1932
|
+
)
|
|
1933
|
+
'''
|
|
1934
|
+
if __debug__:
|
|
1935
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fd3ea1f1e2f77d50d09982cb82214db60db317cbfc5d9891f173d39c88e742ff)
|
|
1936
|
+
check_type(argname="argument escape", value=escape, expected_type=type_hints["escape"])
|
|
1937
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1938
|
+
if escape is not None:
|
|
1939
|
+
self._values["escape"] = escape
|
|
1940
|
+
|
|
1941
|
+
@builtins.property
|
|
1942
|
+
def escape(self) -> typing.Optional[builtins.bool]:
|
|
1943
|
+
'''If set to ``true``, the marker substitution will make sure the value inserted in the file will be a valid JSON string.
|
|
1944
|
+
|
|
1945
|
+
:default: - false
|
|
1946
|
+
'''
|
|
1947
|
+
result = self._values.get("escape")
|
|
1948
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1949
|
+
|
|
1950
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1951
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1952
|
+
|
|
1953
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1954
|
+
return not (rhs == self)
|
|
1955
|
+
|
|
1956
|
+
def __repr__(self) -> str:
|
|
1957
|
+
return "JsonProcessingOptions(%s)" % ", ".join(
|
|
1958
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1959
|
+
)
|
|
1960
|
+
|
|
1961
|
+
|
|
1962
|
+
@jsii.data_type(
|
|
1963
|
+
jsii_type="aws-cdk-lib.aws_s3_deployment.MarkersConfig",
|
|
1964
|
+
jsii_struct_bases=[],
|
|
1965
|
+
name_mapping={"json_escape": "jsonEscape"},
|
|
1966
|
+
)
|
|
1967
|
+
class MarkersConfig:
|
|
1968
|
+
def __init__(self, *, json_escape: typing.Optional[builtins.bool] = None) -> None:
|
|
1969
|
+
'''A configuration for markers substitution strategy.
|
|
1970
|
+
|
|
1971
|
+
:param json_escape: If set to ``true``, the marker substitution will make ure the value inserted in the file will be a valid JSON string. Default: - false
|
|
1972
|
+
|
|
1973
|
+
:exampleMetadata: fixture=_generated
|
|
1974
|
+
|
|
1975
|
+
Example::
|
|
1976
|
+
|
|
1977
|
+
# The code below shows an example of how to instantiate this type.
|
|
1978
|
+
# The values are placeholders you should change.
|
|
1979
|
+
from aws_cdk import aws_s3_deployment as s3_deployment
|
|
1980
|
+
|
|
1981
|
+
markers_config = s3_deployment.MarkersConfig(
|
|
1982
|
+
json_escape=False
|
|
1983
|
+
)
|
|
1984
|
+
'''
|
|
1985
|
+
if __debug__:
|
|
1986
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c22b4c70cadefb9701fc5773d5fda6fec94ecfa3854d7d72003b50084bc4d20e)
|
|
1987
|
+
check_type(argname="argument json_escape", value=json_escape, expected_type=type_hints["json_escape"])
|
|
1988
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
1989
|
+
if json_escape is not None:
|
|
1990
|
+
self._values["json_escape"] = json_escape
|
|
1991
|
+
|
|
1992
|
+
@builtins.property
|
|
1993
|
+
def json_escape(self) -> typing.Optional[builtins.bool]:
|
|
1994
|
+
'''If set to ``true``, the marker substitution will make ure the value inserted in the file will be a valid JSON string.
|
|
1995
|
+
|
|
1996
|
+
:default: - false
|
|
1997
|
+
'''
|
|
1998
|
+
result = self._values.get("json_escape")
|
|
1999
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2000
|
+
|
|
2001
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2002
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2003
|
+
|
|
2004
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2005
|
+
return not (rhs == self)
|
|
2006
|
+
|
|
2007
|
+
def __repr__(self) -> str:
|
|
2008
|
+
return "MarkersConfig(%s)" % ", ".join(
|
|
2009
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2010
|
+
)
|
|
2011
|
+
|
|
2012
|
+
|
|
1875
2013
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_s3_deployment.ServerSideEncryption")
|
|
1876
2014
|
class ServerSideEncryption(enum.Enum):
|
|
1877
2015
|
'''Indicates whether server-side encryption is enabled for the object, and whether that encryption is from the AWS Key Management Service (AWS KMS) or from Amazon S3 managed encryption (SSE-S3).
|
|
@@ -2038,7 +2176,13 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
|
|
|
2038
2176
|
|
|
2039
2177
|
@jsii.member(jsii_name="data")
|
|
2040
2178
|
@builtins.classmethod
|
|
2041
|
-
def data(
|
|
2179
|
+
def data(
|
|
2180
|
+
cls,
|
|
2181
|
+
object_key: builtins.str,
|
|
2182
|
+
data: builtins.str,
|
|
2183
|
+
*,
|
|
2184
|
+
json_escape: typing.Optional[builtins.bool] = None,
|
|
2185
|
+
) -> ISource:
|
|
2042
2186
|
'''Deploys an object with the specified string contents into the bucket.
|
|
2043
2187
|
|
|
2044
2188
|
The
|
|
@@ -2050,16 +2194,25 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
|
|
|
2050
2194
|
|
|
2051
2195
|
:param object_key: The destination S3 object key (relative to the root of the S3 deployment).
|
|
2052
2196
|
:param data: The data to be stored in the object.
|
|
2197
|
+
:param json_escape: If set to ``true``, the marker substitution will make ure the value inserted in the file will be a valid JSON string. Default: - false
|
|
2053
2198
|
'''
|
|
2054
2199
|
if __debug__:
|
|
2055
2200
|
type_hints = typing.get_type_hints(_typecheckingstub__798b55b643d389adf599acde4d214b0b843e07f8c7984ea0e848f2da7c62822c)
|
|
2056
2201
|
check_type(argname="argument object_key", value=object_key, expected_type=type_hints["object_key"])
|
|
2057
2202
|
check_type(argname="argument data", value=data, expected_type=type_hints["data"])
|
|
2058
|
-
|
|
2203
|
+
markers_config = MarkersConfig(json_escape=json_escape)
|
|
2204
|
+
|
|
2205
|
+
return typing.cast(ISource, jsii.sinvoke(cls, "data", [object_key, data, markers_config]))
|
|
2059
2206
|
|
|
2060
2207
|
@jsii.member(jsii_name="jsonData")
|
|
2061
2208
|
@builtins.classmethod
|
|
2062
|
-
def json_data(
|
|
2209
|
+
def json_data(
|
|
2210
|
+
cls,
|
|
2211
|
+
object_key: builtins.str,
|
|
2212
|
+
obj: typing.Any,
|
|
2213
|
+
*,
|
|
2214
|
+
escape: typing.Optional[builtins.bool] = None,
|
|
2215
|
+
) -> ISource:
|
|
2063
2216
|
'''Deploys an object with the specified JSON object into the bucket.
|
|
2064
2217
|
|
|
2065
2218
|
The
|
|
@@ -2068,12 +2221,15 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
|
|
|
2068
2221
|
|
|
2069
2222
|
:param object_key: The destination S3 object key (relative to the root of the S3 deployment).
|
|
2070
2223
|
:param obj: A JSON object.
|
|
2224
|
+
:param escape: If set to ``true``, the marker substitution will make sure the value inserted in the file will be a valid JSON string. Default: - false
|
|
2071
2225
|
'''
|
|
2072
2226
|
if __debug__:
|
|
2073
2227
|
type_hints = typing.get_type_hints(_typecheckingstub__34bf47f9cf16464b2d85173fbce8786a1afe889c23001b8c7575c49e0bf93ff9)
|
|
2074
2228
|
check_type(argname="argument object_key", value=object_key, expected_type=type_hints["object_key"])
|
|
2075
2229
|
check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"])
|
|
2076
|
-
|
|
2230
|
+
json_processing_options = JsonProcessingOptions(escape=escape)
|
|
2231
|
+
|
|
2232
|
+
return typing.cast(ISource, jsii.sinvoke(cls, "jsonData", [object_key, obj, json_processing_options]))
|
|
2077
2233
|
|
|
2078
2234
|
@jsii.member(jsii_name="yamlData")
|
|
2079
2235
|
@builtins.classmethod
|
|
@@ -2100,6 +2256,7 @@ class Source(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_s3_deployment.S
|
|
|
2100
2256
|
"bucket": "bucket",
|
|
2101
2257
|
"zip_object_key": "zipObjectKey",
|
|
2102
2258
|
"markers": "markers",
|
|
2259
|
+
"markers_config": "markersConfig",
|
|
2103
2260
|
},
|
|
2104
2261
|
)
|
|
2105
2262
|
class SourceConfig:
|
|
@@ -2109,12 +2266,14 @@ class SourceConfig:
|
|
|
2109
2266
|
bucket: _IBucket_42e086fd,
|
|
2110
2267
|
zip_object_key: builtins.str,
|
|
2111
2268
|
markers: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
2269
|
+
markers_config: typing.Optional[typing.Union[MarkersConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2112
2270
|
) -> None:
|
|
2113
2271
|
'''Source information.
|
|
2114
2272
|
|
|
2115
2273
|
:param bucket: The source bucket to deploy from.
|
|
2116
2274
|
:param zip_object_key: An S3 object key in the source bucket that points to a zip file.
|
|
2117
2275
|
:param markers: A set of markers to substitute in the source content. Default: - no markers
|
|
2276
|
+
:param markers_config: A configuration for markers substitution strategy. Default: - no configuration
|
|
2118
2277
|
|
|
2119
2278
|
:exampleMetadata: fixture=_generated
|
|
2120
2279
|
|
|
@@ -2135,20 +2294,28 @@ class SourceConfig:
|
|
|
2135
2294
|
# the properties below are optional
|
|
2136
2295
|
markers={
|
|
2137
2296
|
"markers_key": markers
|
|
2138
|
-
}
|
|
2297
|
+
},
|
|
2298
|
+
markers_config=s3_deployment.MarkersConfig(
|
|
2299
|
+
json_escape=False
|
|
2300
|
+
)
|
|
2139
2301
|
)
|
|
2140
2302
|
'''
|
|
2303
|
+
if isinstance(markers_config, dict):
|
|
2304
|
+
markers_config = MarkersConfig(**markers_config)
|
|
2141
2305
|
if __debug__:
|
|
2142
2306
|
type_hints = typing.get_type_hints(_typecheckingstub__dafa1619bb92595ec0ff7aa95e55221719ed81eb6d2f7d44a84193d810c4265c)
|
|
2143
2307
|
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
2144
2308
|
check_type(argname="argument zip_object_key", value=zip_object_key, expected_type=type_hints["zip_object_key"])
|
|
2145
2309
|
check_type(argname="argument markers", value=markers, expected_type=type_hints["markers"])
|
|
2310
|
+
check_type(argname="argument markers_config", value=markers_config, expected_type=type_hints["markers_config"])
|
|
2146
2311
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2147
2312
|
"bucket": bucket,
|
|
2148
2313
|
"zip_object_key": zip_object_key,
|
|
2149
2314
|
}
|
|
2150
2315
|
if markers is not None:
|
|
2151
2316
|
self._values["markers"] = markers
|
|
2317
|
+
if markers_config is not None:
|
|
2318
|
+
self._values["markers_config"] = markers_config
|
|
2152
2319
|
|
|
2153
2320
|
@builtins.property
|
|
2154
2321
|
def bucket(self) -> _IBucket_42e086fd:
|
|
@@ -2173,6 +2340,15 @@ class SourceConfig:
|
|
|
2173
2340
|
result = self._values.get("markers")
|
|
2174
2341
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Any]], result)
|
|
2175
2342
|
|
|
2343
|
+
@builtins.property
|
|
2344
|
+
def markers_config(self) -> typing.Optional[MarkersConfig]:
|
|
2345
|
+
'''A configuration for markers substitution strategy.
|
|
2346
|
+
|
|
2347
|
+
:default: - no configuration
|
|
2348
|
+
'''
|
|
2349
|
+
result = self._values.get("markers_config")
|
|
2350
|
+
return typing.cast(typing.Optional[MarkersConfig], result)
|
|
2351
|
+
|
|
2176
2352
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2177
2353
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2178
2354
|
|
|
@@ -2278,6 +2454,8 @@ __all__ = [
|
|
|
2278
2454
|
"DeployTimeSubstitutedFileProps",
|
|
2279
2455
|
"DeploymentSourceContext",
|
|
2280
2456
|
"ISource",
|
|
2457
|
+
"JsonProcessingOptions",
|
|
2458
|
+
"MarkersConfig",
|
|
2281
2459
|
"ServerSideEncryption",
|
|
2282
2460
|
"Source",
|
|
2283
2461
|
"SourceConfig",
|
|
@@ -2442,6 +2620,20 @@ def _typecheckingstub__09970416699f317cf422c30f785da12ff6ed72f1358bc0e3e4adcf6e6
|
|
|
2442
2620
|
"""Type checking stubs"""
|
|
2443
2621
|
pass
|
|
2444
2622
|
|
|
2623
|
+
def _typecheckingstub__fd3ea1f1e2f77d50d09982cb82214db60db317cbfc5d9891f173d39c88e742ff(
|
|
2624
|
+
*,
|
|
2625
|
+
escape: typing.Optional[builtins.bool] = None,
|
|
2626
|
+
) -> None:
|
|
2627
|
+
"""Type checking stubs"""
|
|
2628
|
+
pass
|
|
2629
|
+
|
|
2630
|
+
def _typecheckingstub__c22b4c70cadefb9701fc5773d5fda6fec94ecfa3854d7d72003b50084bc4d20e(
|
|
2631
|
+
*,
|
|
2632
|
+
json_escape: typing.Optional[builtins.bool] = None,
|
|
2633
|
+
) -> None:
|
|
2634
|
+
"""Type checking stubs"""
|
|
2635
|
+
pass
|
|
2636
|
+
|
|
2445
2637
|
def _typecheckingstub__fc877c69568cee7364ec77003356fc6818118602dda64adf3dbf38ff7eec10b2(
|
|
2446
2638
|
path: builtins.str,
|
|
2447
2639
|
*,
|
|
@@ -2469,6 +2661,8 @@ def _typecheckingstub__bcaba123a95f1aa9d99f9f5af319da23dd5f345454e757ba925736432
|
|
|
2469
2661
|
def _typecheckingstub__798b55b643d389adf599acde4d214b0b843e07f8c7984ea0e848f2da7c62822c(
|
|
2470
2662
|
object_key: builtins.str,
|
|
2471
2663
|
data: builtins.str,
|
|
2664
|
+
*,
|
|
2665
|
+
json_escape: typing.Optional[builtins.bool] = None,
|
|
2472
2666
|
) -> None:
|
|
2473
2667
|
"""Type checking stubs"""
|
|
2474
2668
|
pass
|
|
@@ -2476,6 +2670,8 @@ def _typecheckingstub__798b55b643d389adf599acde4d214b0b843e07f8c7984ea0e848f2da7
|
|
|
2476
2670
|
def _typecheckingstub__34bf47f9cf16464b2d85173fbce8786a1afe889c23001b8c7575c49e0bf93ff9(
|
|
2477
2671
|
object_key: builtins.str,
|
|
2478
2672
|
obj: typing.Any,
|
|
2673
|
+
*,
|
|
2674
|
+
escape: typing.Optional[builtins.bool] = None,
|
|
2479
2675
|
) -> None:
|
|
2480
2676
|
"""Type checking stubs"""
|
|
2481
2677
|
pass
|
|
@@ -2492,6 +2688,7 @@ def _typecheckingstub__dafa1619bb92595ec0ff7aa95e55221719ed81eb6d2f7d44a84193d81
|
|
|
2492
2688
|
bucket: _IBucket_42e086fd,
|
|
2493
2689
|
zip_object_key: builtins.str,
|
|
2494
2690
|
markers: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
2691
|
+
markers_config: typing.Optional[typing.Union[MarkersConfig, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2495
2692
|
) -> None:
|
|
2496
2693
|
"""Type checking stubs"""
|
|
2497
2694
|
pass
|
aws_cdk/aws_s3tables/__init__.py
CHANGED
|
@@ -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"""
|