UNPKG

197 kBTypeScriptView Raw
1import * as cdk from '@aws-cdk/core';
2import * as cfn_parse from '@aws-cdk/core/lib/helpers-internal';
3/**
4 * Properties for defining a `CfnAccessPoint`
5 *
6 * @struct
7 * @stability external
8 *
9 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html
10 */
11export interface CfnAccessPointProps {
12 /**
13 * The name of the bucket associated with this access point.
14 *
15 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucket
16 */
17 readonly bucket: string;
18 /**
19 * The AWS account ID associated with the S3 bucket associated with this access point.
20 *
21 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucketaccountid
22 */
23 readonly bucketAccountId?: string;
24 /**
25 * The name of this access point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.
26 *
27 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name
28 */
29 readonly name?: string;
30 /**
31 * The access point policy associated with this access point.
32 *
33 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy
34 */
35 readonly policy?: any | cdk.IResolvable;
36 /**
37 * `AWS::S3::AccessPoint.PolicyStatus`
38 *
39 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policystatus
40 */
41 readonly policyStatus?: any | cdk.IResolvable;
42 /**
43 * The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of "Public"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .
44 *
45 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration
46 */
47 readonly publicAccessBlockConfiguration?: CfnAccessPoint.PublicAccessBlockConfigurationProperty | cdk.IResolvable;
48 /**
49 * The Virtual Private Cloud (VPC) configuration for this access point, if one exists.
50 *
51 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-vpcconfiguration
52 */
53 readonly vpcConfiguration?: CfnAccessPoint.VpcConfigurationProperty | cdk.IResolvable;
54}
55/**
56 * A CloudFormation `AWS::S3::AccessPoint`
57 *
58 * The AWS::S3::AccessPoint resource is an Amazon S3 resource type that you can use to access buckets.
59 *
60 * @cloudformationResource AWS::S3::AccessPoint
61 * @stability external
62 *
63 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html
64 */
65export declare class CfnAccessPoint extends cdk.CfnResource implements cdk.IInspectable {
66 /**
67 * The CloudFormation resource type name for this resource class.
68 */
69 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::S3::AccessPoint";
70 /**
71 * A factory method that creates a new instance of this class from an object
72 * containing the CloudFormation properties of this resource.
73 * Used in the @aws-cdk/cloudformation-include module.
74 *
75 * @internal
76 */
77 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnAccessPoint;
78 /**
79 * The alias for this access point.
80 * @cloudformationAttribute Alias
81 */
82 readonly attrAlias: string;
83 /**
84 * This property contains the details of the ARN for the access point.
85 * @cloudformationAttribute Arn
86 */
87 readonly attrArn: string;
88 /**
89 * The name of this access point.
90 * @cloudformationAttribute Name
91 */
92 readonly attrName: string;
93 /**
94 * Indicates whether this access point allows access from the internet. If `VpcConfiguration` is specified for this access point, then `NetworkOrigin` is `VPC` , and the access point doesn't allow access from the internet. Otherwise, `NetworkOrigin` is `Internet` , and the access point allows access from the internet, subject to the access point and bucket access policies.
95 *
96 * *Allowed values* : `VPC` | `Internet`
97 * @cloudformationAttribute NetworkOrigin
98 */
99 readonly attrNetworkOrigin: string;
100 /**
101 * The name of the bucket associated with this access point.
102 *
103 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucket
104 */
105 bucket: string;
106 /**
107 * The AWS account ID associated with the S3 bucket associated with this access point.
108 *
109 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-bucketaccountid
110 */
111 bucketAccountId: string | undefined;
112 /**
113 * The name of this access point. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the access point name.
114 *
115 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-name
116 */
117 name: string | undefined;
118 /**
119 * The access point policy associated with this access point.
120 *
121 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policy
122 */
123 policy: any | cdk.IResolvable | undefined;
124 /**
125 * `AWS::S3::AccessPoint.PolicyStatus`
126 *
127 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-policystatus
128 */
129 policyStatus: any | cdk.IResolvable | undefined;
130 /**
131 * The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of "Public"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .
132 *
133 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-publicaccessblockconfiguration
134 */
135 publicAccessBlockConfiguration: CfnAccessPoint.PublicAccessBlockConfigurationProperty | cdk.IResolvable | undefined;
136 /**
137 * The Virtual Private Cloud (VPC) configuration for this access point, if one exists.
138 *
139 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-accesspoint.html#cfn-s3-accesspoint-vpcconfiguration
140 */
141 vpcConfiguration: CfnAccessPoint.VpcConfigurationProperty | cdk.IResolvable | undefined;
142 /**
143 * Create a new `AWS::S3::AccessPoint`.
144 *
145 * @param scope - scope in which this resource is defined
146 * @param id - scoped id of the resource
147 * @param props - resource properties
148 */
149 constructor(scope: cdk.Construct, id: string, props: CfnAccessPointProps);
150 /**
151 * Examines the CloudFormation resource and discloses attributes.
152 *
153 * @param inspector - tree inspector to collect and process attributes
154 *
155 */
156 inspect(inspector: cdk.TreeInspector): void;
157 protected get cfnProperties(): {
158 [key: string]: any;
159 };
160 protected renderProperties(props: {
161 [key: string]: any;
162 }): {
163 [key: string]: any;
164 };
165}
166export declare namespace CfnAccessPoint {
167 /**
168 *
169 *
170 * @struct
171 * @stability external
172 *
173 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-policystatus.html
174 */
175 interface PolicyStatusProperty {
176 /**
177 * `CfnAccessPoint.PolicyStatusProperty.IsPublic`
178 *
179 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-policystatus.html#cfn-s3-accesspoint-policystatus-ispublic
180 */
181 readonly isPublic?: string;
182 }
183}
184export declare namespace CfnAccessPoint {
185 /**
186 * The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of "Public"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .
187 *
188 * @struct
189 * @stability external
190 *
191 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html
192 */
193 interface PublicAccessBlockConfigurationProperty {
194 /**
195 * 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:
196 *
197 * - PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.
198 * - PUT Object calls fail if the request includes a public ACL.
199 * - PUT Bucket calls fail if the request includes a public ACL.
200 *
201 * Enabling this setting doesn't affect existing policies or ACLs.
202 *
203 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicacls
204 */
205 readonly blockPublicAcls?: boolean | cdk.IResolvable;
206 /**
207 * 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.
208 *
209 * Enabling this setting doesn't affect existing bucket policies.
210 *
211 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-blockpublicpolicy
212 */
213 readonly blockPublicPolicy?: boolean | cdk.IResolvable;
214 /**
215 * 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.
216 *
217 * Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
218 *
219 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-ignorepublicacls
220 */
221 readonly ignorePublicAcls?: boolean | cdk.IResolvable;
222 /**
223 * 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.
224 *
225 * 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.
226 *
227 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-publicaccessblockconfiguration.html#cfn-s3-accesspoint-publicaccessblockconfiguration-restrictpublicbuckets
228 */
229 readonly restrictPublicBuckets?: boolean | cdk.IResolvable;
230 }
231}
232export declare namespace CfnAccessPoint {
233 /**
234 * The Virtual Private Cloud (VPC) configuration for this access point.
235 *
236 * @struct
237 * @stability external
238 *
239 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html
240 */
241 interface VpcConfigurationProperty {
242 /**
243 * If this field is specified, the access point will only allow connections from the specified VPC ID.
244 *
245 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-accesspoint-vpcconfiguration.html#cfn-s3-accesspoint-vpcconfiguration-vpcid
246 */
247 readonly vpcId?: string;
248 }
249}
250/**
251 * Properties for defining a `CfnBucket`
252 *
253 * @struct
254 * @stability external
255 *
256 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html
257 */
258export interface CfnBucketProps {
259 /**
260 * Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .
261 *
262 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accelerateconfiguration
263 */
264 readonly accelerateConfiguration?: CfnBucket.AccelerateConfigurationProperty | cdk.IResolvable;
265 /**
266 * A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* .
267 *
268 * Be aware that the syntax for this property differs from the information provided in the *Amazon S3 User Guide* . The AccessControl property is case-sensitive and must be one of the following values: Private, PublicRead, PublicReadWrite, AuthenticatedRead, LogDeliveryWrite, BucketOwnerRead, BucketOwnerFullControl, or AwsExecRead.
269 *
270 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accesscontrol
271 */
272 readonly accessControl?: string;
273 /**
274 * Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.
275 *
276 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-analyticsconfigurations
277 */
278 readonly analyticsConfigurations?: Array<CfnBucket.AnalyticsConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
279 /**
280 * Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS) bucket. For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .
281 *
282 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-bucketencryption
283 */
284 readonly bucketEncryption?: CfnBucket.BucketEncryptionProperty | cdk.IResolvable;
285 /**
286 * A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) . For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide* .
287 *
288 * > If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
289 *
290 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name
291 */
292 readonly bucketName?: string;
293 /**
294 * Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .
295 *
296 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-crossoriginconfig
297 */
298 readonly corsConfiguration?: CfnBucket.CorsConfigurationProperty | cdk.IResolvable;
299 /**
300 * Defines how Amazon S3 handles Intelligent-Tiering storage.
301 *
302 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-intelligenttieringconfigurations
303 */
304 readonly intelligentTieringConfigurations?: Array<CfnBucket.IntelligentTieringConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
305 /**
306 * Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .
307 *
308 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-inventoryconfigurations
309 */
310 readonly inventoryConfigurations?: Array<CfnBucket.InventoryConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
311 /**
312 * Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .
313 *
314 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-lifecycleconfig
315 */
316 readonly lifecycleConfiguration?: CfnBucket.LifecycleConfigurationProperty | cdk.IResolvable;
317 /**
318 * Settings that define where logs are stored.
319 *
320 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-loggingconfig
321 */
322 readonly loggingConfiguration?: CfnBucket.LoggingConfigurationProperty | cdk.IResolvable;
323 /**
324 * Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) .
325 *
326 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-metricsconfigurations
327 */
328 readonly metricsConfigurations?: Array<CfnBucket.MetricsConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
329 /**
330 * Configuration that defines how Amazon S3 handles bucket notifications.
331 *
332 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-notification
333 */
334 readonly notificationConfiguration?: CfnBucket.NotificationConfigurationProperty | cdk.IResolvable;
335 /**
336 * Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .
337 *
338 * > - The `DefaultRetention` settings require both a mode and a period.
339 * > - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.
340 * > - You can only enable Object Lock for new buckets. If you want to turn on Object Lock for an existing bucket, contact AWS Support.
341 *
342 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockconfiguration
343 */
344 readonly objectLockConfiguration?: CfnBucket.ObjectLockConfigurationProperty | cdk.IResolvable;
345 /**
346 * Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.
347 *
348 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockenabled
349 */
350 readonly objectLockEnabled?: boolean | cdk.IResolvable;
351 /**
352 * Configuration that defines how Amazon S3 handles Object Ownership rules.
353 *
354 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-ownershipcontrols
355 */
356 readonly ownershipControls?: CfnBucket.OwnershipControlsProperty | cdk.IResolvable;
357 /**
358 * Configuration that defines how Amazon S3 handles public access.
359 *
360 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-publicaccessblockconfiguration
361 */
362 readonly publicAccessBlockConfiguration?: CfnBucket.PublicAccessBlockConfigurationProperty | cdk.IResolvable;
363 /**
364 * Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the `VersioningConfiguration` property.
365 *
366 * Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.
367 *
368 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-replicationconfiguration
369 */
370 readonly replicationConfiguration?: CfnBucket.ReplicationConfigurationProperty | cdk.IResolvable;
371 /**
372 * An arbitrary set of tags (key-value pairs) for this S3 bucket.
373 *
374 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-tags
375 */
376 readonly tags?: cdk.CfnTag[];
377 /**
378 * Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.
379 *
380 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-versioning
381 */
382 readonly versioningConfiguration?: CfnBucket.VersioningConfigurationProperty | cdk.IResolvable;
383 /**
384 * Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) .
385 *
386 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-websiteconfiguration
387 */
388 readonly websiteConfiguration?: CfnBucket.WebsiteConfigurationProperty | cdk.IResolvable;
389}
390/**
391 * A CloudFormation `AWS::S3::Bucket`
392 *
393 * The `AWS::S3::Bucket` resource creates an Amazon S3 bucket in the same AWS Region where you create the AWS CloudFormation stack.
394 *
395 * To control how AWS CloudFormation handles the bucket when the stack is deleted, you can set a deletion policy for your bucket. You can choose to *retain* the bucket or to *delete* the bucket. For more information, see [DeletionPolicy Attribute](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) .
396 *
397 * > You can only delete empty buckets. Deletion fails for buckets that have contents.
398 *
399 * @cloudformationResource AWS::S3::Bucket
400 * @stability external
401 *
402 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html
403 */
404export declare class CfnBucket extends cdk.CfnResource implements cdk.IInspectable {
405 /**
406 * The CloudFormation resource type name for this resource class.
407 */
408 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::S3::Bucket";
409 /**
410 * A factory method that creates a new instance of this class from an object
411 * containing the CloudFormation properties of this resource.
412 * Used in the @aws-cdk/cloudformation-include module.
413 *
414 * @internal
415 */
416 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBucket;
417 /**
418 * Returns the Amazon Resource Name (ARN) of the specified bucket.
419 *
420 * Example: `arn:aws:s3:::DOC-EXAMPLE-BUCKET`
421 * @cloudformationAttribute Arn
422 */
423 readonly attrArn: string;
424 /**
425 * Returns the IPv4 DNS name of the specified bucket.
426 *
427 * Example: `DOC-EXAMPLE-BUCKET.s3.amazonaws.com`
428 * @cloudformationAttribute DomainName
429 */
430 readonly attrDomainName: string;
431 /**
432 * Returns the IPv6 DNS name of the specified bucket.
433 *
434 * Example: `DOC-EXAMPLE-BUCKET.s3.dualstack.us-east-2.amazonaws.com`
435 *
436 * For more information about dual-stack endpoints, see [Using Amazon S3 Dual-Stack Endpoints](https://docs.aws.amazon.com/AmazonS3/latest/dev/dual-stack-endpoints.html) .
437 * @cloudformationAttribute DualStackDomainName
438 */
439 readonly attrDualStackDomainName: string;
440 /**
441 * Returns the regional domain name of the specified bucket.
442 *
443 * Example: `DOC-EXAMPLE-BUCKET.s3.us-east-2.amazonaws.com`
444 * @cloudformationAttribute RegionalDomainName
445 */
446 readonly attrRegionalDomainName: string;
447 /**
448 * Returns the Amazon S3 website endpoint for the specified bucket.
449 *
450 * Example (IPv4): `http://DOC-EXAMPLE-BUCKET.s3-website.us-east-2.amazonaws.com`
451 *
452 * Example (IPv6): `http://DOC-EXAMPLE-BUCKET.s3.dualstack.us-east-2.amazonaws.com`
453 * @cloudformationAttribute WebsiteURL
454 */
455 readonly attrWebsiteUrl: string;
456 /**
457 * Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .
458 *
459 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accelerateconfiguration
460 */
461 accelerateConfiguration: CfnBucket.AccelerateConfigurationProperty | cdk.IResolvable | undefined;
462 /**
463 * A canned access control list (ACL) that grants predefined permissions to the bucket. For more information about canned ACLs, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl) in the *Amazon S3 User Guide* .
464 *
465 * Be aware that the syntax for this property differs from the information provided in the *Amazon S3 User Guide* . The AccessControl property is case-sensitive and must be one of the following values: Private, PublicRead, PublicReadWrite, AuthenticatedRead, LogDeliveryWrite, BucketOwnerRead, BucketOwnerFullControl, or AwsExecRead.
466 *
467 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-accesscontrol
468 */
469 accessControl: string | undefined;
470 /**
471 * Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.
472 *
473 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-analyticsconfigurations
474 */
475 analyticsConfigurations: Array<CfnBucket.AnalyticsConfigurationProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
476 /**
477 * Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS) bucket. For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .
478 *
479 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-bucketencryption
480 */
481 bucketEncryption: CfnBucket.BucketEncryptionProperty | cdk.IResolvable | undefined;
482 /**
483 * A name for the bucket. If you don't specify a name, AWS CloudFormation generates a unique ID and uses that ID for the bucket name. The bucket name must contain only lowercase letters, numbers, periods (.), and dashes (-) and must follow [Amazon S3 bucket restrictions and limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) . For more information, see [Rules for naming Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html#bucketnamingrules) in the *Amazon S3 User Guide* .
484 *
485 * > If you specify a name, you can't perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you need to replace the resource, specify a new name.
486 *
487 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name
488 */
489 bucketName: string | undefined;
490 /**
491 * Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .
492 *
493 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-crossoriginconfig
494 */
495 corsConfiguration: CfnBucket.CorsConfigurationProperty | cdk.IResolvable | undefined;
496 /**
497 * Defines how Amazon S3 handles Intelligent-Tiering storage.
498 *
499 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-intelligenttieringconfigurations
500 */
501 intelligentTieringConfigurations: Array<CfnBucket.IntelligentTieringConfigurationProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
502 /**
503 * Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .
504 *
505 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-inventoryconfigurations
506 */
507 inventoryConfigurations: Array<CfnBucket.InventoryConfigurationProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
508 /**
509 * Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .
510 *
511 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-lifecycleconfig
512 */
513 lifecycleConfiguration: CfnBucket.LifecycleConfigurationProperty | cdk.IResolvable | undefined;
514 /**
515 * Settings that define where logs are stored.
516 *
517 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-loggingconfig
518 */
519 loggingConfiguration: CfnBucket.LoggingConfigurationProperty | cdk.IResolvable | undefined;
520 /**
521 * Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For more information, see [PutBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) .
522 *
523 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-metricsconfigurations
524 */
525 metricsConfigurations: Array<CfnBucket.MetricsConfigurationProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
526 /**
527 * Configuration that defines how Amazon S3 handles bucket notifications.
528 *
529 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-notification
530 */
531 notificationConfiguration: CfnBucket.NotificationConfigurationProperty | cdk.IResolvable | undefined;
532 /**
533 * Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .
534 *
535 * > - The `DefaultRetention` settings require both a mode and a period.
536 * > - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.
537 * > - You can only enable Object Lock for new buckets. If you want to turn on Object Lock for an existing bucket, contact AWS Support.
538 *
539 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockconfiguration
540 */
541 objectLockConfiguration: CfnBucket.ObjectLockConfigurationProperty | cdk.IResolvable | undefined;
542 /**
543 * Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.
544 *
545 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-objectlockenabled
546 */
547 objectLockEnabled: boolean | cdk.IResolvable | undefined;
548 /**
549 * Configuration that defines how Amazon S3 handles Object Ownership rules.
550 *
551 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-ownershipcontrols
552 */
553 ownershipControls: CfnBucket.OwnershipControlsProperty | cdk.IResolvable | undefined;
554 /**
555 * Configuration that defines how Amazon S3 handles public access.
556 *
557 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-publicaccessblockconfiguration
558 */
559 publicAccessBlockConfiguration: CfnBucket.PublicAccessBlockConfigurationProperty | cdk.IResolvable | undefined;
560 /**
561 * Configuration for replicating objects in an S3 bucket. To enable replication, you must also enable versioning by using the `VersioningConfiguration` property.
562 *
563 * Amazon S3 can store replicated objects in a single destination bucket or multiple destination buckets. The destination bucket or buckets must already exist.
564 *
565 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-replicationconfiguration
566 */
567 replicationConfiguration: CfnBucket.ReplicationConfigurationProperty | cdk.IResolvable | undefined;
568 /**
569 * An arbitrary set of tags (key-value pairs) for this S3 bucket.
570 *
571 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-tags
572 */
573 readonly tags: cdk.TagManager;
574 /**
575 * Enables multiple versions of all objects in this bucket. You might enable versioning to prevent objects from being deleted or overwritten by mistake or to archive objects so that you can retrieve previous versions of them.
576 *
577 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-versioning
578 */
579 versioningConfiguration: CfnBucket.VersioningConfigurationProperty | cdk.IResolvable | undefined;
580 /**
581 * Information used to configure the bucket as a static website. For more information, see [Hosting Websites on Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) .
582 *
583 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-websiteconfiguration
584 */
585 websiteConfiguration: CfnBucket.WebsiteConfigurationProperty | cdk.IResolvable | undefined;
586 /**
587 * Create a new `AWS::S3::Bucket`.
588 *
589 * @param scope - scope in which this resource is defined
590 * @param id - scoped id of the resource
591 * @param props - resource properties
592 */
593 constructor(scope: cdk.Construct, id: string, props?: CfnBucketProps);
594 /**
595 * Examines the CloudFormation resource and discloses attributes.
596 *
597 * @param inspector - tree inspector to collect and process attributes
598 *
599 */
600 inspect(inspector: cdk.TreeInspector): void;
601 protected get cfnProperties(): {
602 [key: string]: any;
603 };
604 protected renderProperties(props: {
605 [key: string]: any;
606 }): {
607 [key: string]: any;
608 };
609}
610export declare namespace CfnBucket {
611 /**
612 * Specifies the days since the initiation of an incomplete multipart upload that Amazon S3 will wait before permanently removing all parts of the upload. For more information, see [Stopping Incomplete Multipart Uploads Using a Bucket Lifecycle Policy](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) in the *Amazon S3 User Guide* .
613 *
614 * @struct
615 * @stability external
616 *
617 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-abortincompletemultipartupload.html
618 */
619 interface AbortIncompleteMultipartUploadProperty {
620 /**
621 * Specifies the number of days after which Amazon S3 stops an incomplete multipart upload.
622 *
623 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-abortincompletemultipartupload.html#cfn-s3-bucket-abortincompletemultipartupload-daysafterinitiation
624 */
625 readonly daysAfterInitiation: number;
626 }
627}
628export declare namespace CfnBucket {
629 /**
630 * Configures the transfer acceleration state for an Amazon S3 bucket. For more information, see [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) in the *Amazon S3 User Guide* .
631 *
632 * @struct
633 * @stability external
634 *
635 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accelerateconfiguration.html
636 */
637 interface AccelerateConfigurationProperty {
638 /**
639 * Specifies the transfer acceleration status of the bucket.
640 *
641 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accelerateconfiguration.html#cfn-s3-bucket-accelerateconfiguration-accelerationstatus
642 */
643 readonly accelerationStatus: string;
644 }
645}
646export declare namespace CfnBucket {
647 /**
648 * Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.
649 *
650 * @struct
651 * @stability external
652 *
653 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accesscontroltranslation.html
654 */
655 interface AccessControlTranslationProperty {
656 /**
657 * Specifies the replica ownership. For default and valid values, see [PUT bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) in the *Amazon S3 API Reference* .
658 *
659 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-accesscontroltranslation.html#cfn-s3-bucket-accesscontroltranslation-owner
660 */
661 readonly owner: string;
662 }
663}
664export declare namespace CfnBucket {
665 /**
666 * Specifies the configuration and any analyses for the analytics filter of an Amazon S3 bucket.
667 *
668 * @struct
669 * @stability external
670 *
671 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html
672 */
673 interface AnalyticsConfigurationProperty {
674 /**
675 * The ID that identifies the analytics configuration.
676 *
677 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-id
678 */
679 readonly id: string;
680 /**
681 * The prefix that an object must have to be included in the analytics results.
682 *
683 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-prefix
684 */
685 readonly prefix?: string;
686 /**
687 * Contains data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes.
688 *
689 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-storageclassanalysis
690 */
691 readonly storageClassAnalysis: CfnBucket.StorageClassAnalysisProperty | cdk.IResolvable;
692 /**
693 * The tags to use when evaluating an analytics filter.
694 *
695 * The analytics only includes objects that meet the filter's criteria. If no filter is specified, all of the contents of the bucket are included in the analysis.
696 *
697 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-analyticsconfiguration.html#cfn-s3-bucket-analyticsconfiguration-tagfilters
698 */
699 readonly tagFilters?: Array<CfnBucket.TagFilterProperty | cdk.IResolvable> | cdk.IResolvable;
700 }
701}
702export declare namespace CfnBucket {
703 /**
704 * Specifies default encryption for a bucket using server-side encryption with Amazon S3-managed keys (SSE-S3) or AWS KMS-managed keys (SSE-KMS) bucket. For information about the Amazon S3 default encryption feature, see [Amazon S3 Default Encryption for S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the *Amazon S3 User Guide* .
705 *
706 * @struct
707 * @stability external
708 *
709 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html
710 */
711 interface BucketEncryptionProperty {
712 /**
713 * Specifies the default server-side-encryption configuration.
714 *
715 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-bucketencryption.html#cfn-s3-bucket-bucketencryption-serversideencryptionconfiguration
716 */
717 readonly serverSideEncryptionConfiguration: Array<CfnBucket.ServerSideEncryptionRuleProperty | cdk.IResolvable> | cdk.IResolvable;
718 }
719}
720export declare namespace CfnBucket {
721 /**
722 * Describes the cross-origin access configuration for objects in an Amazon S3 bucket. For more information, see [Enabling Cross-Origin Resource Sharing](https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the *Amazon S3 User Guide* .
723 *
724 * @struct
725 * @stability external
726 *
727 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html
728 */
729 interface CorsConfigurationProperty {
730 /**
731 * A set of origins and methods (cross-origin access that you want to allow). You can add up to 100 rules to the configuration.
732 *
733 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors.html#cfn-s3-bucket-cors-corsrule
734 */
735 readonly corsRules: Array<CfnBucket.CorsRuleProperty | cdk.IResolvable> | cdk.IResolvable;
736 }
737}
738export declare namespace CfnBucket {
739 /**
740 * Specifies a cross-origin access rule for an Amazon S3 bucket.
741 *
742 * @struct
743 * @stability external
744 *
745 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html
746 */
747 interface CorsRuleProperty {
748 /**
749 * Headers that are specified in the `Access-Control-Request-Headers` header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.
750 *
751 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedheaders
752 */
753 readonly allowedHeaders?: string[];
754 /**
755 * An HTTP method that you allow the origin to run.
756 *
757 * *Allowed values* : `GET` | `PUT` | `HEAD` | `POST` | `DELETE`
758 *
759 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedmethods
760 */
761 readonly allowedMethods: string[];
762 /**
763 * One or more origins you want customers to be able to access the bucket from.
764 *
765 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-allowedorigins
766 */
767 readonly allowedOrigins: string[];
768 /**
769 * One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript `XMLHttpRequest` object).
770 *
771 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-exposedheaders
772 */
773 readonly exposedHeaders?: string[];
774 /**
775 * A unique identifier for this rule. The value must be no more than 255 characters.
776 *
777 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-id
778 */
779 readonly id?: string;
780 /**
781 * The time in seconds that your browser is to cache the preflight response for the specified resource.
782 *
783 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-cors-corsrule.html#cfn-s3-bucket-cors-corsrule-maxage
784 */
785 readonly maxAge?: number;
786 }
787}
788export declare namespace CfnBucket {
789 /**
790 * Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.
791 *
792 * @struct
793 * @stability external
794 *
795 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html
796 */
797 interface DataExportProperty {
798 /**
799 * The place to store the data for an analysis.
800 *
801 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html#cfn-s3-bucket-dataexport-destination
802 */
803 readonly destination: CfnBucket.DestinationProperty | cdk.IResolvable;
804 /**
805 * The version of the output schema to use when exporting data. Must be `V_1` .
806 *
807 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-dataexport.html#cfn-s3-bucket-dataexport-outputschemaversion
808 */
809 readonly outputSchemaVersion: string;
810 }
811}
812export declare namespace CfnBucket {
813 /**
814 * The container element for specifying the default Object Lock retention settings for new objects placed in the specified bucket.
815 *
816 * > - The `DefaultRetention` settings require both a mode and a period.
817 * > - The `DefaultRetention` period can be either `Days` or `Years` but you must select one. You cannot specify `Days` and `Years` at the same time.
818 *
819 * @struct
820 * @stability external
821 *
822 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html
823 */
824 interface DefaultRetentionProperty {
825 /**
826 * The number of days that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .
827 *
828 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-days
829 */
830 readonly days?: number;
831 /**
832 * The default Object Lock retention mode you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .
833 *
834 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-mode
835 */
836 readonly mode?: string;
837 /**
838 * The number of years that you want to specify for the default retention period. If Object Lock is turned on, you must specify `Mode` and specify either `Days` or `Years` .
839 *
840 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html#cfn-s3-bucket-defaultretention-years
841 */
842 readonly years?: number;
843 }
844}
845export declare namespace CfnBucket {
846 /**
847 * Specifies whether Amazon S3 replicates delete markers. If you specify a `Filter` in your replication configuration, you must also include a `DeleteMarkerReplication` element. If your `Filter` includes a `Tag` element, the `DeleteMarkerReplication` `Status` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) .
848 *
849 * For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) .
850 *
851 * > If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) .
852 *
853 * @struct
854 * @stability external
855 *
856 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html
857 */
858 interface DeleteMarkerReplicationProperty {
859 /**
860 * Indicates whether to replicate delete markers. Disabled by default.
861 *
862 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-deletemarkerreplication.html#cfn-s3-bucket-deletemarkerreplication-status
863 */
864 readonly status?: string;
865 }
866}
867export declare namespace CfnBucket {
868 /**
869 * Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.
870 *
871 * @struct
872 * @stability external
873 *
874 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html
875 */
876 interface DestinationProperty {
877 /**
878 * The account ID that owns the destination S3 bucket. If no account ID is provided, the owner is not validated before exporting data.
879 *
880 * > Although this value is optional, we strongly recommend that you set it to help prevent problems if the destination bucket ownership changes.
881 *
882 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-bucketaccountid
883 */
884 readonly bucketAccountId?: string;
885 /**
886 * The Amazon Resource Name (ARN) of the bucket to which data is exported.
887 *
888 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-bucketarn
889 */
890 readonly bucketArn: string;
891 /**
892 * Specifies the file format used when exporting data to Amazon S3.
893 *
894 * *Allowed values* : `CSV` | `ORC` | `Parquet`
895 *
896 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-format
897 */
898 readonly format: string;
899 /**
900 * The prefix to use when exporting data. The prefix is prepended to all results.
901 *
902 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-destination.html#cfn-s3-bucket-destination-prefix
903 */
904 readonly prefix?: string;
905 }
906}
907export declare namespace CfnBucket {
908 /**
909 * Specifies encryption-related information for an Amazon S3 bucket that is a destination for replicated objects.
910 *
911 * @struct
912 * @stability external
913 *
914 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-encryptionconfiguration.html
915 */
916 interface EncryptionConfigurationProperty {
917 /**
918 * Specifies the ID (Key ARN or Alias ARN) of the customer managed AWS KMS key stored in AWS Key Management Service (KMS) for the destination bucket. Amazon S3 uses this key to encrypt replica objects. Amazon S3 only supports symmetric encryption KMS keys. For more information, see [Asymmetric keys in AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .
919 *
920 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-encryptionconfiguration.html#cfn-s3-bucket-encryptionconfiguration-replicakmskeyid
921 */
922 readonly replicaKmsKeyId: string;
923 }
924}
925export declare namespace CfnBucket {
926 /**
927 * Amazon S3 can send events to Amazon EventBridge whenever certain events happen in your bucket, see [Using EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html) in the *Amazon S3 User Guide* .
928 *
929 * Unlike other destinations, delivery of events to EventBridge can be either enabled or disabled for a bucket. If enabled, all events will be sent to EventBridge and you can use EventBridge rules to route events to additional targets. For more information, see [What Is Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) in the *Amazon EventBridge User Guide*
930 *
931 * @struct
932 * @stability external
933 *
934 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-eventbridgeconfig.html
935 */
936 interface EventBridgeConfigurationProperty {
937 /**
938 * Enables delivery of events to Amazon EventBridge.
939 *
940 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-eventbridgeconfig.html#cfn-s3-bucket-eventbridgeconfiguration-eventbridgeenabled
941 */
942 readonly eventBridgeEnabled?: boolean | cdk.IResolvable;
943 }
944}
945export declare namespace CfnBucket {
946 /**
947 * Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or prefix of the key name.
948 *
949 * @struct
950 * @stability external
951 *
952 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html
953 */
954 interface FilterRuleProperty {
955 /**
956 * The object key name prefix or suffix identifying one or more objects to which the filtering rule applies. The maximum length is 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, see [Configuring Event Notifications](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .
957 *
958 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules-name
959 */
960 readonly name: string;
961 /**
962 * The value that the filter searches for in object key names.
963 *
964 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key-rules.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules-value
965 */
966 readonly value: string;
967 }
968}
969export declare namespace CfnBucket {
970 /**
971 * Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.
972 *
973 * For information about the S3 Intelligent-Tiering storage class, see [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) .
974 *
975 * @struct
976 * @stability external
977 *
978 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html
979 */
980 interface IntelligentTieringConfigurationProperty {
981 /**
982 * The ID used to identify the S3 Intelligent-Tiering configuration.
983 *
984 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-id
985 */
986 readonly id: string;
987 /**
988 * An object key name prefix that identifies the subset of objects to which the rule applies.
989 *
990 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-prefix
991 */
992 readonly prefix?: string;
993 /**
994 * Specifies the status of the configuration.
995 *
996 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-status
997 */
998 readonly status: string;
999 /**
1000 * A container for a key-value pair.
1001 *
1002 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-tagfilters
1003 */
1004 readonly tagFilters?: Array<CfnBucket.TagFilterProperty | cdk.IResolvable> | cdk.IResolvable;
1005 /**
1006 * Specifies a list of S3 Intelligent-Tiering storage class tiers in the configuration. At least one tier must be defined in the list. At most, you can specify two tiers in the list, one for each available AccessTier: `ARCHIVE_ACCESS` and `DEEP_ARCHIVE_ACCESS` .
1007 *
1008 * > You only need Intelligent Tiering Configuration enabled on a bucket if you want to automatically move objects stored in the Intelligent-Tiering storage class to Archive Access or Deep Archive Access tiers.
1009 *
1010 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-intelligenttieringconfiguration.html#cfn-s3-bucket-intelligenttieringconfiguration-tierings
1011 */
1012 readonly tierings: Array<CfnBucket.TieringProperty | cdk.IResolvable> | cdk.IResolvable;
1013 }
1014}
1015export declare namespace CfnBucket {
1016 /**
1017 * Specifies the inventory configuration for an Amazon S3 bucket. For more information, see [GET Bucket inventory](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html) in the *Amazon S3 API Reference* .
1018 *
1019 * @struct
1020 * @stability external
1021 *
1022 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html
1023 */
1024 interface InventoryConfigurationProperty {
1025 /**
1026 * Contains information about where to publish the inventory results.
1027 *
1028 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-destination
1029 */
1030 readonly destination: CfnBucket.DestinationProperty | cdk.IResolvable;
1031 /**
1032 * Specifies whether the inventory is enabled or disabled. If set to `True` , an inventory list is generated. If set to `False` , no inventory list is generated.
1033 *
1034 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-enabled
1035 */
1036 readonly enabled: boolean | cdk.IResolvable;
1037 /**
1038 * The ID used to identify the inventory configuration.
1039 *
1040 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-id
1041 */
1042 readonly id: string;
1043 /**
1044 * Object versions to include in the inventory list. If set to `All` , the list includes all the object versions, which adds the version-related fields `VersionId` , `IsLatest` , and `DeleteMarker` to the list. If set to `Current` , the list does not contain these version-related fields.
1045 *
1046 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-includedobjectversions
1047 */
1048 readonly includedObjectVersions: string;
1049 /**
1050 * Contains the optional fields that are included in the inventory results.
1051 *
1052 * *Valid values* : `Size | LastModifiedDate | StorageClass | ETag | IsMultipartUploaded | ReplicationStatus | EncryptionStatus | ObjectLockRetainUntilDate | ObjectLockMode | ObjectLockLegalHoldStatus | IntelligentTieringAccessTier | BucketKeyStatus`
1053 *
1054 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-optionalfields
1055 */
1056 readonly optionalFields?: string[];
1057 /**
1058 * Specifies the inventory filter prefix.
1059 *
1060 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-prefix
1061 */
1062 readonly prefix?: string;
1063 /**
1064 * Specifies the schedule for generating inventory results.
1065 *
1066 * *Allowed values* : `Daily` | `Weekly`
1067 *
1068 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-inventoryconfiguration.html#cfn-s3-bucket-inventoryconfiguration-schedulefrequency
1069 */
1070 readonly scheduleFrequency: string;
1071 }
1072}
1073export declare namespace CfnBucket {
1074 /**
1075 * Describes the AWS Lambda functions to invoke and the events for which to invoke them.
1076 *
1077 * @struct
1078 * @stability external
1079 *
1080 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html
1081 */
1082 interface LambdaConfigurationProperty {
1083 /**
1084 * The Amazon S3 bucket event for which to invoke the AWS Lambda function. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .
1085 *
1086 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-event
1087 */
1088 readonly event: string;
1089 /**
1090 * The filtering rules that determine which objects invoke the AWS Lambda function. For example, you can create a filter so that only image files with a `.jpg` extension invoke the function when they are added to the Amazon S3 bucket.
1091 *
1092 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-filter
1093 */
1094 readonly filter?: CfnBucket.NotificationFilterProperty | cdk.IResolvable;
1095 /**
1096 * The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon S3 invokes when the specified event type occurs.
1097 *
1098 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-function
1099 */
1100 readonly function: string;
1101 }
1102}
1103export declare namespace CfnBucket {
1104 /**
1105 * Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For more information, see [Object Lifecycle Management](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) in the *Amazon S3 User Guide* .
1106 *
1107 * @struct
1108 * @stability external
1109 *
1110 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html
1111 */
1112 interface LifecycleConfigurationProperty {
1113 /**
1114 * A lifecycle rule for individual objects in an Amazon S3 bucket.
1115 *
1116 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig.html#cfn-s3-bucket-lifecycleconfig-rules
1117 */
1118 readonly rules: Array<CfnBucket.RuleProperty | cdk.IResolvable> | cdk.IResolvable;
1119 }
1120}
1121export declare namespace CfnBucket {
1122 /**
1123 * Describes where logs are stored and the prefix that Amazon S3 assigns to all log object keys for a bucket. For examples and more information, see [PUT Bucket logging](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) in the *Amazon S3 API Reference* .
1124 *
1125 * > To successfully complete the `AWS::S3::Bucket LoggingConfiguration` request, you must have `s3:PutObject` and `s3:PutObjectAcl` in your IAM permissions.
1126 *
1127 * @struct
1128 * @stability external
1129 *
1130 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html
1131 */
1132 interface LoggingConfigurationProperty {
1133 /**
1134 * The name of the bucket where Amazon S3 should store server access log files. You can store log files in any bucket that you own. By default, logs are stored in the bucket where the `LoggingConfiguration` property is defined.
1135 *
1136 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html#cfn-s3-bucket-loggingconfig-destinationbucketname
1137 */
1138 readonly destinationBucketName?: string;
1139 /**
1140 * A prefix for all log object keys. If you store log files from multiple Amazon S3 buckets in a single bucket, you can use a prefix to distinguish which log files came from which bucket.
1141 *
1142 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-loggingconfig.html#cfn-s3-bucket-loggingconfig-logfileprefix
1143 */
1144 readonly logFilePrefix?: string;
1145 }
1146}
1147export declare namespace CfnBucket {
1148 /**
1149 * A container specifying replication metrics-related settings enabling replication metrics and events.
1150 *
1151 * @struct
1152 * @stability external
1153 *
1154 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html
1155 */
1156 interface MetricsProperty {
1157 /**
1158 * A container specifying the time threshold for emitting the `s3:Replication:OperationMissedThreshold` event.
1159 *
1160 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-eventthreshold
1161 */
1162 readonly eventThreshold?: CfnBucket.ReplicationTimeValueProperty | cdk.IResolvable;
1163 /**
1164 * Specifies whether the replication metrics are enabled.
1165 *
1166 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metrics.html#cfn-s3-bucket-metrics-status
1167 */
1168 readonly status: string;
1169 }
1170}
1171export declare namespace CfnBucket {
1172 /**
1173 * Specifies a metrics configuration for the CloudWatch request metrics (specified by the metrics configuration ID) from an Amazon S3 bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased. For examples, see [AWS::S3::Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#aws-properties-s3-bucket--examples) . For more information, see [PUT Bucket metrics](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html) in the *Amazon S3 API Reference* .
1174 *
1175 * @struct
1176 * @stability external
1177 *
1178 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html
1179 */
1180 interface MetricsConfigurationProperty {
1181 /**
1182 * The access point that was used while performing operations on the object. The metrics configuration only includes objects that meet the filter's criteria.
1183 *
1184 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-accesspointarn
1185 */
1186 readonly accessPointArn?: string;
1187 /**
1188 * The ID used to identify the metrics configuration. This can be any value you choose that helps you identify your metrics configuration.
1189 *
1190 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-id
1191 */
1192 readonly id: string;
1193 /**
1194 * The prefix that an object must have to be included in the metrics results.
1195 *
1196 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-prefix
1197 */
1198 readonly prefix?: string;
1199 /**
1200 * Specifies a list of tag filters to use as a metrics configuration filter. The metrics configuration includes only objects that meet the filter's criteria.
1201 *
1202 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-metricsconfiguration.html#cfn-s3-bucket-metricsconfiguration-tagfilters
1203 */
1204 readonly tagFilters?: Array<CfnBucket.TagFilterProperty | cdk.IResolvable> | cdk.IResolvable;
1205 }
1206}
1207export declare namespace CfnBucket {
1208 /**
1209 * Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.
1210 *
1211 * @struct
1212 * @stability external
1213 *
1214 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration.html
1215 */
1216 interface NoncurrentVersionExpirationProperty {
1217 /**
1218 * Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .
1219 *
1220 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration-newernoncurrentversions
1221 */
1222 readonly newerNoncurrentVersions?: number;
1223 /**
1224 * Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates When an Object Became Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .
1225 *
1226 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration-noncurrentdays
1227 */
1228 readonly noncurrentDays: number;
1229 }
1230}
1231export declare namespace CfnBucket {
1232 /**
1233 * Container for the transition rule that describes when noncurrent objects transition to the `STANDARD_IA` , `ONEZONE_IA` , `INTELLIGENT_TIERING` , `GLACIER_IR` , `GLACIER` , or `DEEP_ARCHIVE` storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the `STANDARD_IA` , `ONEZONE_IA` , `INTELLIGENT_TIERING` , `GLACIER_IR` , `GLACIER` , or `DEEP_ARCHIVE` storage class at a specific period in the object's lifetime. If you specify this property, don't specify the `NoncurrentVersionTransitions` property.
1234 *
1235 * @struct
1236 * @stability external
1237 *
1238 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html
1239 */
1240 interface NoncurrentVersionTransitionProperty {
1241 /**
1242 * Specifies how many noncurrent versions Amazon S3 will retain. If there are this many more recent noncurrent versions, Amazon S3 will take the associated action. For more information about noncurrent versions, see [Lifecycle configuration elements](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html) in the *Amazon S3 User Guide* .
1243 *
1244 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition-newernoncurrentversions
1245 */
1246 readonly newerNoncurrentVersions?: number;
1247 /**
1248 * The class of storage used to store the object.
1249 *
1250 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition-storageclass
1251 */
1252 readonly storageClass: string;
1253 /**
1254 * Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see [How Amazon S3 Calculates How Long an Object Has Been Noncurrent](https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations) in the *Amazon S3 User Guide* .
1255 *
1256 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition-transitionindays
1257 */
1258 readonly transitionInDays: number;
1259 }
1260}
1261export declare namespace CfnBucket {
1262 /**
1263 * Describes the notification configuration for an Amazon S3 bucket.
1264 *
1265 * > If you create the target resource and related permissions in the same template, you might have a circular dependency.
1266 * >
1267 * > For example, you might use the `AWS::Lambda::Permission` resource to grant the bucket permission to invoke an AWS Lambda function. However, AWS CloudFormation can't create the bucket until the bucket has permission to invoke the function ( AWS CloudFormation checks whether the bucket can invoke the function). If you're using Refs to pass the bucket name, this leads to a circular dependency.
1268 * >
1269 * > To avoid this dependency, you can create all resources without specifying the notification configuration. Then, update the stack with a notification configuration.
1270 * >
1271 * > For more information on permissions, see [AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html) and [Granting Permissions to Publish Event Notification Messages to a Destination](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#grant-destinations-permissions-to-s3) .
1272 *
1273 * @struct
1274 * @stability external
1275 *
1276 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html
1277 */
1278 interface NotificationConfigurationProperty {
1279 /**
1280 * Enables delivery of events to Amazon EventBridge.
1281 *
1282 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-eventbridgeconfig
1283 */
1284 readonly eventBridgeConfiguration?: CfnBucket.EventBridgeConfigurationProperty | cdk.IResolvable;
1285 /**
1286 * Describes the AWS Lambda functions to invoke and the events for which to invoke them.
1287 *
1288 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig
1289 */
1290 readonly lambdaConfigurations?: Array<CfnBucket.LambdaConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
1291 /**
1292 * The Amazon Simple Queue Service queues to publish messages to and the events for which to publish messages.
1293 *
1294 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-queueconfig
1295 */
1296 readonly queueConfigurations?: Array<CfnBucket.QueueConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
1297 /**
1298 * The topic to which notifications are sent and the events for which notifications are generated.
1299 *
1300 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig.html#cfn-s3-bucket-notificationconfig-topicconfig
1301 */
1302 readonly topicConfigurations?: Array<CfnBucket.TopicConfigurationProperty | cdk.IResolvable> | cdk.IResolvable;
1303 }
1304}
1305export declare namespace CfnBucket {
1306 /**
1307 * Specifies object key name filtering rules. For information about key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .
1308 *
1309 * @struct
1310 * @stability external
1311 *
1312 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html
1313 */
1314 interface NotificationFilterProperty {
1315 /**
1316 * A container for object key name prefix and suffix filtering rules.
1317 *
1318 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key
1319 */
1320 readonly s3Key: CfnBucket.S3KeyFilterProperty | cdk.IResolvable;
1321 }
1322}
1323export declare namespace CfnBucket {
1324 /**
1325 * Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .
1326 *
1327 * @struct
1328 * @stability external
1329 *
1330 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html
1331 */
1332 interface ObjectLockConfigurationProperty {
1333 /**
1334 * Indicates whether this bucket has an Object Lock configuration enabled. Enable `ObjectLockEnabled` when you apply `ObjectLockConfiguration` to a bucket.
1335 *
1336 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html#cfn-s3-bucket-objectlockconfiguration-objectlockenabled
1337 */
1338 readonly objectLockEnabled?: string;
1339 /**
1340 * Specifies the Object Lock rule for the specified object. Enable this rule when you apply `ObjectLockConfiguration` to a bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information, see [ObjectLockRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html) and [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .
1341 *
1342 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockconfiguration.html#cfn-s3-bucket-objectlockconfiguration-rule
1343 */
1344 readonly rule?: CfnBucket.ObjectLockRuleProperty | cdk.IResolvable;
1345 }
1346}
1347export declare namespace CfnBucket {
1348 /**
1349 * Specifies the Object Lock rule for the specified object. Enable the this rule when you apply `ObjectLockConfiguration` to a bucket.
1350 *
1351 * @struct
1352 * @stability external
1353 *
1354 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html
1355 */
1356 interface ObjectLockRuleProperty {
1357 /**
1358 * The default Object Lock retention mode and period that you want to apply to new objects placed in the specified bucket. If Object Lock is turned on, bucket settings require both `Mode` and a period of either `Days` or `Years` . You cannot specify `Days` and `Years` at the same time. For more information about allowable values for mode and period, see [DefaultRetention](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-defaultretention.html) .
1359 *
1360 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-objectlockrule.html#cfn-s3-bucket-objectlockrule-defaultretention
1361 */
1362 readonly defaultRetention?: CfnBucket.DefaultRetentionProperty | cdk.IResolvable;
1363 }
1364}
1365export declare namespace CfnBucket {
1366 /**
1367 * Specifies the container element for Object Ownership rules.
1368 *
1369 * S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide* .
1370 *
1371 * @struct
1372 * @stability external
1373 *
1374 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html
1375 */
1376 interface OwnershipControlsProperty {
1377 /**
1378 * Specifies the container element for Object Ownership rules.
1379 *
1380 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrols.html#cfn-s3-bucket-ownershipcontrols-rules
1381 */
1382 readonly rules: Array<CfnBucket.OwnershipControlsRuleProperty | cdk.IResolvable> | cdk.IResolvable;
1383 }
1384}
1385export declare namespace CfnBucket {
1386 /**
1387 * Specifies an Object Ownership rule.
1388 *
1389 * S3 Object Ownership is an Amazon S3 bucket-level setting that you can use to disable access control lists (ACLs) and take ownership of every object in your bucket, simplifying access management for data stored in Amazon S3. For more information, see [Controlling ownership of objects and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the *Amazon S3 User Guide* .
1390 *
1391 * @struct
1392 * @stability external
1393 *
1394 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrolsrule.html
1395 */
1396 interface OwnershipControlsRuleProperty {
1397 /**
1398 * Specifies an Object Ownership rule.
1399 *
1400 * *Allowed values* : `BucketOwnerEnforced` | `ObjectWriter` | `BucketOwnerPreferred`
1401 *
1402 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ownershipcontrolsrule.html#cfn-s3-bucket-ownershipcontrolsrule-objectownership
1403 */
1404 readonly objectOwnership?: string;
1405 }
1406}
1407export declare namespace CfnBucket {
1408 /**
1409 * The PublicAccessBlock configuration that you want to apply to this Amazon S3 bucket. You can enable the configuration options in any combination. For more information about when Amazon S3 considers a bucket or object public, see [The Meaning of "Public"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .
1410 *
1411 * @struct
1412 * @stability external
1413 *
1414 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html
1415 */
1416 interface PublicAccessBlockConfigurationProperty {
1417 /**
1418 * 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:
1419 *
1420 * - PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.
1421 * - PUT Object calls fail if the request includes a public ACL.
1422 * - PUT Bucket calls fail if the request includes a public ACL.
1423 *
1424 * Enabling this setting doesn't affect existing policies or ACLs.
1425 *
1426 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicacls
1427 */
1428 readonly blockPublicAcls?: boolean | cdk.IResolvable;
1429 /**
1430 * 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.
1431 *
1432 * Enabling this setting doesn't affect existing bucket policies.
1433 *
1434 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-blockpublicpolicy
1435 */
1436 readonly blockPublicPolicy?: boolean | cdk.IResolvable;
1437 /**
1438 * 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.
1439 *
1440 * Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
1441 *
1442 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-ignorepublicacls
1443 */
1444 readonly ignorePublicAcls?: boolean | cdk.IResolvable;
1445 /**
1446 * 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.
1447 *
1448 * 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.
1449 *
1450 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-publicaccessblockconfiguration.html#cfn-s3-bucket-publicaccessblockconfiguration-restrictpublicbuckets
1451 */
1452 readonly restrictPublicBuckets?: boolean | cdk.IResolvable;
1453 }
1454}
1455export declare namespace CfnBucket {
1456 /**
1457 * Specifies the configuration for publishing messages to an Amazon Simple Queue Service (Amazon SQS) queue when Amazon S3 detects specified events.
1458 *
1459 * @struct
1460 * @stability external
1461 *
1462 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html
1463 */
1464 interface QueueConfigurationProperty {
1465 /**
1466 * The Amazon S3 bucket event about which you want to publish messages to Amazon SQS. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .
1467 *
1468 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-event
1469 */
1470 readonly event: string;
1471 /**
1472 * The filtering rules that determine which objects trigger notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket. For more information, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .
1473 *
1474 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-filter
1475 */
1476 readonly filter?: CfnBucket.NotificationFilterProperty | cdk.IResolvable;
1477 /**
1478 * The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon S3 publishes a message when it detects events of the specified type. FIFO queues are not allowed when enabling an SQS queue as the event notification destination.
1479 *
1480 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-queueconfig.html#cfn-s3-bucket-notificationconfig-queueconfig-queue
1481 */
1482 readonly queue: string;
1483 }
1484}
1485export declare namespace CfnBucket {
1486 /**
1487 * Specifies the redirect behavior of all requests to a website endpoint of an Amazon S3 bucket.
1488 *
1489 * @struct
1490 * @stability external
1491 *
1492 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html
1493 */
1494 interface RedirectAllRequestsToProperty {
1495 /**
1496 * Name of the host where requests are redirected.
1497 *
1498 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html#cfn-s3-websiteconfiguration-redirectallrequeststo-hostname
1499 */
1500 readonly hostName: string;
1501 /**
1502 * Protocol to use when redirecting requests. The default is the protocol that is used in the original request.
1503 *
1504 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-redirectallrequeststo.html#cfn-s3-websiteconfiguration-redirectallrequeststo-protocol
1505 */
1506 readonly protocol?: string;
1507 }
1508}
1509export declare namespace CfnBucket {
1510 /**
1511 * Specifies how requests are redirected. In the event of an error, you can specify a different error code to return.
1512 *
1513 * @struct
1514 * @stability external
1515 *
1516 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html
1517 */
1518 interface RedirectRuleProperty {
1519 /**
1520 * The host name to use in the redirect request.
1521 *
1522 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-hostname
1523 */
1524 readonly hostName?: string;
1525 /**
1526 * The HTTP redirect code to use on the response. Not required if one of the siblings is present.
1527 *
1528 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-httpredirectcode
1529 */
1530 readonly httpRedirectCode?: string;
1531 /**
1532 * Protocol to use when redirecting requests. The default is the protocol that is used in the original request.
1533 *
1534 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-protocol
1535 */
1536 readonly protocol?: string;
1537 /**
1538 * The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix `docs/` (objects in the `docs/` folder) to `documents/` , you can set a condition block with `KeyPrefixEquals` set to `docs/` and in the Redirect set `ReplaceKeyPrefixWith` to `/documents` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyWith` is not provided.
1539 *
1540 * > Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .
1541 *
1542 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-replacekeyprefixwith
1543 */
1544 readonly replaceKeyPrefixWith?: string;
1545 /**
1546 * The specific object key to use in the redirect request. For example, redirect request to `error.html` . Not required if one of the siblings is present. Can be present only if `ReplaceKeyPrefixWith` is not provided.
1547 *
1548 * > Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .
1549 *
1550 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-redirectrule.html#cfn-s3-websiteconfiguration-redirectrule-replacekeywith
1551 */
1552 readonly replaceKeyWith?: string;
1553 }
1554}
1555export declare namespace CfnBucket {
1556 /**
1557 * A filter that you can specify for selection for modifications on replicas.
1558 *
1559 * @struct
1560 * @stability external
1561 *
1562 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicamodifications.html
1563 */
1564 interface ReplicaModificationsProperty {
1565 /**
1566 * Specifies whether Amazon S3 replicates modifications on replicas.
1567 *
1568 * *Allowed values* : `Enabled` | `Disabled`
1569 *
1570 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicamodifications.html#cfn-s3-bucket-replicamodifications-status
1571 */
1572 readonly status: string;
1573 }
1574}
1575export declare namespace CfnBucket {
1576 /**
1577 * A container for replication rules. You can add up to 1,000 rules. The maximum size of a replication configuration is 2 MB.
1578 *
1579 * @struct
1580 * @stability external
1581 *
1582 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html
1583 */
1584 interface ReplicationConfigurationProperty {
1585 /**
1586 * The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that Amazon S3 assumes when replicating objects. For more information, see [How to Set Up Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html) in the *Amazon S3 User Guide* .
1587 *
1588 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html#cfn-s3-bucket-replicationconfiguration-role
1589 */
1590 readonly role: string;
1591 /**
1592 * A container for one or more replication rules. A replication configuration must have at least one rule and can contain a maximum of 1,000 rules.
1593 *
1594 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration.html#cfn-s3-bucket-replicationconfiguration-rules
1595 */
1596 readonly rules: Array<CfnBucket.ReplicationRuleProperty | cdk.IResolvable> | cdk.IResolvable;
1597 }
1598}
1599export declare namespace CfnBucket {
1600 /**
1601 * A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).
1602 *
1603 * @struct
1604 * @stability external
1605 *
1606 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html
1607 */
1608 interface ReplicationDestinationProperty {
1609 /**
1610 * Specify this only in a cross-account scenario (where source and destination bucket owners are not the same), and you want to change replica ownership to the AWS account that owns the destination bucket. If this is not specified in the replication configuration, the replicas are owned by same AWS account that owns the source object.
1611 *
1612 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-accesscontroltranslation
1613 */
1614 readonly accessControlTranslation?: CfnBucket.AccessControlTranslationProperty | cdk.IResolvable;
1615 /**
1616 * Destination bucket owner account ID. In a cross-account scenario, if you direct Amazon S3 to change replica ownership to the AWS account that owns the destination bucket by specifying the `AccessControlTranslation` property, this is the account ID of the destination bucket owner. For more information, see [Cross-Region Replication Additional Configuration: Change Replica Owner](https://docs.aws.amazon.com/AmazonS3/latest/dev/crr-change-owner.html) in the *Amazon S3 User Guide* .
1617 *
1618 * If you specify the `AccessControlTranslation` property, the `Account` property is required.
1619 *
1620 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-account
1621 */
1622 readonly account?: string;
1623 /**
1624 * The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to store the results.
1625 *
1626 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationconfiguration-rules-destination-bucket
1627 */
1628 readonly bucket: string;
1629 /**
1630 * Specifies encryption-related information.
1631 *
1632 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-encryptionconfiguration
1633 */
1634 readonly encryptionConfiguration?: CfnBucket.EncryptionConfigurationProperty | cdk.IResolvable;
1635 /**
1636 * A container specifying replication metrics-related settings enabling replication metrics and events.
1637 *
1638 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-metrics
1639 */
1640 readonly metrics?: CfnBucket.MetricsProperty | cdk.IResolvable;
1641 /**
1642 * A container specifying S3 Replication Time Control (S3 RTC), including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a `Metrics` block.
1643 *
1644 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationdestination-replicationtime
1645 */
1646 readonly replicationTime?: CfnBucket.ReplicationTimeProperty | cdk.IResolvable;
1647 /**
1648 * The storage class to use when replicating objects, such as S3 Standard or reduced redundancy. By default, Amazon S3 uses the storage class of the source object to create the object replica.
1649 *
1650 * For valid values, see the `StorageClass` element of the [PUT Bucket replication](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html) action in the *Amazon S3 API Reference* .
1651 *
1652 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules-destination.html#cfn-s3-bucket-replicationconfiguration-rules-destination-storageclass
1653 */
1654 readonly storageClass?: string;
1655 }
1656}
1657export declare namespace CfnBucket {
1658 /**
1659 * Specifies which Amazon S3 objects to replicate and where to store the replicas.
1660 *
1661 * @struct
1662 * @stability external
1663 *
1664 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html
1665 */
1666 interface ReplicationRuleProperty {
1667 /**
1668 * Specifies whether Amazon S3 replicates delete markers. If you specify a `Filter` in your replication configuration, you must also include a `DeleteMarkerReplication` element. If your `Filter` includes a `Tag` element, the `DeleteMarkerReplication` `Status` must be set to Disabled, because Amazon S3 does not support replicating delete markers for tag-based rules. For an example configuration, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config) .
1669 *
1670 * For more information about delete marker replication, see [Basic Rule Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html) .
1671 *
1672 * > If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see [Backward Compatibility](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations) .
1673 *
1674 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-deletemarkerreplication
1675 */
1676 readonly deleteMarkerReplication?: CfnBucket.DeleteMarkerReplicationProperty | cdk.IResolvable;
1677 /**
1678 * A container for information about the replication destination and its configurations including enabling the S3 Replication Time Control (S3 RTC).
1679 *
1680 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-destination
1681 */
1682 readonly destination: CfnBucket.ReplicationDestinationProperty | cdk.IResolvable;
1683 /**
1684 * A filter that identifies the subset of objects to which the replication rule applies. A `Filter` must specify exactly one `Prefix` , `TagFilter` , or an `And` child element. The use of the filter field indicates that this is a V2 replication configuration. This field isn't supported in a V1 replication configuration.
1685 *
1686 * > V1 replication configuration only supports filtering by key prefix. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.
1687 *
1688 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-filter
1689 */
1690 readonly filter?: CfnBucket.ReplicationRuleFilterProperty | cdk.IResolvable;
1691 /**
1692 * A unique identifier for the rule. The maximum value is 255 characters. If you don't specify a value, AWS CloudFormation generates a random ID. When using a V2 replication configuration this property is capitalized as "ID".
1693 *
1694 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-id
1695 */
1696 readonly id?: string;
1697 /**
1698 * An object key name prefix that identifies the object or objects to which the rule applies. The maximum prefix length is 1,024 characters. To include all objects in a bucket, specify an empty string. To filter using a V1 replication configuration, add the `Prefix` directly as a child element of the `Rule` element.
1699 *
1700 * > Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .
1701 *
1702 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-prefix
1703 */
1704 readonly prefix?: string;
1705 /**
1706 * The priority indicates which rule has precedence whenever two or more replication rules conflict. Amazon S3 will attempt to replicate objects according to all replication rules. However, if there are two or more rules with the same destination bucket, then objects will be replicated according to the rule with the highest priority. The higher the number, the higher the priority.
1707 *
1708 * For more information, see [Replication](https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in the *Amazon S3 User Guide* .
1709 *
1710 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-priority
1711 */
1712 readonly priority?: number;
1713 /**
1714 * A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.
1715 *
1716 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationrule-sourceselectioncriteria
1717 */
1718 readonly sourceSelectionCriteria?: CfnBucket.SourceSelectionCriteriaProperty | cdk.IResolvable;
1719 /**
1720 * Specifies whether the rule is enabled.
1721 *
1722 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationconfiguration-rules.html#cfn-s3-bucket-replicationconfiguration-rules-status
1723 */
1724 readonly status: string;
1725 }
1726}
1727export declare namespace CfnBucket {
1728 /**
1729 * A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter.
1730 *
1731 * For example:
1732 *
1733 * - If you specify both a `Prefix` and a `TagFilter` , wrap these filters in an `And` tag.
1734 * - If you specify a filter based on multiple tags, wrap the `TagFilter` elements in an `And` tag
1735 *
1736 * @struct
1737 * @stability external
1738 *
1739 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html
1740 */
1741 interface ReplicationRuleAndOperatorProperty {
1742 /**
1743 * An object key name prefix that identifies the subset of objects to which the rule applies.
1744 *
1745 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html#cfn-s3-bucket-replicationruleandoperator-prefix
1746 */
1747 readonly prefix?: string;
1748 /**
1749 * An array of tags containing key and value pairs.
1750 *
1751 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationruleandoperator.html#cfn-s3-bucket-replicationruleandoperator-tagfilters
1752 */
1753 readonly tagFilters?: Array<CfnBucket.TagFilterProperty | cdk.IResolvable> | cdk.IResolvable;
1754 }
1755}
1756export declare namespace CfnBucket {
1757 /**
1758 * A filter that identifies the subset of objects to which the replication rule applies. A `Filter` must specify exactly one `Prefix` , `TagFilter` , or an `And` child element.
1759 *
1760 * @struct
1761 * @stability external
1762 *
1763 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html
1764 */
1765 interface ReplicationRuleFilterProperty {
1766 /**
1767 * A container for specifying rule filters. The filters determine the subset of objects to which the rule applies. This element is required only if you specify more than one filter. For example:
1768 *
1769 * - If you specify both a `Prefix` and a `TagFilter` , wrap these filters in an `And` tag.
1770 * - If you specify a filter based on multiple tags, wrap the `TagFilter` elements in an `And` tag.
1771 *
1772 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-and
1773 */
1774 readonly and?: CfnBucket.ReplicationRuleAndOperatorProperty | cdk.IResolvable;
1775 /**
1776 * An object key name prefix that identifies the subset of objects to which the rule applies.
1777 *
1778 * > Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .
1779 *
1780 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-prefix
1781 */
1782 readonly prefix?: string;
1783 /**
1784 * A container for specifying a tag key and value.
1785 *
1786 * The rule applies only to objects that have the tag in their tag set.
1787 *
1788 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationrulefilter.html#cfn-s3-bucket-replicationrulefilter-tagfilter
1789 */
1790 readonly tagFilter?: CfnBucket.TagFilterProperty | cdk.IResolvable;
1791 }
1792}
1793export declare namespace CfnBucket {
1794 /**
1795 * A container specifying S3 Replication Time Control (S3 RTC) related information, including whether S3 RTC is enabled and the time when all objects and operations on objects must be replicated. Must be specified together with a `Metrics` block.
1796 *
1797 * @struct
1798 * @stability external
1799 *
1800 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html
1801 */
1802 interface ReplicationTimeProperty {
1803 /**
1804 * Specifies whether the replication time is enabled.
1805 *
1806 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html#cfn-s3-bucket-replicationtime-status
1807 */
1808 readonly status: string;
1809 /**
1810 * A container specifying the time by which replication should be complete for all objects and operations on objects.
1811 *
1812 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtime.html#cfn-s3-bucket-replicationtime-time
1813 */
1814 readonly time: CfnBucket.ReplicationTimeValueProperty | cdk.IResolvable;
1815 }
1816}
1817export declare namespace CfnBucket {
1818 /**
1819 * A container specifying the time value for S3 Replication Time Control (S3 RTC) and replication metrics `EventThreshold` .
1820 *
1821 * @struct
1822 * @stability external
1823 *
1824 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtimevalue.html
1825 */
1826 interface ReplicationTimeValueProperty {
1827 /**
1828 * Contains an integer specifying time in minutes.
1829 *
1830 * Valid value: 15
1831 *
1832 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-replicationtimevalue.html#cfn-s3-bucket-replicationtimevalue-minutes
1833 */
1834 readonly minutes: number;
1835 }
1836}
1837export declare namespace CfnBucket {
1838 /**
1839 * Specifies the redirect behavior and when a redirect is applied. For more information about routing rules, see [Configuring advanced conditional redirects](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects) in the *Amazon S3 User Guide* .
1840 *
1841 * @struct
1842 * @stability external
1843 *
1844 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html
1845 */
1846 interface RoutingRuleProperty {
1847 /**
1848 * Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can specify a different error code to return.
1849 *
1850 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html#cfn-s3-websiteconfiguration-routingrules-redirectrule
1851 */
1852 readonly redirectRule: CfnBucket.RedirectRuleProperty | cdk.IResolvable;
1853 /**
1854 * A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the `/docs` folder, redirect to the `/documents` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.
1855 *
1856 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition
1857 */
1858 readonly routingRuleCondition?: CfnBucket.RoutingRuleConditionProperty | cdk.IResolvable;
1859 }
1860}
1861export declare namespace CfnBucket {
1862 /**
1863 * A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the `/docs` folder, redirect to the `/documents` folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.
1864 *
1865 * @struct
1866 * @stability external
1867 *
1868 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html
1869 */
1870 interface RoutingRuleConditionProperty {
1871 /**
1872 * The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied.
1873 *
1874 * Required when parent element `Condition` is specified and sibling `KeyPrefixEquals` is not specified. If both are specified, then both must be true for the redirect to be applied.
1875 *
1876 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition-httperrorcodereturnedequals
1877 */
1878 readonly httpErrorCodeReturnedEquals?: string;
1879 /**
1880 * The object key name prefix when the redirect is applied. For example, to redirect requests for `ExamplePage.html` , the key prefix will be `ExamplePage.html` . To redirect request for all pages with the prefix `docs/` , the key prefix will be `/docs` , which identifies all objects in the docs/ folder.
1881 *
1882 * Required when the parent element `Condition` is specified and sibling `HttpErrorCodeReturnedEquals` is not specified. If both conditions are specified, both must be true for the redirect to be applied.
1883 *
1884 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration-routingrules-routingrulecondition.html#cfn-s3-websiteconfiguration-routingrules-routingrulecondition-keyprefixequals
1885 */
1886 readonly keyPrefixEquals?: string;
1887 }
1888}
1889export declare namespace CfnBucket {
1890 /**
1891 * Specifies lifecycle rules for an Amazon S3 bucket. For more information, see [Put Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlifecycle.html) in the *Amazon S3 API Reference* .
1892 *
1893 * You must specify at least one of the following properties: `AbortIncompleteMultipartUpload` , `ExpirationDate` , `ExpirationInDays` , `NoncurrentVersionExpirationInDays` , `NoncurrentVersionTransition` , `NoncurrentVersionTransitions` , `Transition` , or `Transitions` .
1894 *
1895 * @struct
1896 * @stability external
1897 *
1898 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html
1899 */
1900 interface RuleProperty {
1901 /**
1902 * Specifies a lifecycle rule that stops incomplete multipart uploads to an Amazon S3 bucket.
1903 *
1904 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-abortincompletemultipartupload
1905 */
1906 readonly abortIncompleteMultipartUpload?: CfnBucket.AbortIncompleteMultipartUploadProperty | cdk.IResolvable;
1907 /**
1908 * Indicates when objects are deleted from Amazon S3 and Amazon S3 Glacier. The date value must be in ISO 8601 format. The time is always midnight UTC. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.
1909 *
1910 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-expirationdate
1911 */
1912 readonly expirationDate?: Date | cdk.IResolvable;
1913 /**
1914 * Indicates the number of days after creation when objects are deleted from Amazon S3 and Amazon S3 Glacier. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time.
1915 *
1916 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-expirationindays
1917 */
1918 readonly expirationInDays?: number;
1919 /**
1920 * Indicates whether Amazon S3 will remove a delete marker without any noncurrent versions. If set to true, the delete marker will be removed if there are no noncurrent versions. This cannot be specified with `ExpirationInDays` , `ExpirationDate` , or `TagFilters` .
1921 *
1922 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-expiredobjectdeletemarker
1923 */
1924 readonly expiredObjectDeleteMarker?: boolean | cdk.IResolvable;
1925 /**
1926 * Unique identifier for the rule. The value can't be longer than 255 characters.
1927 *
1928 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-id
1929 */
1930 readonly id?: string;
1931 /**
1932 * Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.
1933 *
1934 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpiration
1935 */
1936 readonly noncurrentVersionExpiration?: CfnBucket.NoncurrentVersionExpirationProperty | cdk.IResolvable;
1937 /**
1938 * (Deprecated.) For buckets with versioning enabled (or suspended), specifies the time, in days, between when a new version of the object is uploaded to the bucket and when old versions of the object expire. When object versions expire, Amazon S3 permanently deletes them. If you specify a transition and expiration time, the expiration time must be later than the transition time.
1939 *
1940 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversionexpirationindays
1941 */
1942 readonly noncurrentVersionExpirationInDays?: number;
1943 /**
1944 * (Deprecated.) For buckets with versioning enabled (or suspended), specifies when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransitions` property.
1945 *
1946 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransition
1947 */
1948 readonly noncurrentVersionTransition?: CfnBucket.NoncurrentVersionTransitionProperty | cdk.IResolvable;
1949 /**
1950 * For buckets with versioning enabled (or suspended), one or more transition rules that specify when non-current objects transition to a specified storage class. If you specify a transition and expiration time, the expiration time must be later than the transition time. If you specify this property, don't specify the `NoncurrentVersionTransition` property.
1951 *
1952 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-noncurrentversiontransitions
1953 */
1954 readonly noncurrentVersionTransitions?: Array<CfnBucket.NoncurrentVersionTransitionProperty | cdk.IResolvable> | cdk.IResolvable;
1955 /**
1956 * Specifies the minimum object size in bytes for this rule to apply to. Objects must be larger than this value in bytes. For more information about size based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .
1957 *
1958 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-objectsizegreaterthan
1959 */
1960 readonly objectSizeGreaterThan?: number;
1961 /**
1962 * Specifies the maximum object size in bytes for this rule to apply to. Objects must be smaller than this value in bytes. For more information about sized based rules, see [Lifecycle configuration using size-based rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html#lc-size-rules) in the *Amazon S3 User Guide* .
1963 *
1964 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-objectsizelessthan
1965 */
1966 readonly objectSizeLessThan?: number;
1967 /**
1968 * Object key prefix that identifies one or more objects to which this rule applies.
1969 *
1970 * > Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints) .
1971 *
1972 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-prefix
1973 */
1974 readonly prefix?: string;
1975 /**
1976 * If `Enabled` , the rule is currently being applied. If `Disabled` , the rule is not currently being applied.
1977 *
1978 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-status
1979 */
1980 readonly status: string;
1981 /**
1982 * Tags to use to identify a subset of objects to which the lifecycle rule applies.
1983 *
1984 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-rule-tagfilters
1985 */
1986 readonly tagFilters?: Array<CfnBucket.TagFilterProperty | cdk.IResolvable> | cdk.IResolvable;
1987 /**
1988 * (Deprecated.) Specifies when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transitions` property.
1989 *
1990 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-transition
1991 */
1992 readonly transition?: CfnBucket.TransitionProperty | cdk.IResolvable;
1993 /**
1994 * One or more transition rules that specify when an object transitions to a specified storage class. If you specify an expiration and transition time, you must use the same time unit for both properties (either in days or by date). The expiration time must also be later than the transition time. If you specify this property, don't specify the `Transition` property.
1995 *
1996 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule.html#cfn-s3-bucket-lifecycleconfig-rule-transitions
1997 */
1998 readonly transitions?: Array<CfnBucket.TransitionProperty | cdk.IResolvable> | cdk.IResolvable;
1999 }
2000}
2001export declare namespace CfnBucket {
2002 /**
2003 * A container for object key name prefix and suffix filtering rules. For more information about object key name filtering, see [Configuring event notifications using object key name filtering](https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-filtering.html) in the *Amazon S3 User Guide* .
2004 *
2005 * > The same type of filter rule cannot be used more than once. For example, you cannot specify two prefix rules.
2006 *
2007 * @struct
2008 * @stability external
2009 *
2010 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key.html
2011 */
2012 interface S3KeyFilterProperty {
2013 /**
2014 * A list of containers for the key-value pair that defines the criteria for the filter rule.
2015 *
2016 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter-s3key.html#cfn-s3-bucket-notificationconfiguraiton-config-filter-s3key-rules
2017 */
2018 readonly rules: Array<CfnBucket.FilterRuleProperty | cdk.IResolvable> | cdk.IResolvable;
2019 }
2020}
2021export declare namespace CfnBucket {
2022 /**
2023 * Describes the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied. If you don't specify a customer managed key at configuration, Amazon S3 automatically creates an AWS KMS key in your AWS account the first time that you add an object encrypted with SSE-KMS to a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more information, see [PUT Bucket encryption](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html) in the *Amazon S3 API Reference* .
2024 *
2025 * @struct
2026 * @stability external
2027 *
2028 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html
2029 */
2030 interface ServerSideEncryptionByDefaultProperty {
2031 /**
2032 * KMS key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms.
2033 *
2034 * You can specify the key ID or the Amazon Resource Name (ARN) of the CMK. However, if you are using encryption with cross-account operations, you must use a fully qualified CMK ARN. For more information, see [Using encryption for cross-account operations](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy) .
2035 *
2036 * For example:
2037 *
2038 * - Key ID: `1234abcd-12ab-34cd-56ef-1234567890ab`
2039 * - Key ARN: `arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab`
2040 *
2041 * > Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more information, see [Using Symmetric and Asymmetric Keys](https://docs.aws.amazon.com//kms/latest/developerguide/symmetric-asymmetric.html) in the *AWS Key Management Service Developer Guide* .
2042 *
2043 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html#cfn-s3-bucket-serversideencryptionbydefault-kmsmasterkeyid
2044 */
2045 readonly kmsMasterKeyId?: string;
2046 /**
2047 * Server-side encryption algorithm to use for the default encryption.
2048 *
2049 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionbydefault.html#cfn-s3-bucket-serversideencryptionbydefault-ssealgorithm
2050 */
2051 readonly sseAlgorithm: string;
2052 }
2053}
2054export declare namespace CfnBucket {
2055 /**
2056 * Specifies the default server-side encryption configuration.
2057 *
2058 * @struct
2059 * @stability external
2060 *
2061 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html
2062 */
2063 interface ServerSideEncryptionRuleProperty {
2064 /**
2065 * Specifies whether Amazon S3 should use an S3 Bucket Key with server-side encryption using KMS (SSE-KMS) for new objects in the bucket. Existing objects are not affected. Setting the `BucketKeyEnabled` element to `true` causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled.
2066 *
2067 * For more information, see [Amazon S3 Bucket Keys](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the *Amazon S3 User Guide* .
2068 *
2069 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#cfn-s3-bucket-serversideencryptionrule-bucketkeyenabled
2070 */
2071 readonly bucketKeyEnabled?: boolean | cdk.IResolvable;
2072 /**
2073 * Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT Object request doesn't specify any server-side encryption, this default encryption will be applied.
2074 *
2075 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-serversideencryptionrule.html#cfn-s3-bucket-serversideencryptionrule-serversideencryptionbydefault
2076 */
2077 readonly serverSideEncryptionByDefault?: CfnBucket.ServerSideEncryptionByDefaultProperty | cdk.IResolvable;
2078 }
2079}
2080export declare namespace CfnBucket {
2081 /**
2082 * A container that describes additional filters for identifying the source objects that you want to replicate. You can choose to enable or disable the replication of these objects.
2083 *
2084 * @struct
2085 * @stability external
2086 *
2087 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html
2088 */
2089 interface SourceSelectionCriteriaProperty {
2090 /**
2091 * A filter that you can specify for selection for modifications on replicas.
2092 *
2093 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-replicamodifications
2094 */
2095 readonly replicaModifications?: CfnBucket.ReplicaModificationsProperty | cdk.IResolvable;
2096 /**
2097 * A container for filter information for the selection of Amazon S3 objects encrypted with AWS KMS.
2098 *
2099 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-sourceselectioncriteria.html#cfn-s3-bucket-sourceselectioncriteria-ssekmsencryptedobjects
2100 */
2101 readonly sseKmsEncryptedObjects?: CfnBucket.SseKmsEncryptedObjectsProperty | cdk.IResolvable;
2102 }
2103}
2104export declare namespace CfnBucket {
2105 /**
2106 * A container for filter information for the selection of S3 objects encrypted with AWS KMS.
2107 *
2108 * @struct
2109 * @stability external
2110 *
2111 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ssekmsencryptedobjects.html
2112 */
2113 interface SseKmsEncryptedObjectsProperty {
2114 /**
2115 * Specifies whether Amazon S3 replicates objects created with server-side encryption using an AWS KMS key stored in AWS Key Management Service.
2116 *
2117 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-ssekmsencryptedobjects.html#cfn-s3-bucket-ssekmsencryptedobjects-status
2118 */
2119 readonly status: string;
2120 }
2121}
2122export declare namespace CfnBucket {
2123 /**
2124 * Specifies data related to access patterns to be collected and made available to analyze the tradeoffs between different storage classes for an Amazon S3 bucket.
2125 *
2126 * @struct
2127 * @stability external
2128 *
2129 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html
2130 */
2131 interface StorageClassAnalysisProperty {
2132 /**
2133 * Specifies how data related to the storage class analysis for an Amazon S3 bucket should be exported.
2134 *
2135 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-storageclassanalysis.html#cfn-s3-bucket-storageclassanalysis-dataexport
2136 */
2137 readonly dataExport?: CfnBucket.DataExportProperty | cdk.IResolvable;
2138 }
2139}
2140export declare namespace CfnBucket {
2141 /**
2142 * Specifies tags to use to identify a subset of objects for an Amazon S3 bucket.
2143 *
2144 * @struct
2145 * @stability external
2146 *
2147 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html
2148 */
2149 interface TagFilterProperty {
2150 /**
2151 * The tag key.
2152 *
2153 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html#cfn-s3-bucket-tagfilter-key
2154 */
2155 readonly key: string;
2156 /**
2157 * The tag value.
2158 *
2159 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tagfilter.html#cfn-s3-bucket-tagfilter-value
2160 */
2161 readonly value: string;
2162 }
2163}
2164export declare namespace CfnBucket {
2165 /**
2166 * The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.
2167 *
2168 * @struct
2169 * @stability external
2170 *
2171 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html
2172 */
2173 interface TieringProperty {
2174 /**
2175 * S3 Intelligent-Tiering access tier. See [Storage class for automatically optimizing frequently and infrequently accessed objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) for a list of access tiers in the S3 Intelligent-Tiering storage class.
2176 *
2177 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html#cfn-s3-bucket-tiering-accesstier
2178 */
2179 readonly accessTier: string;
2180 /**
2181 * The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).
2182 *
2183 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-tiering.html#cfn-s3-bucket-tiering-days
2184 */
2185 readonly days: number;
2186 }
2187}
2188export declare namespace CfnBucket {
2189 /**
2190 * A container for specifying the configuration for publication of messages to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon S3 detects specified events.
2191 *
2192 * @struct
2193 * @stability external
2194 *
2195 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html
2196 */
2197 interface TopicConfigurationProperty {
2198 /**
2199 * The Amazon S3 bucket event about which to send notifications. For more information, see [Supported Event Types](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) in the *Amazon S3 User Guide* .
2200 *
2201 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-event
2202 */
2203 readonly event: string;
2204 /**
2205 * The filtering rules that determine for which objects to send notifications. For example, you can create a filter so that Amazon S3 sends notifications only when image files with a `.jpg` extension are added to the bucket.
2206 *
2207 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-filter
2208 */
2209 readonly filter?: CfnBucket.NotificationFilterProperty | cdk.IResolvable;
2210 /**
2211 * The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon S3 publishes a message when it detects events of the specified type.
2212 *
2213 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-topicconfig.html#cfn-s3-bucket-notificationconfig-topicconfig-topic
2214 */
2215 readonly topic: string;
2216 }
2217}
2218export declare namespace CfnBucket {
2219 /**
2220 * Specifies when an object transitions to a specified storage class. For more information about Amazon S3 lifecycle configuration rules, see [Transitioning Objects Using Amazon S3 Lifecycle](https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html) in the *Amazon S3 User Guide* .
2221 *
2222 * @struct
2223 * @stability external
2224 *
2225 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html
2226 */
2227 interface TransitionProperty {
2228 /**
2229 * The storage class to which you want the object to transition.
2230 *
2231 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-storageclass
2232 */
2233 readonly storageClass: string;
2234 /**
2235 * Indicates when objects are transitioned to the specified storage class. The date value must be in ISO 8601 format. The time is always midnight UTC.
2236 *
2237 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-transitiondate
2238 */
2239 readonly transitionDate?: Date | cdk.IResolvable;
2240 /**
2241 * Indicates the number of days after creation when objects are transitioned to the specified storage class. The value must be a positive integer.
2242 *
2243 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-lifecycleconfig-rule-transition.html#cfn-s3-bucket-lifecycleconfig-rule-transition-transitionindays
2244 */
2245 readonly transitionInDays?: number;
2246 }
2247}
2248export declare namespace CfnBucket {
2249 /**
2250 * Describes the versioning state of an Amazon S3 bucket. For more information, see [PUT Bucket versioning](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html) in the *Amazon S3 API Reference* .
2251 *
2252 * @struct
2253 * @stability external
2254 *
2255 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-versioningconfig.html
2256 */
2257 interface VersioningConfigurationProperty {
2258 /**
2259 * The versioning state of the bucket.
2260 *
2261 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-versioningconfig.html#cfn-s3-bucket-versioningconfig-status
2262 */
2263 readonly status: string;
2264 }
2265}
2266export declare namespace CfnBucket {
2267 /**
2268 * Specifies website configuration parameters for an Amazon S3 bucket.
2269 *
2270 * @struct
2271 * @stability external
2272 *
2273 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html
2274 */
2275 interface WebsiteConfigurationProperty {
2276 /**
2277 * The name of the error document for the website.
2278 *
2279 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-errordocument
2280 */
2281 readonly errorDocument?: string;
2282 /**
2283 * The name of the index document for the website.
2284 *
2285 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-indexdocument
2286 */
2287 readonly indexDocument?: string;
2288 /**
2289 * The redirect behavior for every request to this bucket's website endpoint.
2290 *
2291 * > If you specify this property, you can't specify any other property.
2292 *
2293 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-redirectallrequeststo
2294 */
2295 readonly redirectAllRequestsTo?: CfnBucket.RedirectAllRequestsToProperty | cdk.IResolvable;
2296 /**
2297 * Rules that define when a redirect is applied and the redirect behavior.
2298 *
2299 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-websiteconfiguration.html#cfn-s3-websiteconfiguration-routingrules
2300 */
2301 readonly routingRules?: Array<CfnBucket.RoutingRuleProperty | cdk.IResolvable> | cdk.IResolvable;
2302 }
2303}
2304/**
2305 * Properties for defining a `CfnBucketPolicy`
2306 *
2307 * @struct
2308 * @stability external
2309 *
2310 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html
2311 */
2312export interface CfnBucketPolicyProps {
2313 /**
2314 * The name of the Amazon S3 bucket to which the policy applies.
2315 *
2316 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#aws-properties-s3-policy-bucket
2317 */
2318 readonly bucket: string;
2319 /**
2320 * A policy document containing permissions to add to the specified bucket. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .
2321 *
2322 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#aws-properties-s3-policy-policydocument
2323 */
2324 readonly policyDocument: any | cdk.IResolvable;
2325}
2326/**
2327 * A CloudFormation `AWS::S3::BucketPolicy`
2328 *
2329 * Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the AWS account that owns the bucket, the calling identity must have the `PutBucketPolicy` permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.
2330 *
2331 * If you don't have `PutBucketPolicy` permissions, Amazon S3 returns a `403 Access Denied` error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a `405 Method Not Allowed` error.
2332 *
2333 * > As a security precaution, the root user of the AWS account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.
2334 *
2335 * For more information, see [Bucket policy examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) .
2336 *
2337 * The following operations are related to `PutBucketPolicy` :
2338 *
2339 * - [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
2340 * - [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)
2341 *
2342 * @cloudformationResource AWS::S3::BucketPolicy
2343 * @stability external
2344 *
2345 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html
2346 */
2347export declare class CfnBucketPolicy extends cdk.CfnResource implements cdk.IInspectable {
2348 /**
2349 * The CloudFormation resource type name for this resource class.
2350 */
2351 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::S3::BucketPolicy";
2352 /**
2353 * A factory method that creates a new instance of this class from an object
2354 * containing the CloudFormation properties of this resource.
2355 * Used in the @aws-cdk/cloudformation-include module.
2356 *
2357 * @internal
2358 */
2359 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnBucketPolicy;
2360 /**
2361 * The name of the Amazon S3 bucket to which the policy applies.
2362 *
2363 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#aws-properties-s3-policy-bucket
2364 */
2365 bucket: string;
2366 /**
2367 * A policy document containing permissions to add to the specified bucket. In IAM, you must provide policy documents in JSON format. However, in CloudFormation you can provide the policy in JSON or YAML format because CloudFormation converts YAML to JSON before submitting it to IAM. For more information, see the AWS::IAM::Policy [PolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html#cfn-iam-policy-policydocument) resource description in this guide and [Access Policy Language Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-language-overview.html) in the *Amazon S3 User Guide* .
2368 *
2369 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html#aws-properties-s3-policy-policydocument
2370 */
2371 policyDocument: any | cdk.IResolvable;
2372 /**
2373 * Create a new `AWS::S3::BucketPolicy`.
2374 *
2375 * @param scope - scope in which this resource is defined
2376 * @param id - scoped id of the resource
2377 * @param props - resource properties
2378 */
2379 constructor(scope: cdk.Construct, id: string, props: CfnBucketPolicyProps);
2380 /**
2381 * Examines the CloudFormation resource and discloses attributes.
2382 *
2383 * @param inspector - tree inspector to collect and process attributes
2384 *
2385 */
2386 inspect(inspector: cdk.TreeInspector): void;
2387 protected get cfnProperties(): {
2388 [key: string]: any;
2389 };
2390 protected renderProperties(props: {
2391 [key: string]: any;
2392 }): {
2393 [key: string]: any;
2394 };
2395}
2396/**
2397 * Properties for defining a `CfnMultiRegionAccessPoint`
2398 *
2399 * @struct
2400 * @stability external
2401 *
2402 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html
2403 */
2404export interface CfnMultiRegionAccessPointProps {
2405 /**
2406 * A collection of the Regions and buckets associated with the Multi-Region Access Point.
2407 *
2408 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-regions
2409 */
2410 readonly regions: Array<CfnMultiRegionAccessPoint.RegionProperty | cdk.IResolvable> | cdk.IResolvable;
2411 /**
2412 * The name of the Multi-Region Access Point.
2413 *
2414 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-name
2415 */
2416 readonly name?: string;
2417 /**
2418 * The PublicAccessBlock configuration that you want to apply to this Multi-Region Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of "Public"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .
2419 *
2420 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration
2421 */
2422 readonly publicAccessBlockConfiguration?: CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty | cdk.IResolvable;
2423}
2424/**
2425 * A CloudFormation `AWS::S3::MultiRegionAccessPoint`
2426 *
2427 * The `AWS::S3::MultiRegionAccessPoint` resource creates an Amazon S3 Multi-Region Access Point. To learn more about Multi-Region Access Points, see [Multi-Region Access Points in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html) in the in the *Amazon S3 User Guide* .
2428 *
2429 * @cloudformationResource AWS::S3::MultiRegionAccessPoint
2430 * @stability external
2431 *
2432 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html
2433 */
2434export declare class CfnMultiRegionAccessPoint extends cdk.CfnResource implements cdk.IInspectable {
2435 /**
2436 * The CloudFormation resource type name for this resource class.
2437 */
2438 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::S3::MultiRegionAccessPoint";
2439 /**
2440 * A factory method that creates a new instance of this class from an object
2441 * containing the CloudFormation properties of this resource.
2442 * Used in the @aws-cdk/cloudformation-include module.
2443 *
2444 * @internal
2445 */
2446 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnMultiRegionAccessPoint;
2447 /**
2448 * The alias for the Multi-Region Access Point. For more information about the distinction between the name and the alias of an Multi-Region Access Point, see [Managing Multi-Region Access Points](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingMultiRegionAccessPoints.html#multi-region-access-point-naming) in the *Amazon S3 User Guide* .
2449 * @cloudformationAttribute Alias
2450 */
2451 readonly attrAlias: string;
2452 /**
2453 * The timestamp of when the Multi-Region Access Point is created.
2454 * @cloudformationAttribute CreatedAt
2455 */
2456 readonly attrCreatedAt: string;
2457 /**
2458 * A collection of the Regions and buckets associated with the Multi-Region Access Point.
2459 *
2460 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-regions
2461 */
2462 regions: Array<CfnMultiRegionAccessPoint.RegionProperty | cdk.IResolvable> | cdk.IResolvable;
2463 /**
2464 * The name of the Multi-Region Access Point.
2465 *
2466 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-name
2467 */
2468 name: string | undefined;
2469 /**
2470 * The PublicAccessBlock configuration that you want to apply to this Multi-Region Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of "Public"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .
2471 *
2472 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspoint.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration
2473 */
2474 publicAccessBlockConfiguration: CfnMultiRegionAccessPoint.PublicAccessBlockConfigurationProperty | cdk.IResolvable | undefined;
2475 /**
2476 * Create a new `AWS::S3::MultiRegionAccessPoint`.
2477 *
2478 * @param scope - scope in which this resource is defined
2479 * @param id - scoped id of the resource
2480 * @param props - resource properties
2481 */
2482 constructor(scope: cdk.Construct, id: string, props: CfnMultiRegionAccessPointProps);
2483 /**
2484 * Examines the CloudFormation resource and discloses attributes.
2485 *
2486 * @param inspector - tree inspector to collect and process attributes
2487 *
2488 */
2489 inspect(inspector: cdk.TreeInspector): void;
2490 protected get cfnProperties(): {
2491 [key: string]: any;
2492 };
2493 protected renderProperties(props: {
2494 [key: string]: any;
2495 }): {
2496 [key: string]: any;
2497 };
2498}
2499export declare namespace CfnMultiRegionAccessPoint {
2500 /**
2501 * The PublicAccessBlock configuration that you want to apply to this Amazon S3 Multi-Region Access Point. You can enable the configuration options in any combination. For more information about when Amazon S3 considers an object public, see [The Meaning of "Public"](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) in the *Amazon S3 User Guide* .
2502 *
2503 * @struct
2504 * @stability external
2505 *
2506 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html
2507 */
2508 interface PublicAccessBlockConfigurationProperty {
2509 /**
2510 * 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:
2511 *
2512 * - PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is public.
2513 * - PUT Object calls fail if the request includes a public ACL.
2514 * - PUT Bucket calls fail if the request includes a public ACL.
2515 *
2516 * Enabling this setting doesn't affect existing policies or ACLs.
2517 *
2518 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-blockpublicacls
2519 */
2520 readonly blockPublicAcls?: boolean | cdk.IResolvable;
2521 /**
2522 * 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.
2523 *
2524 * Enabling this setting doesn't affect existing bucket policies.
2525 *
2526 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-blockpublicpolicy
2527 */
2528 readonly blockPublicPolicy?: boolean | cdk.IResolvable;
2529 /**
2530 * 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.
2531 *
2532 * Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't prevent new public ACLs from being set.
2533 *
2534 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-ignorepublicacls
2535 */
2536 readonly ignorePublicAcls?: boolean | cdk.IResolvable;
2537 /**
2538 * 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.
2539 *
2540 * 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.
2541 *
2542 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-publicaccessblockconfiguration.html#cfn-s3-multiregionaccesspoint-publicaccessblockconfiguration-restrictpublicbuckets
2543 */
2544 readonly restrictPublicBuckets?: boolean | cdk.IResolvable;
2545 }
2546}
2547export declare namespace CfnMultiRegionAccessPoint {
2548 /**
2549 * A bucket associated with a specific Region when creating Multi-Region Access Points.
2550 *
2551 * @struct
2552 * @stability external
2553 *
2554 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html
2555 */
2556 interface RegionProperty {
2557 /**
2558 * The name of the associated bucket for the Region.
2559 *
2560 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html#cfn-s3-multiregionaccesspoint-region-bucket
2561 */
2562 readonly bucket: string;
2563 /**
2564 * `CfnMultiRegionAccessPoint.RegionProperty.BucketAccountId`
2565 *
2566 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspoint-region.html#cfn-s3-multiregionaccesspoint-region-bucketaccountid
2567 */
2568 readonly bucketAccountId?: string;
2569 }
2570}
2571/**
2572 * Properties for defining a `CfnMultiRegionAccessPointPolicy`
2573 *
2574 * @struct
2575 * @stability external
2576 *
2577 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html
2578 */
2579export interface CfnMultiRegionAccessPointPolicyProps {
2580 /**
2581 * The name of the Multi-Region Access Point.
2582 *
2583 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-mrapname
2584 */
2585 readonly mrapName: string;
2586 /**
2587 * The access policy associated with the Multi-Region Access Point.
2588 *
2589 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-policy
2590 */
2591 readonly policy: any | cdk.IResolvable;
2592}
2593/**
2594 * A CloudFormation `AWS::S3::MultiRegionAccessPointPolicy`
2595 *
2596 * Applies an Amazon S3 access policy to an Amazon S3 Multi-Region Access Point.
2597 *
2598 * It is not possible to delete an access policy for a Multi-Region Access Point from the CloudFormation template. When you attempt to delete the policy, CloudFormation updates the policy using `DeletionPolicy:Retain` and `UpdateReplacePolicy:Retain` . CloudFormation updates the policy to only allow access to the account that created the bucket.
2599 *
2600 * @cloudformationResource AWS::S3::MultiRegionAccessPointPolicy
2601 * @stability external
2602 *
2603 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html
2604 */
2605export declare class CfnMultiRegionAccessPointPolicy extends cdk.CfnResource implements cdk.IInspectable {
2606 /**
2607 * The CloudFormation resource type name for this resource class.
2608 */
2609 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::S3::MultiRegionAccessPointPolicy";
2610 /**
2611 * A factory method that creates a new instance of this class from an object
2612 * containing the CloudFormation properties of this resource.
2613 * Used in the @aws-cdk/cloudformation-include module.
2614 *
2615 * @internal
2616 */
2617 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnMultiRegionAccessPointPolicy;
2618 /**
2619 *
2620 * @cloudformationAttribute PolicyStatus.IsPublic
2621 */
2622 readonly attrPolicyStatusIsPublic: string;
2623 /**
2624 * The name of the Multi-Region Access Point.
2625 *
2626 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-mrapname
2627 */
2628 mrapName: string;
2629 /**
2630 * The access policy associated with the Multi-Region Access Point.
2631 *
2632 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-multiregionaccesspointpolicy.html#cfn-s3-multiregionaccesspointpolicy-policy
2633 */
2634 policy: any | cdk.IResolvable;
2635 /**
2636 * Create a new `AWS::S3::MultiRegionAccessPointPolicy`.
2637 *
2638 * @param scope - scope in which this resource is defined
2639 * @param id - scoped id of the resource
2640 * @param props - resource properties
2641 */
2642 constructor(scope: cdk.Construct, id: string, props: CfnMultiRegionAccessPointPolicyProps);
2643 /**
2644 * Examines the CloudFormation resource and discloses attributes.
2645 *
2646 * @param inspector - tree inspector to collect and process attributes
2647 *
2648 */
2649 inspect(inspector: cdk.TreeInspector): void;
2650 protected get cfnProperties(): {
2651 [key: string]: any;
2652 };
2653 protected renderProperties(props: {
2654 [key: string]: any;
2655 }): {
2656 [key: string]: any;
2657 };
2658}
2659export declare namespace CfnMultiRegionAccessPointPolicy {
2660 /**
2661 * The container element for a bucket's policy status.
2662 *
2663 * @struct
2664 * @stability external
2665 *
2666 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspointpolicy-policystatus.html
2667 */
2668 interface PolicyStatusProperty {
2669 /**
2670 * The policy status for this bucket. `TRUE` indicates that this bucket is public. `FALSE` indicates that the bucket is not public.
2671 *
2672 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-multiregionaccesspointpolicy-policystatus.html#cfn-s3-multiregionaccesspointpolicy-policystatus-ispublic
2673 */
2674 readonly isPublic: string;
2675 }
2676}
2677/**
2678 * Properties for defining a `CfnStorageLens`
2679 *
2680 * @struct
2681 * @stability external
2682 *
2683 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html
2684 */
2685export interface CfnStorageLensProps {
2686 /**
2687 * This resource contains the details Amazon S3 Storage Lens configuration.
2688 *
2689 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-storagelensconfiguration
2690 */
2691 readonly storageLensConfiguration: CfnStorageLens.StorageLensConfigurationProperty | cdk.IResolvable;
2692 /**
2693 * A set of tags (key–value pairs) to associate with the Storage Lens configuration.
2694 *
2695 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-tags
2696 */
2697 readonly tags?: cdk.CfnTag[];
2698}
2699/**
2700 * A CloudFormation `AWS::S3::StorageLens`
2701 *
2702 * The AWS::S3::StorageLens resource creates an Amazon S3 Storage Lens configuration.
2703 *
2704 * @cloudformationResource AWS::S3::StorageLens
2705 * @stability external
2706 *
2707 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html
2708 */
2709export declare class CfnStorageLens extends cdk.CfnResource implements cdk.IInspectable {
2710 /**
2711 * The CloudFormation resource type name for this resource class.
2712 */
2713 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::S3::StorageLens";
2714 /**
2715 * A factory method that creates a new instance of this class from an object
2716 * containing the CloudFormation properties of this resource.
2717 * Used in the @aws-cdk/cloudformation-include module.
2718 *
2719 * @internal
2720 */
2721 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnStorageLens;
2722 /**
2723 * This property contains the details of the ARN of the S3 Storage Lens configuration. This property is read-only.
2724 * @cloudformationAttribute StorageLensConfiguration.StorageLensArn
2725 */
2726 readonly attrStorageLensConfigurationStorageLensArn: string;
2727 /**
2728 * This resource contains the details Amazon S3 Storage Lens configuration.
2729 *
2730 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-storagelensconfiguration
2731 */
2732 storageLensConfiguration: CfnStorageLens.StorageLensConfigurationProperty | cdk.IResolvable;
2733 /**
2734 * A set of tags (key–value pairs) to associate with the Storage Lens configuration.
2735 *
2736 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-s3-storagelens.html#cfn-s3-storagelens-tags
2737 */
2738 readonly tags: cdk.TagManager;
2739 /**
2740 * Create a new `AWS::S3::StorageLens`.
2741 *
2742 * @param scope - scope in which this resource is defined
2743 * @param id - scoped id of the resource
2744 * @param props - resource properties
2745 */
2746 constructor(scope: cdk.Construct, id: string, props: CfnStorageLensProps);
2747 /**
2748 * Examines the CloudFormation resource and discloses attributes.
2749 *
2750 * @param inspector - tree inspector to collect and process attributes
2751 *
2752 */
2753 inspect(inspector: cdk.TreeInspector): void;
2754 protected get cfnProperties(): {
2755 [key: string]: any;
2756 };
2757 protected renderProperties(props: {
2758 [key: string]: any;
2759 }): {
2760 [key: string]: any;
2761 };
2762}
2763export declare namespace CfnStorageLens {
2764 /**
2765 * This resource contains the details of the account-level metrics for Amazon S3 Storage Lens.
2766 *
2767 * @struct
2768 * @stability external
2769 *
2770 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html
2771 */
2772 interface AccountLevelProperty {
2773 /**
2774 * This property contains the details of account-level activity metrics for S3 Storage Lens.
2775 *
2776 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-activitymetrics
2777 */
2778 readonly activityMetrics?: CfnStorageLens.ActivityMetricsProperty | cdk.IResolvable;
2779 /**
2780 * This property contains the details of account-level advanced cost optimization metrics for S3 Storage Lens.
2781 *
2782 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-advancedcostoptimizationmetrics
2783 */
2784 readonly advancedCostOptimizationMetrics?: CfnStorageLens.AdvancedCostOptimizationMetricsProperty | cdk.IResolvable;
2785 /**
2786 * This property contains the details of account-level advanced data protection metrics for S3 Storage Lens.
2787 *
2788 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-advanceddataprotectionmetrics
2789 */
2790 readonly advancedDataProtectionMetrics?: CfnStorageLens.AdvancedDataProtectionMetricsProperty | cdk.IResolvable;
2791 /**
2792 * This property contains the details of the account-level bucket-level configurations for Amazon S3 Storage Lens.
2793 *
2794 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-bucketlevel
2795 */
2796 readonly bucketLevel: CfnStorageLens.BucketLevelProperty | cdk.IResolvable;
2797 /**
2798 * This property contains the details of account-level detailed status code metrics for S3 Storage Lens.
2799 *
2800 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-accountlevel.html#cfn-s3-storagelens-accountlevel-detailedstatuscodesmetrics
2801 */
2802 readonly detailedStatusCodesMetrics?: CfnStorageLens.DetailedStatusCodesMetricsProperty | cdk.IResolvable;
2803 }
2804}
2805export declare namespace CfnStorageLens {
2806 /**
2807 * This resource enables Amazon S3 Storage Lens activity metrics. Activity metrics show details about how your storage is requested, such as requests (for example, All requests, Get requests, Put requests), bytes uploaded or downloaded, and errors.
2808 *
2809 * For more information, see [Assessing your storage activity and usage with S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the *Amazon S3 User Guide* . For a complete list of metrics, see [S3 Storage Lens metrics glossary](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) in the *Amazon S3 User Guide* .
2810 *
2811 * @struct
2812 * @stability external
2813 *
2814 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-activitymetrics.html
2815 */
2816 interface ActivityMetricsProperty {
2817 /**
2818 * A property that indicates whether the activity metrics is enabled.
2819 *
2820 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-activitymetrics.html#cfn-s3-storagelens-activitymetrics-isenabled
2821 */
2822 readonly isEnabled?: boolean | cdk.IResolvable;
2823 }
2824}
2825export declare namespace CfnStorageLens {
2826 /**
2827 * This resource enables Amazon S3 Storage Lens advanced cost optimization metrics. Advanced cost optimization metrics provide insights that you can use to manage and optimize your storage costs, for example, lifecycle rule counts for transitions, expirations, and incomplete multipart uploads.
2828 *
2829 * For more information, see [Assessing your storage activity and usage with S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the *Amazon S3 User Guide* . For a complete list of metrics, see [S3 Storage Lens metrics glossary](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) in the *Amazon S3 User Guide* .
2830 *
2831 * @struct
2832 * @stability external
2833 *
2834 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-advancedcostoptimizationmetrics.html
2835 */
2836 interface AdvancedCostOptimizationMetricsProperty {
2837 /**
2838 * Indicates whether advanced cost optimization metrics are enabled.
2839 *
2840 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-advancedcostoptimizationmetrics.html#cfn-s3-storagelens-advancedcostoptimizationmetrics-isenabled
2841 */
2842 readonly isEnabled?: boolean | cdk.IResolvable;
2843 }
2844}
2845export declare namespace CfnStorageLens {
2846 /**
2847 * This resource enables Amazon S3 Storage Lens advanced data protection metrics. Advanced data protection metrics provide insights that you can use to perform audits and protect your data, for example replication rule counts within and across Regions.
2848 *
2849 * For more information, see [Assessing your storage activity and usage with S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the *Amazon S3 User Guide* . For a complete list of metrics, see [S3 Storage Lens metrics glossary](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) in the *Amazon S3 User Guide* .
2850 *
2851 * @struct
2852 * @stability external
2853 *
2854 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-advanceddataprotectionmetrics.html
2855 */
2856 interface AdvancedDataProtectionMetricsProperty {
2857 /**
2858 * Indicates whether advanced data protection metrics are enabled.
2859 *
2860 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-advanceddataprotectionmetrics.html#cfn-s3-storagelens-advanceddataprotectionmetrics-isenabled
2861 */
2862 readonly isEnabled?: boolean | cdk.IResolvable;
2863 }
2864}
2865export declare namespace CfnStorageLens {
2866 /**
2867 * This resource contains the details of the AWS Organization for Amazon S3 Storage Lens.
2868 *
2869 * @struct
2870 * @stability external
2871 *
2872 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-awsorg.html
2873 */
2874 interface AwsOrgProperty {
2875 /**
2876 * This resource contains the ARN of the AWS Organization.
2877 *
2878 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-awsorg.html#cfn-s3-storagelens-awsorg-arn
2879 */
2880 readonly arn: string;
2881 }
2882}
2883export declare namespace CfnStorageLens {
2884 /**
2885 * A property for the bucket-level storage metrics for Amazon S3 Storage Lens.
2886 *
2887 * @struct
2888 * @stability external
2889 *
2890 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html
2891 */
2892 interface BucketLevelProperty {
2893 /**
2894 * A property for bucket-level activity metrics for S3 Storage Lens.
2895 *
2896 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-activitymetrics
2897 */
2898 readonly activityMetrics?: CfnStorageLens.ActivityMetricsProperty | cdk.IResolvable;
2899 /**
2900 * A property for bucket-level advanced cost optimization metrics for S3 Storage Lens.
2901 *
2902 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-advancedcostoptimizationmetrics
2903 */
2904 readonly advancedCostOptimizationMetrics?: CfnStorageLens.AdvancedCostOptimizationMetricsProperty | cdk.IResolvable;
2905 /**
2906 * A property for bucket-level advanced data protection metrics for S3 Storage Lens.
2907 *
2908 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-advanceddataprotectionmetrics
2909 */
2910 readonly advancedDataProtectionMetrics?: CfnStorageLens.AdvancedDataProtectionMetricsProperty | cdk.IResolvable;
2911 /**
2912 * A property for bucket-level detailed status code metrics for S3 Storage Lens.
2913 *
2914 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-detailedstatuscodesmetrics
2915 */
2916 readonly detailedStatusCodesMetrics?: CfnStorageLens.DetailedStatusCodesMetricsProperty | cdk.IResolvable;
2917 /**
2918 * A property for bucket-level prefix-level storage metrics for S3 Storage Lens.
2919 *
2920 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketlevel.html#cfn-s3-storagelens-bucketlevel-prefixlevel
2921 */
2922 readonly prefixLevel?: CfnStorageLens.PrefixLevelProperty | cdk.IResolvable;
2923 }
2924}
2925export declare namespace CfnStorageLens {
2926 /**
2927 * This resource contains the details of the buckets and Regions for the Amazon S3 Storage Lens configuration.
2928 *
2929 * @struct
2930 * @stability external
2931 *
2932 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html
2933 */
2934 interface BucketsAndRegionsProperty {
2935 /**
2936 * This property contains the details of the buckets for the Amazon S3 Storage Lens configuration. This should be the bucket Amazon Resource Name(ARN). For valid values, see [Buckets ARN format here](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_Include.html#API_control_Include_Contents) in the *Amazon S3 API Reference* .
2937 *
2938 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html#cfn-s3-storagelens-bucketsandregions-buckets
2939 */
2940 readonly buckets?: string[];
2941 /**
2942 * This property contains the details of the Regions for the S3 Storage Lens configuration.
2943 *
2944 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-bucketsandregions.html#cfn-s3-storagelens-bucketsandregions-regions
2945 */
2946 readonly regions?: string[];
2947 }
2948}
2949export declare namespace CfnStorageLens {
2950 /**
2951 * This resource enables the Amazon CloudWatch publishing option for Amazon S3 Storage Lens metrics.
2952 *
2953 * For more information, see [Monitor S3 Storage Lens metrics in CloudWatch](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_view_metrics_cloudwatch.html) in the *Amazon S3 User Guide* .
2954 *
2955 * @struct
2956 * @stability external
2957 *
2958 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-cloudwatchmetrics.html
2959 */
2960 interface CloudWatchMetricsProperty {
2961 /**
2962 * This property identifies whether the CloudWatch publishing option for S3 Storage Lens is enabled.
2963 *
2964 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-cloudwatchmetrics.html#cfn-s3-storagelens-cloudwatchmetrics-isenabled
2965 */
2966 readonly isEnabled: boolean | cdk.IResolvable;
2967 }
2968}
2969export declare namespace CfnStorageLens {
2970 /**
2971 * This resource contains the details of the Amazon S3 Storage Lens metrics export.
2972 *
2973 * @struct
2974 * @stability external
2975 *
2976 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-dataexport.html
2977 */
2978 interface DataExportProperty {
2979 /**
2980 * This property enables the Amazon CloudWatch publishing option for S3 Storage Lens metrics.
2981 *
2982 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-dataexport.html#cfn-s3-storagelens-dataexport-cloudwatchmetrics
2983 */
2984 readonly cloudWatchMetrics?: CfnStorageLens.CloudWatchMetricsProperty | cdk.IResolvable;
2985 /**
2986 * This property contains the details of the bucket where the S3 Storage Lens metrics export will be placed.
2987 *
2988 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-dataexport.html#cfn-s3-storagelens-dataexport-s3bucketdestination
2989 */
2990 readonly s3BucketDestination?: CfnStorageLens.S3BucketDestinationProperty | cdk.IResolvable;
2991 }
2992}
2993export declare namespace CfnStorageLens {
2994 /**
2995 * This resource enables Amazon S3 Storage Lens detailed status code metrics. Detailed status code metrics generate metrics for HTTP status codes, such as `200 OK` , `403 Forbidden` , `503 Service Unavailable` and others.
2996 *
2997 * For more information, see [Assessing your storage activity and usage with S3 Storage Lens](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens.html) in the *Amazon S3 User Guide* . For a complete list of metrics, see [S3 Storage Lens metrics glossary](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage_lens_metrics_glossary.html) in the *Amazon S3 User Guide* .
2998 *
2999 * @struct
3000 * @stability external
3001 *
3002 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-detailedstatuscodesmetrics.html
3003 */
3004 interface DetailedStatusCodesMetricsProperty {
3005 /**
3006 * Indicates whether detailed status code metrics are enabled.
3007 *
3008 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-detailedstatuscodesmetrics.html#cfn-s3-storagelens-detailedstatuscodesmetrics-isenabled
3009 */
3010 readonly isEnabled?: boolean | cdk.IResolvable;
3011 }
3012}
3013export declare namespace CfnStorageLens {
3014 /**
3015 * This resource contains the type of server-side encryption used to encrypt an Amazon S3 Storage Lens metrics export. For valid values, see the [StorageLensDataExportEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_StorageLensDataExportEncryption.html) in the *Amazon S3 API Reference* .
3016 *
3017 * @struct
3018 * @stability external
3019 *
3020 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-encryption.html
3021 */
3022 interface EncryptionProperty {
3023 /**
3024 * Specifies the use of AWS Key Management Service keys (SSE-KMS) to encrypt the S3 Storage Lens metrics export file.
3025 *
3026 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-encryption.html#cfn-s3-storagelens-encryption-ssekms
3027 */
3028 readonly ssekms?: CfnStorageLens.SSEKMSProperty | cdk.IResolvable;
3029 /**
3030 * Specifies the use of an Amazon S3-managed key (SSE-S3) to encrypt the S3 Storage Lens metrics export file.
3031 *
3032 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-encryption.html#cfn-s3-storagelens-encryption-sses3
3033 */
3034 readonly sses3?: any | cdk.IResolvable;
3035 }
3036}
3037export declare namespace CfnStorageLens {
3038 /**
3039 * This resource contains the details of the prefix-level of the Amazon S3 Storage Lens.
3040 *
3041 * @struct
3042 * @stability external
3043 *
3044 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevel.html
3045 */
3046 interface PrefixLevelProperty {
3047 /**
3048 * A property for the prefix-level storage metrics for Amazon S3 Storage Lens.
3049 *
3050 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevel.html#cfn-s3-storagelens-prefixlevel-storagemetrics
3051 */
3052 readonly storageMetrics: CfnStorageLens.PrefixLevelStorageMetricsProperty | cdk.IResolvable;
3053 }
3054}
3055export declare namespace CfnStorageLens {
3056 /**
3057 * This resource contains the details of the prefix-level storage metrics for Amazon S3 Storage Lens.
3058 *
3059 * @struct
3060 * @stability external
3061 *
3062 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevelstoragemetrics.html
3063 */
3064 interface PrefixLevelStorageMetricsProperty {
3065 /**
3066 * This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.
3067 *
3068 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevelstoragemetrics.html#cfn-s3-storagelens-prefixlevelstoragemetrics-isenabled
3069 */
3070 readonly isEnabled?: boolean | cdk.IResolvable;
3071 /**
3072 * This property identifies whether the details of the prefix-level storage metrics for S3 Storage Lens are enabled.
3073 *
3074 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-prefixlevelstoragemetrics.html#cfn-s3-storagelens-prefixlevelstoragemetrics-selectioncriteria
3075 */
3076 readonly selectionCriteria?: CfnStorageLens.SelectionCriteriaProperty | cdk.IResolvable;
3077 }
3078}
3079export declare namespace CfnStorageLens {
3080 /**
3081 * This resource contains the details of the bucket where the Amazon S3 Storage Lens metrics export will be placed.
3082 *
3083 * @struct
3084 * @stability external
3085 *
3086 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html
3087 */
3088 interface S3BucketDestinationProperty {
3089 /**
3090 * This property contains the details of the AWS account ID of the S3 Storage Lens export bucket destination.
3091 *
3092 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-accountid
3093 */
3094 readonly accountId: string;
3095 /**
3096 * This property contains the details of the ARN of the bucket destination of the S3 Storage Lens export.
3097 *
3098 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-arn
3099 */
3100 readonly arn: string;
3101 /**
3102 * This property contains the details of the encryption of the bucket destination of the Amazon S3 Storage Lens metrics export.
3103 *
3104 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-encryption
3105 */
3106 readonly encryption?: CfnStorageLens.EncryptionProperty | cdk.IResolvable;
3107 /**
3108 * This property contains the details of the format of the S3 Storage Lens export bucket destination.
3109 *
3110 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-format
3111 */
3112 readonly format: string;
3113 /**
3114 * This property contains the details of the output schema version of the S3 Storage Lens export bucket destination.
3115 *
3116 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-outputschemaversion
3117 */
3118 readonly outputSchemaVersion: string;
3119 /**
3120 * This property contains the details of the prefix of the bucket destination of the S3 Storage Lens export .
3121 *
3122 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-s3bucketdestination.html#cfn-s3-storagelens-s3bucketdestination-prefix
3123 */
3124 readonly prefix?: string;
3125 }
3126}
3127export declare namespace CfnStorageLens {
3128 /**
3129 * Specifies the use of server-side encryption using an AWS Key Management Service key (SSE-KMS) to encrypt the delivered S3 Storage Lens metrics export file.
3130 *
3131 * @struct
3132 * @stability external
3133 *
3134 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-ssekms.html
3135 */
3136 interface SSEKMSProperty {
3137 /**
3138 * Specifies the Amazon Resource Name (ARN) of the customer managed AWS KMS key to use for encrypting the S3 Storage Lens metrics export file. Amazon S3 only supports symmetric encryption keys. For more information, see [Special-purpose keys](https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html) in the *AWS Key Management Service Developer Guide* .
3139 *
3140 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-ssekms.html#cfn-s3-storagelens-ssekms-keyid
3141 */
3142 readonly keyId: string;
3143 }
3144}
3145export declare namespace CfnStorageLens {
3146 /**
3147 * This resource contains the details of the Amazon S3 Storage Lens selection criteria.
3148 *
3149 * @struct
3150 * @stability external
3151 *
3152 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html
3153 */
3154 interface SelectionCriteriaProperty {
3155 /**
3156 * This property contains the details of the S3 Storage Lens delimiter being used.
3157 *
3158 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-delimiter
3159 */
3160 readonly delimiter?: string;
3161 /**
3162 * This property contains the details of the max depth that S3 Storage Lens will collect metrics up to.
3163 *
3164 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-maxdepth
3165 */
3166 readonly maxDepth?: number;
3167 /**
3168 * This property contains the details of the minimum storage bytes percentage threshold that S3 Storage Lens will collect metrics up to.
3169 *
3170 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-selectioncriteria.html#cfn-s3-storagelens-selectioncriteria-minstoragebytespercentage
3171 */
3172 readonly minStorageBytesPercentage?: number;
3173 }
3174}
3175export declare namespace CfnStorageLens {
3176 /**
3177 * This is the property of the Amazon S3 Storage Lens configuration.
3178 *
3179 * @struct
3180 * @stability external
3181 *
3182 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html
3183 */
3184 interface StorageLensConfigurationProperty {
3185 /**
3186 * This property contains the details of the account-level metrics for Amazon S3 Storage Lens configuration.
3187 *
3188 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-accountlevel
3189 */
3190 readonly accountLevel: CfnStorageLens.AccountLevelProperty | cdk.IResolvable;
3191 /**
3192 * This property contains the details of the AWS Organization for the S3 Storage Lens configuration.
3193 *
3194 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-awsorg
3195 */
3196 readonly awsOrg?: CfnStorageLens.AwsOrgProperty | cdk.IResolvable;
3197 /**
3198 * This property contains the details of this S3 Storage Lens configuration's metrics export.
3199 *
3200 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-dataexport
3201 */
3202 readonly dataExport?: CfnStorageLens.DataExportProperty | cdk.IResolvable;
3203 /**
3204 * This property contains the details of the bucket and or Regions excluded for Amazon S3 Storage Lens configuration.
3205 *
3206 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-exclude
3207 */
3208 readonly exclude?: CfnStorageLens.BucketsAndRegionsProperty | cdk.IResolvable;
3209 /**
3210 * This property contains the details of the ID of the S3 Storage Lens configuration.
3211 *
3212 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-id
3213 */
3214 readonly id: string;
3215 /**
3216 * This property contains the details of the bucket and or Regions included for Amazon S3 Storage Lens configuration.
3217 *
3218 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-include
3219 */
3220 readonly include?: CfnStorageLens.BucketsAndRegionsProperty | cdk.IResolvable;
3221 /**
3222 * This property contains the details of whether the Amazon S3 Storage Lens configuration is enabled.
3223 *
3224 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-isenabled
3225 */
3226 readonly isEnabled: boolean | cdk.IResolvable;
3227 /**
3228 * This property contains the details of the ARN of the S3 Storage Lens configuration. This property is read-only.
3229 *
3230 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-storagelens-storagelensconfiguration.html#cfn-s3-storagelens-storagelensconfiguration-storagelensarn
3231 */
3232 readonly storageLensArn?: string;
3233 }
3234}