aws-cdk-lib 2.199.0__py3-none-any.whl → 2.200.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/__init__.py +22 -24
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.199.0.jsii.tgz → aws-cdk-lib@2.200.0.jsii.tgz} +0 -0
- aws_cdk/aws_acmpca/__init__.py +1 -1
- aws_cdk/aws_apigateway/__init__.py +1 -1
- aws_cdk/aws_applicationautoscaling/__init__.py +4 -4
- aws_cdk/aws_aps/__init__.py +38 -30
- aws_cdk/aws_autoscaling/__init__.py +4 -4
- aws_cdk/aws_bedrock/__init__.py +73 -48
- aws_cdk/aws_cloudformation/__init__.py +17 -23
- aws_cdk/aws_cloudfront_origins/__init__.py +1 -1
- aws_cdk/aws_cloudtrail/__init__.py +4 -4
- aws_cdk/aws_cloudwatch/__init__.py +50 -1
- aws_cdk/aws_codebuild/__init__.py +116 -0
- aws_cdk/aws_datazone/__init__.py +699 -9
- aws_cdk/aws_deadline/__init__.py +38 -10
- aws_cdk/aws_ec2/__init__.py +78 -20
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +7 -7
- aws_cdk/aws_emr/__init__.py +36 -2
- aws_cdk/aws_fsx/__init__.py +122 -0
- aws_cdk/aws_glue/__init__.py +55 -26
- aws_cdk/aws_iam/__init__.py +376 -2
- aws_cdk/aws_iot/__init__.py +57 -5
- aws_cdk/aws_kinesisfirehose/__init__.py +5 -1
- aws_cdk/aws_lambda/__init__.py +65 -45
- aws_cdk/aws_lex/__init__.py +27 -13
- aws_cdk/aws_lightsail/__init__.py +452 -0
- aws_cdk/aws_medialive/__init__.py +699 -497
- aws_cdk/aws_msk/__init__.py +4 -4
- aws_cdk/aws_networkfirewall/__init__.py +9 -5
- aws_cdk/aws_nimblestudio/__init__.py +208 -400
- aws_cdk/aws_panorama/__init__.py +30 -3
- aws_cdk/aws_pcs/__init__.py +12 -5
- aws_cdk/aws_rds/__init__.py +22 -10
- aws_cdk/aws_s3/__init__.py +367 -6
- aws_cdk/aws_s3express/__init__.py +789 -0
- aws_cdk/aws_ses/__init__.py +300 -32
- aws_cdk/aws_sns_subscriptions/__init__.py +256 -1
- aws_cdk/aws_stepfunctions/__init__.py +55 -17
- aws_cdk/aws_synthetics/__init__.py +26 -16
- aws_cdk/aws_voiceid/__init__.py +13 -3
- aws_cdk/cloud_assembly_schema/__init__.py +137 -42
- aws_cdk/cx_api/__init__.py +7 -7
- {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/RECORD +49 -49
- {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.199.0.dist-info → aws_cdk_lib-2.200.0.dist-info}/top_level.txt +0 -0
|
@@ -76,6 +76,686 @@ from .. import (
|
|
|
76
76
|
)
|
|
77
77
|
|
|
78
78
|
|
|
79
|
+
@jsii.implements(_IInspectable_c2943556)
|
|
80
|
+
class CfnAccessPoint(
|
|
81
|
+
_CfnResource_9df397a6,
|
|
82
|
+
metaclass=jsii.JSIIMeta,
|
|
83
|
+
jsii_type="aws-cdk-lib.aws_s3express.CfnAccessPoint",
|
|
84
|
+
):
|
|
85
|
+
'''Access points simplify managing data access at scale for shared datasets in Amazon S3 .
|
|
86
|
+
|
|
87
|
+
Access points are unique hostnames you create to enforce distinct permissions and network controls for all requests made through an access point. You can create hundreds of access points per bucket, each with a distinct name and permissions customized for each application. Each access point works in conjunction with the bucket policy that is attached to the underlying bucket. For more information, see `Managing access to shared datasets in directory buckets with access points <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets.html>`_ .
|
|
88
|
+
|
|
89
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html
|
|
90
|
+
:cloudformationResource: AWS::S3Express::AccessPoint
|
|
91
|
+
:exampleMetadata: fixture=_generated
|
|
92
|
+
|
|
93
|
+
Example::
|
|
94
|
+
|
|
95
|
+
# The code below shows an example of how to instantiate this type.
|
|
96
|
+
# The values are placeholders you should change.
|
|
97
|
+
from aws_cdk import aws_s3express as s3express
|
|
98
|
+
|
|
99
|
+
# policy: Any
|
|
100
|
+
|
|
101
|
+
cfn_access_point = s3express.CfnAccessPoint(self, "MyCfnAccessPoint",
|
|
102
|
+
bucket="bucket",
|
|
103
|
+
|
|
104
|
+
# the properties below are optional
|
|
105
|
+
bucket_account_id="bucketAccountId",
|
|
106
|
+
name="name",
|
|
107
|
+
policy=policy,
|
|
108
|
+
public_access_block_configuration=s3express.CfnAccessPoint.PublicAccessBlockConfigurationProperty(
|
|
109
|
+
block_public_acls=False,
|
|
110
|
+
block_public_policy=False,
|
|
111
|
+
ignore_public_acls=False,
|
|
112
|
+
restrict_public_buckets=False
|
|
113
|
+
),
|
|
114
|
+
scope=s3express.CfnAccessPoint.ScopeProperty(
|
|
115
|
+
permissions=["permissions"],
|
|
116
|
+
prefixes=["prefixes"]
|
|
117
|
+
),
|
|
118
|
+
vpc_configuration=s3express.CfnAccessPoint.VpcConfigurationProperty(
|
|
119
|
+
vpc_id="vpcId"
|
|
120
|
+
)
|
|
121
|
+
)
|
|
122
|
+
'''
|
|
123
|
+
|
|
124
|
+
def __init__(
|
|
125
|
+
self,
|
|
126
|
+
scope_: _constructs_77d1e7e8.Construct,
|
|
127
|
+
id: builtins.str,
|
|
128
|
+
*,
|
|
129
|
+
bucket: builtins.str,
|
|
130
|
+
bucket_account_id: typing.Optional[builtins.str] = None,
|
|
131
|
+
name: typing.Optional[builtins.str] = None,
|
|
132
|
+
policy: typing.Any = None,
|
|
133
|
+
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccessPoint.PublicAccessBlockConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
134
|
+
scope: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccessPoint.ScopeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
135
|
+
vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAccessPoint.VpcConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
136
|
+
) -> None:
|
|
137
|
+
'''
|
|
138
|
+
:param scope_: Scope in which this resource is defined.
|
|
139
|
+
:param id: Construct identifier for this resource (unique in its scope).
|
|
140
|
+
:param bucket: The name of the bucket that you want to associate the access point with.
|
|
141
|
+
:param bucket_account_id: The AWS account ID that owns the bucket associated with this access point.
|
|
142
|
+
:param name: An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix ``--xa-s3`` . For example, accesspointname--zoneID--xa-s3.
|
|
143
|
+
:param policy: The access point policy associated with the specified access point.
|
|
144
|
+
:param public_access_block_configuration: Public access is blocked by default to access points for directory buckets.
|
|
145
|
+
:param scope: You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both. For more information, see `Manage the scope of your access points for directory buckets. <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html>`_
|
|
146
|
+
:param vpc_configuration: If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).
|
|
147
|
+
'''
|
|
148
|
+
if __debug__:
|
|
149
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e5fc3ca5d7f872be531c5db2f2626dbbab094b459144a7d293c09461f39dc391)
|
|
150
|
+
check_type(argname="argument scope_", value=scope_, expected_type=type_hints["scope_"])
|
|
151
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
152
|
+
props = CfnAccessPointProps(
|
|
153
|
+
bucket=bucket,
|
|
154
|
+
bucket_account_id=bucket_account_id,
|
|
155
|
+
name=name,
|
|
156
|
+
policy=policy,
|
|
157
|
+
public_access_block_configuration=public_access_block_configuration,
|
|
158
|
+
scope=scope,
|
|
159
|
+
vpc_configuration=vpc_configuration,
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
jsii.create(self.__class__, self, [scope_, id, props])
|
|
163
|
+
|
|
164
|
+
@jsii.member(jsii_name="inspect")
|
|
165
|
+
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
166
|
+
'''Examines the CloudFormation resource and discloses attributes.
|
|
167
|
+
|
|
168
|
+
:param inspector: tree inspector to collect and process attributes.
|
|
169
|
+
'''
|
|
170
|
+
if __debug__:
|
|
171
|
+
type_hints = typing.get_type_hints(_typecheckingstub__10d052bad8f115c4b5cf2aaa4e73218258b2e771a48bea5518c0d792accadaba)
|
|
172
|
+
check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
|
|
173
|
+
return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
|
|
174
|
+
|
|
175
|
+
@jsii.member(jsii_name="renderProperties")
|
|
176
|
+
def _render_properties(
|
|
177
|
+
self,
|
|
178
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
179
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
180
|
+
'''
|
|
181
|
+
:param props: -
|
|
182
|
+
'''
|
|
183
|
+
if __debug__:
|
|
184
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2e76dd6e5c380f8cf390fdf5b0e1babe4ba751ffa40a682c93aebdb03ac5a759)
|
|
185
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
186
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
|
|
187
|
+
|
|
188
|
+
@jsii.python.classproperty
|
|
189
|
+
@jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
|
|
190
|
+
def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
|
|
191
|
+
'''The CloudFormation resource type name for this resource class.'''
|
|
192
|
+
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
193
|
+
|
|
194
|
+
@builtins.property
|
|
195
|
+
@jsii.member(jsii_name="attrArn")
|
|
196
|
+
def attr_arn(self) -> builtins.str:
|
|
197
|
+
'''The ARN of the access point.
|
|
198
|
+
|
|
199
|
+
:cloudformationAttribute: Arn
|
|
200
|
+
'''
|
|
201
|
+
return typing.cast(builtins.str, jsii.get(self, "attrArn"))
|
|
202
|
+
|
|
203
|
+
@builtins.property
|
|
204
|
+
@jsii.member(jsii_name="attrNetworkOrigin")
|
|
205
|
+
def attr_network_origin(self) -> builtins.str:
|
|
206
|
+
'''The network configuration of the access point.
|
|
207
|
+
|
|
208
|
+
:cloudformationAttribute: NetworkOrigin
|
|
209
|
+
'''
|
|
210
|
+
return typing.cast(builtins.str, jsii.get(self, "attrNetworkOrigin"))
|
|
211
|
+
|
|
212
|
+
@builtins.property
|
|
213
|
+
@jsii.member(jsii_name="cfnProperties")
|
|
214
|
+
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
215
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
216
|
+
|
|
217
|
+
@builtins.property
|
|
218
|
+
@jsii.member(jsii_name="bucket")
|
|
219
|
+
def bucket(self) -> builtins.str:
|
|
220
|
+
'''The name of the bucket that you want to associate the access point with.'''
|
|
221
|
+
return typing.cast(builtins.str, jsii.get(self, "bucket"))
|
|
222
|
+
|
|
223
|
+
@bucket.setter
|
|
224
|
+
def bucket(self, value: builtins.str) -> None:
|
|
225
|
+
if __debug__:
|
|
226
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e1f9ad27f3884dc957ca655b1b0d301bb0cc041fcb3497da06d2fcb1e73ee5a2)
|
|
227
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
228
|
+
jsii.set(self, "bucket", value) # pyright: ignore[reportArgumentType]
|
|
229
|
+
|
|
230
|
+
@builtins.property
|
|
231
|
+
@jsii.member(jsii_name="bucketAccountId")
|
|
232
|
+
def bucket_account_id(self) -> typing.Optional[builtins.str]:
|
|
233
|
+
'''The AWS account ID that owns the bucket associated with this access point.'''
|
|
234
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "bucketAccountId"))
|
|
235
|
+
|
|
236
|
+
@bucket_account_id.setter
|
|
237
|
+
def bucket_account_id(self, value: typing.Optional[builtins.str]) -> None:
|
|
238
|
+
if __debug__:
|
|
239
|
+
type_hints = typing.get_type_hints(_typecheckingstub__05bbf2a5aafbce5a9896abd9ca234cb47f6f4131c53b7226517aee28187499f5)
|
|
240
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
241
|
+
jsii.set(self, "bucketAccountId", value) # pyright: ignore[reportArgumentType]
|
|
242
|
+
|
|
243
|
+
@builtins.property
|
|
244
|
+
@jsii.member(jsii_name="name")
|
|
245
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
246
|
+
'''An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix ``--xa-s3`` .'''
|
|
247
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "name"))
|
|
248
|
+
|
|
249
|
+
@name.setter
|
|
250
|
+
def name(self, value: typing.Optional[builtins.str]) -> None:
|
|
251
|
+
if __debug__:
|
|
252
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a0faa6f9099f8475e8a679e37d0229c90adb5b32bd05a99c722d02ab6db01577)
|
|
253
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
254
|
+
jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
|
|
255
|
+
|
|
256
|
+
@builtins.property
|
|
257
|
+
@jsii.member(jsii_name="policy")
|
|
258
|
+
def policy(self) -> typing.Any:
|
|
259
|
+
'''The access point policy associated with the specified access point.'''
|
|
260
|
+
return typing.cast(typing.Any, jsii.get(self, "policy"))
|
|
261
|
+
|
|
262
|
+
@policy.setter
|
|
263
|
+
def policy(self, value: typing.Any) -> None:
|
|
264
|
+
if __debug__:
|
|
265
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b6b671117e34b3e667db8b935f30294f0e6c79bf19d6262224f7c031a23ddab9)
|
|
266
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
267
|
+
jsii.set(self, "policy", value) # pyright: ignore[reportArgumentType]
|
|
268
|
+
|
|
269
|
+
@builtins.property
|
|
270
|
+
@jsii.member(jsii_name="publicAccessBlockConfiguration")
|
|
271
|
+
def public_access_block_configuration(
|
|
272
|
+
self,
|
|
273
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.PublicAccessBlockConfigurationProperty"]]:
|
|
274
|
+
'''Public access is blocked by default to access points for directory buckets.'''
|
|
275
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.PublicAccessBlockConfigurationProperty"]], jsii.get(self, "publicAccessBlockConfiguration"))
|
|
276
|
+
|
|
277
|
+
@public_access_block_configuration.setter
|
|
278
|
+
def public_access_block_configuration(
|
|
279
|
+
self,
|
|
280
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.PublicAccessBlockConfigurationProperty"]],
|
|
281
|
+
) -> None:
|
|
282
|
+
if __debug__:
|
|
283
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fc74f25f5a3136d66174ea811ed4ae44e659d23502d10285f8bc72b9f01fcc79)
|
|
284
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
285
|
+
jsii.set(self, "publicAccessBlockConfiguration", value) # pyright: ignore[reportArgumentType]
|
|
286
|
+
|
|
287
|
+
@builtins.property
|
|
288
|
+
@jsii.member(jsii_name="scope")
|
|
289
|
+
def scope(
|
|
290
|
+
self,
|
|
291
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.ScopeProperty"]]:
|
|
292
|
+
'''You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.'''
|
|
293
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.ScopeProperty"]], jsii.get(self, "scope"))
|
|
294
|
+
|
|
295
|
+
@scope.setter
|
|
296
|
+
def scope(
|
|
297
|
+
self,
|
|
298
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.ScopeProperty"]],
|
|
299
|
+
) -> None:
|
|
300
|
+
if __debug__:
|
|
301
|
+
type_hints = typing.get_type_hints(_typecheckingstub__48d7fd3100a689dec8bdc6613bf9b51376dd53745e5ef8f3e45a997d4050fbd5)
|
|
302
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
303
|
+
jsii.set(self, "scope", value) # pyright: ignore[reportArgumentType]
|
|
304
|
+
|
|
305
|
+
@builtins.property
|
|
306
|
+
@jsii.member(jsii_name="vpcConfiguration")
|
|
307
|
+
def vpc_configuration(
|
|
308
|
+
self,
|
|
309
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.VpcConfigurationProperty"]]:
|
|
310
|
+
'''If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).'''
|
|
311
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.VpcConfigurationProperty"]], jsii.get(self, "vpcConfiguration"))
|
|
312
|
+
|
|
313
|
+
@vpc_configuration.setter
|
|
314
|
+
def vpc_configuration(
|
|
315
|
+
self,
|
|
316
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAccessPoint.VpcConfigurationProperty"]],
|
|
317
|
+
) -> None:
|
|
318
|
+
if __debug__:
|
|
319
|
+
type_hints = typing.get_type_hints(_typecheckingstub__854fbbe66a8f2a9a585ce20da917f5abf17e2ec117ac4321757853590651821a)
|
|
320
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
321
|
+
jsii.set(self, "vpcConfiguration", value) # pyright: ignore[reportArgumentType]
|
|
322
|
+
|
|
323
|
+
@jsii.data_type(
|
|
324
|
+
jsii_type="aws-cdk-lib.aws_s3express.CfnAccessPoint.PublicAccessBlockConfigurationProperty",
|
|
325
|
+
jsii_struct_bases=[],
|
|
326
|
+
name_mapping={
|
|
327
|
+
"block_public_acls": "blockPublicAcls",
|
|
328
|
+
"block_public_policy": "blockPublicPolicy",
|
|
329
|
+
"ignore_public_acls": "ignorePublicAcls",
|
|
330
|
+
"restrict_public_buckets": "restrictPublicBuckets",
|
|
331
|
+
},
|
|
332
|
+
)
|
|
333
|
+
class PublicAccessBlockConfigurationProperty:
|
|
334
|
+
def __init__(
|
|
335
|
+
self,
|
|
336
|
+
*,
|
|
337
|
+
block_public_acls: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
338
|
+
block_public_policy: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
339
|
+
ignore_public_acls: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
340
|
+
restrict_public_buckets: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
341
|
+
) -> None:
|
|
342
|
+
'''Public access is blocked by default to access points for directory buckets.
|
|
343
|
+
|
|
344
|
+
:param block_public_acls: Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes the following behavior: - PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public. - PUT Object calls fail if the request includes a public ACL. - PUT Bucket calls fail if the request includes a public ACL. Enabling this setting doesn't affect existing policies or ACLs.
|
|
345
|
+
:param block_public_policy: Specifies whether Amazon S3 should block public bucket policies for this bucket. Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access. Enabling this setting doesn't affect existing bucket policies.
|
|
346
|
+
:param ignore_public_acls: Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket. Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket. Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
|
|
347
|
+
:param restrict_public_buckets: Specifies whether Amazon S3 should restrict public bucket policies for this bucket. Setting this element to ``TRUE`` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy. Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
|
|
348
|
+
|
|
349
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-publicaccessblockconfiguration.html
|
|
350
|
+
:exampleMetadata: fixture=_generated
|
|
351
|
+
|
|
352
|
+
Example::
|
|
353
|
+
|
|
354
|
+
# The code below shows an example of how to instantiate this type.
|
|
355
|
+
# The values are placeholders you should change.
|
|
356
|
+
from aws_cdk import aws_s3express as s3express
|
|
357
|
+
|
|
358
|
+
public_access_block_configuration_property = s3express.CfnAccessPoint.PublicAccessBlockConfigurationProperty(
|
|
359
|
+
block_public_acls=False,
|
|
360
|
+
block_public_policy=False,
|
|
361
|
+
ignore_public_acls=False,
|
|
362
|
+
restrict_public_buckets=False
|
|
363
|
+
)
|
|
364
|
+
'''
|
|
365
|
+
if __debug__:
|
|
366
|
+
type_hints = typing.get_type_hints(_typecheckingstub__924486f21cdee22c013a572ef0c9c5dc92b9e7f4938fda2e969703ead9ca77c3)
|
|
367
|
+
check_type(argname="argument block_public_acls", value=block_public_acls, expected_type=type_hints["block_public_acls"])
|
|
368
|
+
check_type(argname="argument block_public_policy", value=block_public_policy, expected_type=type_hints["block_public_policy"])
|
|
369
|
+
check_type(argname="argument ignore_public_acls", value=ignore_public_acls, expected_type=type_hints["ignore_public_acls"])
|
|
370
|
+
check_type(argname="argument restrict_public_buckets", value=restrict_public_buckets, expected_type=type_hints["restrict_public_buckets"])
|
|
371
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
372
|
+
if block_public_acls is not None:
|
|
373
|
+
self._values["block_public_acls"] = block_public_acls
|
|
374
|
+
if block_public_policy is not None:
|
|
375
|
+
self._values["block_public_policy"] = block_public_policy
|
|
376
|
+
if ignore_public_acls is not None:
|
|
377
|
+
self._values["ignore_public_acls"] = ignore_public_acls
|
|
378
|
+
if restrict_public_buckets is not None:
|
|
379
|
+
self._values["restrict_public_buckets"] = restrict_public_buckets
|
|
380
|
+
|
|
381
|
+
@builtins.property
|
|
382
|
+
def block_public_acls(
|
|
383
|
+
self,
|
|
384
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
385
|
+
'''Specifies whether Amazon S3 should block public access control lists (ACLs) for this bucket and objects in this bucket.
|
|
386
|
+
|
|
387
|
+
Setting this element to ``TRUE`` causes the following behavior:
|
|
388
|
+
|
|
389
|
+
- PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.
|
|
390
|
+
- PUT Object calls fail if the request includes a public ACL.
|
|
391
|
+
- PUT Bucket calls fail if the request includes a public ACL.
|
|
392
|
+
|
|
393
|
+
Enabling this setting doesn't affect existing policies or ACLs.
|
|
394
|
+
|
|
395
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-publicaccessblockconfiguration.html#cfn-s3express-accesspoint-publicaccessblockconfiguration-blockpublicacls
|
|
396
|
+
'''
|
|
397
|
+
result = self._values.get("block_public_acls")
|
|
398
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
399
|
+
|
|
400
|
+
@builtins.property
|
|
401
|
+
def block_public_policy(
|
|
402
|
+
self,
|
|
403
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
404
|
+
'''Specifies whether Amazon S3 should block public bucket policies for this bucket.
|
|
405
|
+
|
|
406
|
+
Setting this element to ``TRUE`` causes Amazon S3 to reject calls to PUT Bucket policy if the specified bucket policy allows public access.
|
|
407
|
+
|
|
408
|
+
Enabling this setting doesn't affect existing bucket policies.
|
|
409
|
+
|
|
410
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-publicaccessblockconfiguration.html#cfn-s3express-accesspoint-publicaccessblockconfiguration-blockpublicpolicy
|
|
411
|
+
'''
|
|
412
|
+
result = self._values.get("block_public_policy")
|
|
413
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
414
|
+
|
|
415
|
+
@builtins.property
|
|
416
|
+
def ignore_public_acls(
|
|
417
|
+
self,
|
|
418
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
419
|
+
'''Specifies whether Amazon S3 should ignore public ACLs for this bucket and objects in this bucket.
|
|
420
|
+
|
|
421
|
+
Setting this element to ``TRUE`` causes Amazon S3 to ignore all public ACLs on this bucket and objects in this bucket.
|
|
422
|
+
|
|
423
|
+
Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
|
|
424
|
+
|
|
425
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-publicaccessblockconfiguration.html#cfn-s3express-accesspoint-publicaccessblockconfiguration-ignorepublicacls
|
|
426
|
+
'''
|
|
427
|
+
result = self._values.get("ignore_public_acls")
|
|
428
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
429
|
+
|
|
430
|
+
@builtins.property
|
|
431
|
+
def restrict_public_buckets(
|
|
432
|
+
self,
|
|
433
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
434
|
+
'''Specifies whether Amazon S3 should restrict public bucket policies for this bucket.
|
|
435
|
+
|
|
436
|
+
Setting this element to ``TRUE`` restricts access to this bucket to only AWS service principals and authorized users within this account if the bucket has a public policy.
|
|
437
|
+
|
|
438
|
+
Enabling this setting doesn't affect previously stored bucket policies, except that public and cross-account access within any public bucket policy, including non-public delegation to specific accounts, is blocked.
|
|
439
|
+
|
|
440
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-publicaccessblockconfiguration.html#cfn-s3express-accesspoint-publicaccessblockconfiguration-restrictpublicbuckets
|
|
441
|
+
'''
|
|
442
|
+
result = self._values.get("restrict_public_buckets")
|
|
443
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
444
|
+
|
|
445
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
446
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
447
|
+
|
|
448
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
449
|
+
return not (rhs == self)
|
|
450
|
+
|
|
451
|
+
def __repr__(self) -> str:
|
|
452
|
+
return "PublicAccessBlockConfigurationProperty(%s)" % ", ".join(
|
|
453
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
454
|
+
)
|
|
455
|
+
|
|
456
|
+
@jsii.data_type(
|
|
457
|
+
jsii_type="aws-cdk-lib.aws_s3express.CfnAccessPoint.ScopeProperty",
|
|
458
|
+
jsii_struct_bases=[],
|
|
459
|
+
name_mapping={"permissions": "permissions", "prefixes": "prefixes"},
|
|
460
|
+
)
|
|
461
|
+
class ScopeProperty:
|
|
462
|
+
def __init__(
|
|
463
|
+
self,
|
|
464
|
+
*,
|
|
465
|
+
permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
466
|
+
prefixes: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
467
|
+
) -> None:
|
|
468
|
+
'''You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.
|
|
469
|
+
|
|
470
|
+
For more information, see `Manage the scope of your access points for directory buckets. <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html>`_
|
|
471
|
+
|
|
472
|
+
:param permissions: You can include one or more API operations as permissions.
|
|
473
|
+
:param prefixes: You can specify any amount of prefixes, but the total length of characters of all prefixes must be less than 256 bytes in size.
|
|
474
|
+
|
|
475
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-scope.html
|
|
476
|
+
:exampleMetadata: fixture=_generated
|
|
477
|
+
|
|
478
|
+
Example::
|
|
479
|
+
|
|
480
|
+
# The code below shows an example of how to instantiate this type.
|
|
481
|
+
# The values are placeholders you should change.
|
|
482
|
+
from aws_cdk import aws_s3express as s3express
|
|
483
|
+
|
|
484
|
+
scope_property = s3express.CfnAccessPoint.ScopeProperty(
|
|
485
|
+
permissions=["permissions"],
|
|
486
|
+
prefixes=["prefixes"]
|
|
487
|
+
)
|
|
488
|
+
'''
|
|
489
|
+
if __debug__:
|
|
490
|
+
type_hints = typing.get_type_hints(_typecheckingstub__72899149f7debb2e00ebe596dd77a23a5399ad56a7caca45e5e81d8f22b2f44a)
|
|
491
|
+
check_type(argname="argument permissions", value=permissions, expected_type=type_hints["permissions"])
|
|
492
|
+
check_type(argname="argument prefixes", value=prefixes, expected_type=type_hints["prefixes"])
|
|
493
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
494
|
+
if permissions is not None:
|
|
495
|
+
self._values["permissions"] = permissions
|
|
496
|
+
if prefixes is not None:
|
|
497
|
+
self._values["prefixes"] = prefixes
|
|
498
|
+
|
|
499
|
+
@builtins.property
|
|
500
|
+
def permissions(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
501
|
+
'''You can include one or more API operations as permissions.
|
|
502
|
+
|
|
503
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-scope.html#cfn-s3express-accesspoint-scope-permissions
|
|
504
|
+
'''
|
|
505
|
+
result = self._values.get("permissions")
|
|
506
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
507
|
+
|
|
508
|
+
@builtins.property
|
|
509
|
+
def prefixes(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
510
|
+
'''You can specify any amount of prefixes, but the total length of characters of all prefixes must be less than 256 bytes in size.
|
|
511
|
+
|
|
512
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-scope.html#cfn-s3express-accesspoint-scope-prefixes
|
|
513
|
+
'''
|
|
514
|
+
result = self._values.get("prefixes")
|
|
515
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
516
|
+
|
|
517
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
518
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
519
|
+
|
|
520
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
521
|
+
return not (rhs == self)
|
|
522
|
+
|
|
523
|
+
def __repr__(self) -> str:
|
|
524
|
+
return "ScopeProperty(%s)" % ", ".join(
|
|
525
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
526
|
+
)
|
|
527
|
+
|
|
528
|
+
@jsii.data_type(
|
|
529
|
+
jsii_type="aws-cdk-lib.aws_s3express.CfnAccessPoint.VpcConfigurationProperty",
|
|
530
|
+
jsii_struct_bases=[],
|
|
531
|
+
name_mapping={"vpc_id": "vpcId"},
|
|
532
|
+
)
|
|
533
|
+
class VpcConfigurationProperty:
|
|
534
|
+
def __init__(self, *, vpc_id: typing.Optional[builtins.str] = None) -> None:
|
|
535
|
+
'''The Virtual Private Cloud (VPC) configuration for a bucket access point.
|
|
536
|
+
|
|
537
|
+
:param vpc_id: If this field is specified, this access point will only allow connections from the specified VPC ID.
|
|
538
|
+
|
|
539
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-vpcconfiguration.html
|
|
540
|
+
:exampleMetadata: fixture=_generated
|
|
541
|
+
|
|
542
|
+
Example::
|
|
543
|
+
|
|
544
|
+
# The code below shows an example of how to instantiate this type.
|
|
545
|
+
# The values are placeholders you should change.
|
|
546
|
+
from aws_cdk import aws_s3express as s3express
|
|
547
|
+
|
|
548
|
+
vpc_configuration_property = s3express.CfnAccessPoint.VpcConfigurationProperty(
|
|
549
|
+
vpc_id="vpcId"
|
|
550
|
+
)
|
|
551
|
+
'''
|
|
552
|
+
if __debug__:
|
|
553
|
+
type_hints = typing.get_type_hints(_typecheckingstub__19e3009de93f19fb706fa644304d8806cbdc834cc18dec326b5586987113cce6)
|
|
554
|
+
check_type(argname="argument vpc_id", value=vpc_id, expected_type=type_hints["vpc_id"])
|
|
555
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
556
|
+
if vpc_id is not None:
|
|
557
|
+
self._values["vpc_id"] = vpc_id
|
|
558
|
+
|
|
559
|
+
@builtins.property
|
|
560
|
+
def vpc_id(self) -> typing.Optional[builtins.str]:
|
|
561
|
+
'''If this field is specified, this access point will only allow connections from the specified VPC ID.
|
|
562
|
+
|
|
563
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3express-accesspoint-vpcconfiguration.html#cfn-s3express-accesspoint-vpcconfiguration-vpcid
|
|
564
|
+
'''
|
|
565
|
+
result = self._values.get("vpc_id")
|
|
566
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
567
|
+
|
|
568
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
569
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
570
|
+
|
|
571
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
572
|
+
return not (rhs == self)
|
|
573
|
+
|
|
574
|
+
def __repr__(self) -> str:
|
|
575
|
+
return "VpcConfigurationProperty(%s)" % ", ".join(
|
|
576
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
577
|
+
)
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
@jsii.data_type(
|
|
581
|
+
jsii_type="aws-cdk-lib.aws_s3express.CfnAccessPointProps",
|
|
582
|
+
jsii_struct_bases=[],
|
|
583
|
+
name_mapping={
|
|
584
|
+
"bucket": "bucket",
|
|
585
|
+
"bucket_account_id": "bucketAccountId",
|
|
586
|
+
"name": "name",
|
|
587
|
+
"policy": "policy",
|
|
588
|
+
"public_access_block_configuration": "publicAccessBlockConfiguration",
|
|
589
|
+
"scope": "scope",
|
|
590
|
+
"vpc_configuration": "vpcConfiguration",
|
|
591
|
+
},
|
|
592
|
+
)
|
|
593
|
+
class CfnAccessPointProps:
|
|
594
|
+
def __init__(
|
|
595
|
+
self,
|
|
596
|
+
*,
|
|
597
|
+
bucket: builtins.str,
|
|
598
|
+
bucket_account_id: typing.Optional[builtins.str] = None,
|
|
599
|
+
name: typing.Optional[builtins.str] = None,
|
|
600
|
+
policy: typing.Any = None,
|
|
601
|
+
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.PublicAccessBlockConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
602
|
+
scope: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.ScopeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
603
|
+
vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.VpcConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
604
|
+
) -> None:
|
|
605
|
+
'''Properties for defining a ``CfnAccessPoint``.
|
|
606
|
+
|
|
607
|
+
:param bucket: The name of the bucket that you want to associate the access point with.
|
|
608
|
+
:param bucket_account_id: The AWS account ID that owns the bucket associated with this access point.
|
|
609
|
+
:param name: An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix ``--xa-s3`` . For example, accesspointname--zoneID--xa-s3.
|
|
610
|
+
:param policy: The access point policy associated with the specified access point.
|
|
611
|
+
:param public_access_block_configuration: Public access is blocked by default to access points for directory buckets.
|
|
612
|
+
:param scope: You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both. For more information, see `Manage the scope of your access points for directory buckets. <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html>`_
|
|
613
|
+
:param vpc_configuration: If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).
|
|
614
|
+
|
|
615
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html
|
|
616
|
+
:exampleMetadata: fixture=_generated
|
|
617
|
+
|
|
618
|
+
Example::
|
|
619
|
+
|
|
620
|
+
# The code below shows an example of how to instantiate this type.
|
|
621
|
+
# The values are placeholders you should change.
|
|
622
|
+
from aws_cdk import aws_s3express as s3express
|
|
623
|
+
|
|
624
|
+
# policy: Any
|
|
625
|
+
|
|
626
|
+
cfn_access_point_props = s3express.CfnAccessPointProps(
|
|
627
|
+
bucket="bucket",
|
|
628
|
+
|
|
629
|
+
# the properties below are optional
|
|
630
|
+
bucket_account_id="bucketAccountId",
|
|
631
|
+
name="name",
|
|
632
|
+
policy=policy,
|
|
633
|
+
public_access_block_configuration=s3express.CfnAccessPoint.PublicAccessBlockConfigurationProperty(
|
|
634
|
+
block_public_acls=False,
|
|
635
|
+
block_public_policy=False,
|
|
636
|
+
ignore_public_acls=False,
|
|
637
|
+
restrict_public_buckets=False
|
|
638
|
+
),
|
|
639
|
+
scope=s3express.CfnAccessPoint.ScopeProperty(
|
|
640
|
+
permissions=["permissions"],
|
|
641
|
+
prefixes=["prefixes"]
|
|
642
|
+
),
|
|
643
|
+
vpc_configuration=s3express.CfnAccessPoint.VpcConfigurationProperty(
|
|
644
|
+
vpc_id="vpcId"
|
|
645
|
+
)
|
|
646
|
+
)
|
|
647
|
+
'''
|
|
648
|
+
if __debug__:
|
|
649
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2ec03a7d5826304628784add6c3daf7da7d66e0c0d94fd92f203f6842dda50d0)
|
|
650
|
+
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
651
|
+
check_type(argname="argument bucket_account_id", value=bucket_account_id, expected_type=type_hints["bucket_account_id"])
|
|
652
|
+
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
653
|
+
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
654
|
+
check_type(argname="argument public_access_block_configuration", value=public_access_block_configuration, expected_type=type_hints["public_access_block_configuration"])
|
|
655
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
656
|
+
check_type(argname="argument vpc_configuration", value=vpc_configuration, expected_type=type_hints["vpc_configuration"])
|
|
657
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
658
|
+
"bucket": bucket,
|
|
659
|
+
}
|
|
660
|
+
if bucket_account_id is not None:
|
|
661
|
+
self._values["bucket_account_id"] = bucket_account_id
|
|
662
|
+
if name is not None:
|
|
663
|
+
self._values["name"] = name
|
|
664
|
+
if policy is not None:
|
|
665
|
+
self._values["policy"] = policy
|
|
666
|
+
if public_access_block_configuration is not None:
|
|
667
|
+
self._values["public_access_block_configuration"] = public_access_block_configuration
|
|
668
|
+
if scope is not None:
|
|
669
|
+
self._values["scope"] = scope
|
|
670
|
+
if vpc_configuration is not None:
|
|
671
|
+
self._values["vpc_configuration"] = vpc_configuration
|
|
672
|
+
|
|
673
|
+
@builtins.property
|
|
674
|
+
def bucket(self) -> builtins.str:
|
|
675
|
+
'''The name of the bucket that you want to associate the access point with.
|
|
676
|
+
|
|
677
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html#cfn-s3express-accesspoint-bucket
|
|
678
|
+
'''
|
|
679
|
+
result = self._values.get("bucket")
|
|
680
|
+
assert result is not None, "Required property 'bucket' is missing"
|
|
681
|
+
return typing.cast(builtins.str, result)
|
|
682
|
+
|
|
683
|
+
@builtins.property
|
|
684
|
+
def bucket_account_id(self) -> typing.Optional[builtins.str]:
|
|
685
|
+
'''The AWS account ID that owns the bucket associated with this access point.
|
|
686
|
+
|
|
687
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html#cfn-s3express-accesspoint-bucketaccountid
|
|
688
|
+
'''
|
|
689
|
+
result = self._values.get("bucket_account_id")
|
|
690
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
691
|
+
|
|
692
|
+
@builtins.property
|
|
693
|
+
def name(self) -> typing.Optional[builtins.str]:
|
|
694
|
+
'''An access point name consists of a base name you provide, followed by the zoneID ( AWS Local Zone) followed by the prefix ``--xa-s3`` .
|
|
695
|
+
|
|
696
|
+
For example, accesspointname--zoneID--xa-s3.
|
|
697
|
+
|
|
698
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html#cfn-s3express-accesspoint-name
|
|
699
|
+
'''
|
|
700
|
+
result = self._values.get("name")
|
|
701
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
702
|
+
|
|
703
|
+
@builtins.property
|
|
704
|
+
def policy(self) -> typing.Any:
|
|
705
|
+
'''The access point policy associated with the specified access point.
|
|
706
|
+
|
|
707
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html#cfn-s3express-accesspoint-policy
|
|
708
|
+
'''
|
|
709
|
+
result = self._values.get("policy")
|
|
710
|
+
return typing.cast(typing.Any, result)
|
|
711
|
+
|
|
712
|
+
@builtins.property
|
|
713
|
+
def public_access_block_configuration(
|
|
714
|
+
self,
|
|
715
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.PublicAccessBlockConfigurationProperty]]:
|
|
716
|
+
'''Public access is blocked by default to access points for directory buckets.
|
|
717
|
+
|
|
718
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html#cfn-s3express-accesspoint-publicaccessblockconfiguration
|
|
719
|
+
'''
|
|
720
|
+
result = self._values.get("public_access_block_configuration")
|
|
721
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.PublicAccessBlockConfigurationProperty]], result)
|
|
722
|
+
|
|
723
|
+
@builtins.property
|
|
724
|
+
def scope(
|
|
725
|
+
self,
|
|
726
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.ScopeProperty]]:
|
|
727
|
+
'''You can use the access point scope to restrict access to specific prefixes, API operations, or a combination of both.
|
|
728
|
+
|
|
729
|
+
For more information, see `Manage the scope of your access points for directory buckets. <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-directory-buckets-manage-scope.html>`_
|
|
730
|
+
|
|
731
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html#cfn-s3express-accesspoint-scope
|
|
732
|
+
'''
|
|
733
|
+
result = self._values.get("scope")
|
|
734
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.ScopeProperty]], result)
|
|
735
|
+
|
|
736
|
+
@builtins.property
|
|
737
|
+
def vpc_configuration(
|
|
738
|
+
self,
|
|
739
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.VpcConfigurationProperty]]:
|
|
740
|
+
'''If you include this field, Amazon S3 restricts access to this access point to requests from the specified virtual private cloud (VPC).
|
|
741
|
+
|
|
742
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3express-accesspoint.html#cfn-s3express-accesspoint-vpcconfiguration
|
|
743
|
+
'''
|
|
744
|
+
result = self._values.get("vpc_configuration")
|
|
745
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.VpcConfigurationProperty]], result)
|
|
746
|
+
|
|
747
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
748
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
749
|
+
|
|
750
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
751
|
+
return not (rhs == self)
|
|
752
|
+
|
|
753
|
+
def __repr__(self) -> str:
|
|
754
|
+
return "CfnAccessPointProps(%s)" % ", ".join(
|
|
755
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
756
|
+
)
|
|
757
|
+
|
|
758
|
+
|
|
79
759
|
@jsii.implements(_IInspectable_c2943556)
|
|
80
760
|
class CfnBucketPolicy(
|
|
81
761
|
_CfnResource_9df397a6,
|
|
@@ -1269,6 +1949,8 @@ class CfnDirectoryBucketProps:
|
|
|
1269
1949
|
|
|
1270
1950
|
|
|
1271
1951
|
__all__ = [
|
|
1952
|
+
"CfnAccessPoint",
|
|
1953
|
+
"CfnAccessPointProps",
|
|
1272
1954
|
"CfnBucketPolicy",
|
|
1273
1955
|
"CfnBucketPolicyProps",
|
|
1274
1956
|
"CfnDirectoryBucket",
|
|
@@ -1277,6 +1959,113 @@ __all__ = [
|
|
|
1277
1959
|
|
|
1278
1960
|
publication.publish()
|
|
1279
1961
|
|
|
1962
|
+
def _typecheckingstub__e5fc3ca5d7f872be531c5db2f2626dbbab094b459144a7d293c09461f39dc391(
|
|
1963
|
+
scope_: _constructs_77d1e7e8.Construct,
|
|
1964
|
+
id: builtins.str,
|
|
1965
|
+
*,
|
|
1966
|
+
bucket: builtins.str,
|
|
1967
|
+
bucket_account_id: typing.Optional[builtins.str] = None,
|
|
1968
|
+
name: typing.Optional[builtins.str] = None,
|
|
1969
|
+
policy: typing.Any = None,
|
|
1970
|
+
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.PublicAccessBlockConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1971
|
+
scope: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.ScopeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1972
|
+
vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.VpcConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1973
|
+
) -> None:
|
|
1974
|
+
"""Type checking stubs"""
|
|
1975
|
+
pass
|
|
1976
|
+
|
|
1977
|
+
def _typecheckingstub__10d052bad8f115c4b5cf2aaa4e73218258b2e771a48bea5518c0d792accadaba(
|
|
1978
|
+
inspector: _TreeInspector_488e0dd5,
|
|
1979
|
+
) -> None:
|
|
1980
|
+
"""Type checking stubs"""
|
|
1981
|
+
pass
|
|
1982
|
+
|
|
1983
|
+
def _typecheckingstub__2e76dd6e5c380f8cf390fdf5b0e1babe4ba751ffa40a682c93aebdb03ac5a759(
|
|
1984
|
+
props: typing.Mapping[builtins.str, typing.Any],
|
|
1985
|
+
) -> None:
|
|
1986
|
+
"""Type checking stubs"""
|
|
1987
|
+
pass
|
|
1988
|
+
|
|
1989
|
+
def _typecheckingstub__e1f9ad27f3884dc957ca655b1b0d301bb0cc041fcb3497da06d2fcb1e73ee5a2(
|
|
1990
|
+
value: builtins.str,
|
|
1991
|
+
) -> None:
|
|
1992
|
+
"""Type checking stubs"""
|
|
1993
|
+
pass
|
|
1994
|
+
|
|
1995
|
+
def _typecheckingstub__05bbf2a5aafbce5a9896abd9ca234cb47f6f4131c53b7226517aee28187499f5(
|
|
1996
|
+
value: typing.Optional[builtins.str],
|
|
1997
|
+
) -> None:
|
|
1998
|
+
"""Type checking stubs"""
|
|
1999
|
+
pass
|
|
2000
|
+
|
|
2001
|
+
def _typecheckingstub__a0faa6f9099f8475e8a679e37d0229c90adb5b32bd05a99c722d02ab6db01577(
|
|
2002
|
+
value: typing.Optional[builtins.str],
|
|
2003
|
+
) -> None:
|
|
2004
|
+
"""Type checking stubs"""
|
|
2005
|
+
pass
|
|
2006
|
+
|
|
2007
|
+
def _typecheckingstub__b6b671117e34b3e667db8b935f30294f0e6c79bf19d6262224f7c031a23ddab9(
|
|
2008
|
+
value: typing.Any,
|
|
2009
|
+
) -> None:
|
|
2010
|
+
"""Type checking stubs"""
|
|
2011
|
+
pass
|
|
2012
|
+
|
|
2013
|
+
def _typecheckingstub__fc74f25f5a3136d66174ea811ed4ae44e659d23502d10285f8bc72b9f01fcc79(
|
|
2014
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.PublicAccessBlockConfigurationProperty]],
|
|
2015
|
+
) -> None:
|
|
2016
|
+
"""Type checking stubs"""
|
|
2017
|
+
pass
|
|
2018
|
+
|
|
2019
|
+
def _typecheckingstub__48d7fd3100a689dec8bdc6613bf9b51376dd53745e5ef8f3e45a997d4050fbd5(
|
|
2020
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.ScopeProperty]],
|
|
2021
|
+
) -> None:
|
|
2022
|
+
"""Type checking stubs"""
|
|
2023
|
+
pass
|
|
2024
|
+
|
|
2025
|
+
def _typecheckingstub__854fbbe66a8f2a9a585ce20da917f5abf17e2ec117ac4321757853590651821a(
|
|
2026
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAccessPoint.VpcConfigurationProperty]],
|
|
2027
|
+
) -> None:
|
|
2028
|
+
"""Type checking stubs"""
|
|
2029
|
+
pass
|
|
2030
|
+
|
|
2031
|
+
def _typecheckingstub__924486f21cdee22c013a572ef0c9c5dc92b9e7f4938fda2e969703ead9ca77c3(
|
|
2032
|
+
*,
|
|
2033
|
+
block_public_acls: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2034
|
+
block_public_policy: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2035
|
+
ignore_public_acls: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2036
|
+
restrict_public_buckets: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
2037
|
+
) -> None:
|
|
2038
|
+
"""Type checking stubs"""
|
|
2039
|
+
pass
|
|
2040
|
+
|
|
2041
|
+
def _typecheckingstub__72899149f7debb2e00ebe596dd77a23a5399ad56a7caca45e5e81d8f22b2f44a(
|
|
2042
|
+
*,
|
|
2043
|
+
permissions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2044
|
+
prefixes: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2045
|
+
) -> None:
|
|
2046
|
+
"""Type checking stubs"""
|
|
2047
|
+
pass
|
|
2048
|
+
|
|
2049
|
+
def _typecheckingstub__19e3009de93f19fb706fa644304d8806cbdc834cc18dec326b5586987113cce6(
|
|
2050
|
+
*,
|
|
2051
|
+
vpc_id: typing.Optional[builtins.str] = None,
|
|
2052
|
+
) -> None:
|
|
2053
|
+
"""Type checking stubs"""
|
|
2054
|
+
pass
|
|
2055
|
+
|
|
2056
|
+
def _typecheckingstub__2ec03a7d5826304628784add6c3daf7da7d66e0c0d94fd92f203f6842dda50d0(
|
|
2057
|
+
*,
|
|
2058
|
+
bucket: builtins.str,
|
|
2059
|
+
bucket_account_id: typing.Optional[builtins.str] = None,
|
|
2060
|
+
name: typing.Optional[builtins.str] = None,
|
|
2061
|
+
policy: typing.Any = None,
|
|
2062
|
+
public_access_block_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.PublicAccessBlockConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2063
|
+
scope: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.ScopeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2064
|
+
vpc_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAccessPoint.VpcConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2065
|
+
) -> None:
|
|
2066
|
+
"""Type checking stubs"""
|
|
2067
|
+
pass
|
|
2068
|
+
|
|
1280
2069
|
def _typecheckingstub__c7ae0c19fbf2c7c716bc3304458f2695912d196d3e7439999f721b69fdbfc5a0(
|
|
1281
2070
|
scope: _constructs_77d1e7e8.Construct,
|
|
1282
2071
|
id: builtins.str,
|