@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
927 lines • 79 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface S3BucketConfig extends cdktf.TerraformMetaArguments {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#acceleration_status S3Bucket#acceleration_status}
*/
readonly accelerationStatus?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#acl S3Bucket#acl}
*/
readonly acl?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#bucket S3Bucket#bucket}
*/
readonly bucket?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#bucket_prefix S3Bucket#bucket_prefix}
*/
readonly bucketPrefix?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#force_destroy S3Bucket#force_destroy}
*/
readonly forceDestroy?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#id S3Bucket#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#object_lock_enabled S3Bucket#object_lock_enabled}
*/
readonly objectLockEnabled?: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#policy S3Bucket#policy}
*/
readonly policy?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#request_payer S3Bucket#request_payer}
*/
readonly requestPayer?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#tags S3Bucket#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#tags_all S3Bucket#tags_all}
*/
readonly tagsAll?: {
[key: string]: string;
};
/**
* cors_rule block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#cors_rule S3Bucket#cors_rule}
*/
readonly corsRule?: S3BucketCorsRule[] | cdktf.IResolvable;
/**
* grant block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#grant S3Bucket#grant}
*/
readonly grant?: S3BucketGrant[] | cdktf.IResolvable;
/**
* lifecycle_rule block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#lifecycle_rule S3Bucket#lifecycle_rule}
*/
readonly lifecycleRule?: S3BucketLifecycleRule[] | cdktf.IResolvable;
/**
* logging block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#logging S3Bucket#logging}
*/
readonly logging?: S3BucketLogging;
/**
* object_lock_configuration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#object_lock_configuration S3Bucket#object_lock_configuration}
*/
readonly objectLockConfiguration?: S3BucketObjectLockConfiguration;
/**
* replication_configuration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#replication_configuration S3Bucket#replication_configuration}
*/
readonly replicationConfiguration?: S3BucketReplicationConfiguration;
/**
* server_side_encryption_configuration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#server_side_encryption_configuration S3Bucket#server_side_encryption_configuration}
*/
readonly serverSideEncryptionConfiguration?: S3BucketServerSideEncryptionConfiguration;
/**
* timeouts block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#timeouts S3Bucket#timeouts}
*/
readonly timeouts?: S3BucketTimeouts;
/**
* versioning block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#versioning S3Bucket#versioning}
*/
readonly versioning?: S3BucketVersioning;
/**
* website block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#website S3Bucket#website}
*/
readonly website?: S3BucketWebsite;
}
export interface S3BucketCorsRule {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#allowed_headers S3Bucket#allowed_headers}
*/
readonly allowedHeaders?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#allowed_methods S3Bucket#allowed_methods}
*/
readonly allowedMethods: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#allowed_origins S3Bucket#allowed_origins}
*/
readonly allowedOrigins: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#expose_headers S3Bucket#expose_headers}
*/
readonly exposeHeaders?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#max_age_seconds S3Bucket#max_age_seconds}
*/
readonly maxAgeSeconds?: number;
}
export declare function s3BucketCorsRuleToTerraform(struct?: S3BucketCorsRule | cdktf.IResolvable): any;
export declare function s3BucketCorsRuleToHclTerraform(struct?: S3BucketCorsRule | cdktf.IResolvable): any;
export declare class S3BucketCorsRuleOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): S3BucketCorsRule | cdktf.IResolvable | undefined;
set internalValue(value: S3BucketCorsRule | cdktf.IResolvable | undefined);
private _allowedHeaders?;
get allowedHeaders(): string[];
set allowedHeaders(value: string[]);
resetAllowedHeaders(): void;
get allowedHeadersInput(): string[] | undefined;
private _allowedMethods?;
get allowedMethods(): string[];
set allowedMethods(value: string[]);
get allowedMethodsInput(): string[] | undefined;
private _allowedOrigins?;
get allowedOrigins(): string[];
set allowedOrigins(value: string[]);
get allowedOriginsInput(): string[] | undefined;
private _exposeHeaders?;
get exposeHeaders(): string[];
set exposeHeaders(value: string[]);
resetExposeHeaders(): void;
get exposeHeadersInput(): string[] | undefined;
private _maxAgeSeconds?;
get maxAgeSeconds(): number;
set maxAgeSeconds(value: number);
resetMaxAgeSeconds(): void;
get maxAgeSecondsInput(): number | undefined;
}
export declare class S3BucketCorsRuleList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: S3BucketCorsRule[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): S3BucketCorsRuleOutputReference;
}
export interface S3BucketGrant {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#id S3Bucket#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#permissions S3Bucket#permissions}
*/
readonly permissions: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#type S3Bucket#type}
*/
readonly type: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#uri S3Bucket#uri}
*/
readonly uri?: string;
}
export declare function s3BucketGrantToTerraform(struct?: S3BucketGrant | cdktf.IResolvable): any;
export declare function s3BucketGrantToHclTerraform(struct?: S3BucketGrant | cdktf.IResolvable): any;
export declare class S3BucketGrantOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): S3BucketGrant | cdktf.IResolvable | undefined;
set internalValue(value: S3BucketGrant | cdktf.IResolvable | undefined);
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _permissions?;
get permissions(): string[];
set permissions(value: string[]);
get permissionsInput(): string[] | undefined;
private _type?;
get type(): string;
set type(value: string);
get typeInput(): string | undefined;
private _uri?;
get uri(): string;
set uri(value: string);
resetUri(): void;
get uriInput(): string | undefined;
}
export declare class S3BucketGrantList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: S3BucketGrant[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): S3BucketGrantOutputReference;
}
export interface S3BucketLifecycleRuleExpiration {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#date S3Bucket#date}
*/
readonly date?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#days S3Bucket#days}
*/
readonly days?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#expired_object_delete_marker S3Bucket#expired_object_delete_marker}
*/
readonly expiredObjectDeleteMarker?: boolean | cdktf.IResolvable;
}
export declare function s3BucketLifecycleRuleExpirationToTerraform(struct?: S3BucketLifecycleRuleExpirationOutputReference | S3BucketLifecycleRuleExpiration): any;
export declare function s3BucketLifecycleRuleExpirationToHclTerraform(struct?: S3BucketLifecycleRuleExpirationOutputReference | S3BucketLifecycleRuleExpiration): any;
export declare class S3BucketLifecycleRuleExpirationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketLifecycleRuleExpiration | undefined;
set internalValue(value: S3BucketLifecycleRuleExpiration | undefined);
private _date?;
get date(): string;
set date(value: string);
resetDate(): void;
get dateInput(): string | undefined;
private _days?;
get days(): number;
set days(value: number);
resetDays(): void;
get daysInput(): number | undefined;
private _expiredObjectDeleteMarker?;
get expiredObjectDeleteMarker(): boolean | cdktf.IResolvable;
set expiredObjectDeleteMarker(value: boolean | cdktf.IResolvable);
resetExpiredObjectDeleteMarker(): void;
get expiredObjectDeleteMarkerInput(): boolean | cdktf.IResolvable | undefined;
}
export interface S3BucketLifecycleRuleNoncurrentVersionExpiration {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#days S3Bucket#days}
*/
readonly days?: number;
}
export declare function s3BucketLifecycleRuleNoncurrentVersionExpirationToTerraform(struct?: S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference | S3BucketLifecycleRuleNoncurrentVersionExpiration): any;
export declare function s3BucketLifecycleRuleNoncurrentVersionExpirationToHclTerraform(struct?: S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference | S3BucketLifecycleRuleNoncurrentVersionExpiration): any;
export declare class S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketLifecycleRuleNoncurrentVersionExpiration | undefined;
set internalValue(value: S3BucketLifecycleRuleNoncurrentVersionExpiration | undefined);
private _days?;
get days(): number;
set days(value: number);
resetDays(): void;
get daysInput(): number | undefined;
}
export interface S3BucketLifecycleRuleNoncurrentVersionTransition {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#days S3Bucket#days}
*/
readonly days?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#storage_class S3Bucket#storage_class}
*/
readonly storageClass: string;
}
export declare function s3BucketLifecycleRuleNoncurrentVersionTransitionToTerraform(struct?: S3BucketLifecycleRuleNoncurrentVersionTransition | cdktf.IResolvable): any;
export declare function s3BucketLifecycleRuleNoncurrentVersionTransitionToHclTerraform(struct?: S3BucketLifecycleRuleNoncurrentVersionTransition | cdktf.IResolvable): any;
export declare class S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): S3BucketLifecycleRuleNoncurrentVersionTransition | cdktf.IResolvable | undefined;
set internalValue(value: S3BucketLifecycleRuleNoncurrentVersionTransition | cdktf.IResolvable | undefined);
private _days?;
get days(): number;
set days(value: number);
resetDays(): void;
get daysInput(): number | undefined;
private _storageClass?;
get storageClass(): string;
set storageClass(value: string);
get storageClassInput(): string | undefined;
}
export declare class S3BucketLifecycleRuleNoncurrentVersionTransitionList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: S3BucketLifecycleRuleNoncurrentVersionTransition[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): S3BucketLifecycleRuleNoncurrentVersionTransitionOutputReference;
}
export interface S3BucketLifecycleRuleTransition {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#date S3Bucket#date}
*/
readonly date?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#days S3Bucket#days}
*/
readonly days?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#storage_class S3Bucket#storage_class}
*/
readonly storageClass: string;
}
export declare function s3BucketLifecycleRuleTransitionToTerraform(struct?: S3BucketLifecycleRuleTransition | cdktf.IResolvable): any;
export declare function s3BucketLifecycleRuleTransitionToHclTerraform(struct?: S3BucketLifecycleRuleTransition | cdktf.IResolvable): any;
export declare class S3BucketLifecycleRuleTransitionOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): S3BucketLifecycleRuleTransition | cdktf.IResolvable | undefined;
set internalValue(value: S3BucketLifecycleRuleTransition | cdktf.IResolvable | undefined);
private _date?;
get date(): string;
set date(value: string);
resetDate(): void;
get dateInput(): string | undefined;
private _days?;
get days(): number;
set days(value: number);
resetDays(): void;
get daysInput(): number | undefined;
private _storageClass?;
get storageClass(): string;
set storageClass(value: string);
get storageClassInput(): string | undefined;
}
export declare class S3BucketLifecycleRuleTransitionList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: S3BucketLifecycleRuleTransition[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): S3BucketLifecycleRuleTransitionOutputReference;
}
export interface S3BucketLifecycleRule {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#abort_incomplete_multipart_upload_days S3Bucket#abort_incomplete_multipart_upload_days}
*/
readonly abortIncompleteMultipartUploadDays?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#enabled S3Bucket#enabled}
*/
readonly enabled: boolean | cdktf.IResolvable;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#id S3Bucket#id}
*
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
*/
readonly id?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#prefix S3Bucket#prefix}
*/
readonly prefix?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#tags S3Bucket#tags}
*/
readonly tags?: {
[key: string]: string;
};
/**
* expiration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#expiration S3Bucket#expiration}
*/
readonly expiration?: S3BucketLifecycleRuleExpiration;
/**
* noncurrent_version_expiration block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#noncurrent_version_expiration S3Bucket#noncurrent_version_expiration}
*/
readonly noncurrentVersionExpiration?: S3BucketLifecycleRuleNoncurrentVersionExpiration;
/**
* noncurrent_version_transition block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#noncurrent_version_transition S3Bucket#noncurrent_version_transition}
*/
readonly noncurrentVersionTransition?: S3BucketLifecycleRuleNoncurrentVersionTransition[] | cdktf.IResolvable;
/**
* transition block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#transition S3Bucket#transition}
*/
readonly transition?: S3BucketLifecycleRuleTransition[] | cdktf.IResolvable;
}
export declare function s3BucketLifecycleRuleToTerraform(struct?: S3BucketLifecycleRule | cdktf.IResolvable): any;
export declare function s3BucketLifecycleRuleToHclTerraform(struct?: S3BucketLifecycleRule | cdktf.IResolvable): any;
export declare class S3BucketLifecycleRuleOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
private resolvableValue?;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param complexObjectIndex the index of this item in the list
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
get internalValue(): S3BucketLifecycleRule | cdktf.IResolvable | undefined;
set internalValue(value: S3BucketLifecycleRule | cdktf.IResolvable | undefined);
private _abortIncompleteMultipartUploadDays?;
get abortIncompleteMultipartUploadDays(): number;
set abortIncompleteMultipartUploadDays(value: number);
resetAbortIncompleteMultipartUploadDays(): void;
get abortIncompleteMultipartUploadDaysInput(): number | undefined;
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean | cdktf.IResolvable);
get enabledInput(): boolean | cdktf.IResolvable | undefined;
private _id?;
get id(): string;
set id(value: string);
resetId(): void;
get idInput(): string | undefined;
private _prefix?;
get prefix(): string;
set prefix(value: string);
resetPrefix(): void;
get prefixInput(): string | undefined;
private _tags?;
get tags(): {
[key: string]: string;
};
set tags(value: {
[key: string]: string;
});
resetTags(): void;
get tagsInput(): {
[key: string]: string;
} | undefined;
private _expiration;
get expiration(): S3BucketLifecycleRuleExpirationOutputReference;
putExpiration(value: S3BucketLifecycleRuleExpiration): void;
resetExpiration(): void;
get expirationInput(): S3BucketLifecycleRuleExpiration | undefined;
private _noncurrentVersionExpiration;
get noncurrentVersionExpiration(): S3BucketLifecycleRuleNoncurrentVersionExpirationOutputReference;
putNoncurrentVersionExpiration(value: S3BucketLifecycleRuleNoncurrentVersionExpiration): void;
resetNoncurrentVersionExpiration(): void;
get noncurrentVersionExpirationInput(): S3BucketLifecycleRuleNoncurrentVersionExpiration | undefined;
private _noncurrentVersionTransition;
get noncurrentVersionTransition(): S3BucketLifecycleRuleNoncurrentVersionTransitionList;
putNoncurrentVersionTransition(value: S3BucketLifecycleRuleNoncurrentVersionTransition[] | cdktf.IResolvable): void;
resetNoncurrentVersionTransition(): void;
get noncurrentVersionTransitionInput(): cdktf.IResolvable | S3BucketLifecycleRuleNoncurrentVersionTransition[] | undefined;
private _transition;
get transition(): S3BucketLifecycleRuleTransitionList;
putTransition(value: S3BucketLifecycleRuleTransition[] | cdktf.IResolvable): void;
resetTransition(): void;
get transitionInput(): cdktf.IResolvable | S3BucketLifecycleRuleTransition[] | undefined;
}
export declare class S3BucketLifecycleRuleList extends cdktf.ComplexList {
protected terraformResource: cdktf.IInterpolatingParent;
protected terraformAttribute: string;
protected wrapsSet: boolean;
internalValue?: S3BucketLifecycleRule[] | cdktf.IResolvable;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
/**
* @param index the index of the item to return
*/
get(index: number): S3BucketLifecycleRuleOutputReference;
}
export interface S3BucketLogging {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#target_bucket S3Bucket#target_bucket}
*/
readonly targetBucket: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#target_prefix S3Bucket#target_prefix}
*/
readonly targetPrefix?: string;
}
export declare function s3BucketLoggingToTerraform(struct?: S3BucketLoggingOutputReference | S3BucketLogging): any;
export declare function s3BucketLoggingToHclTerraform(struct?: S3BucketLoggingOutputReference | S3BucketLogging): any;
export declare class S3BucketLoggingOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketLogging | undefined;
set internalValue(value: S3BucketLogging | undefined);
private _targetBucket?;
get targetBucket(): string;
set targetBucket(value: string);
get targetBucketInput(): string | undefined;
private _targetPrefix?;
get targetPrefix(): string;
set targetPrefix(value: string);
resetTargetPrefix(): void;
get targetPrefixInput(): string | undefined;
}
export interface S3BucketObjectLockConfigurationRuleDefaultRetention {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#days S3Bucket#days}
*/
readonly days?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#mode S3Bucket#mode}
*/
readonly mode: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#years S3Bucket#years}
*/
readonly years?: number;
}
export declare function s3BucketObjectLockConfigurationRuleDefaultRetentionToTerraform(struct?: S3BucketObjectLockConfigurationRuleDefaultRetentionOutputReference | S3BucketObjectLockConfigurationRuleDefaultRetention): any;
export declare function s3BucketObjectLockConfigurationRuleDefaultRetentionToHclTerraform(struct?: S3BucketObjectLockConfigurationRuleDefaultRetentionOutputReference | S3BucketObjectLockConfigurationRuleDefaultRetention): any;
export declare class S3BucketObjectLockConfigurationRuleDefaultRetentionOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketObjectLockConfigurationRuleDefaultRetention | undefined;
set internalValue(value: S3BucketObjectLockConfigurationRuleDefaultRetention | undefined);
private _days?;
get days(): number;
set days(value: number);
resetDays(): void;
get daysInput(): number | undefined;
private _mode?;
get mode(): string;
set mode(value: string);
get modeInput(): string | undefined;
private _years?;
get years(): number;
set years(value: number);
resetYears(): void;
get yearsInput(): number | undefined;
}
export interface S3BucketObjectLockConfigurationRule {
/**
* default_retention block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#default_retention S3Bucket#default_retention}
*/
readonly defaultRetention: S3BucketObjectLockConfigurationRuleDefaultRetention;
}
export declare function s3BucketObjectLockConfigurationRuleToTerraform(struct?: S3BucketObjectLockConfigurationRuleOutputReference | S3BucketObjectLockConfigurationRule): any;
export declare function s3BucketObjectLockConfigurationRuleToHclTerraform(struct?: S3BucketObjectLockConfigurationRuleOutputReference | S3BucketObjectLockConfigurationRule): any;
export declare class S3BucketObjectLockConfigurationRuleOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketObjectLockConfigurationRule | undefined;
set internalValue(value: S3BucketObjectLockConfigurationRule | undefined);
private _defaultRetention;
get defaultRetention(): S3BucketObjectLockConfigurationRuleDefaultRetentionOutputReference;
putDefaultRetention(value: S3BucketObjectLockConfigurationRuleDefaultRetention): void;
get defaultRetentionInput(): S3BucketObjectLockConfigurationRuleDefaultRetention | undefined;
}
export interface S3BucketObjectLockConfiguration {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#object_lock_enabled S3Bucket#object_lock_enabled}
*/
readonly objectLockEnabled?: string;
/**
* rule block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#rule S3Bucket#rule}
*/
readonly rule?: S3BucketObjectLockConfigurationRule;
}
export declare function s3BucketObjectLockConfigurationToTerraform(struct?: S3BucketObjectLockConfigurationOutputReference | S3BucketObjectLockConfiguration): any;
export declare function s3BucketObjectLockConfigurationToHclTerraform(struct?: S3BucketObjectLockConfigurationOutputReference | S3BucketObjectLockConfiguration): any;
export declare class S3BucketObjectLockConfigurationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketObjectLockConfiguration | undefined;
set internalValue(value: S3BucketObjectLockConfiguration | undefined);
private _objectLockEnabled?;
get objectLockEnabled(): string;
set objectLockEnabled(value: string);
resetObjectLockEnabled(): void;
get objectLockEnabledInput(): string | undefined;
private _rule;
get rule(): S3BucketObjectLockConfigurationRuleOutputReference;
putRule(value: S3BucketObjectLockConfigurationRule): void;
resetRule(): void;
get ruleInput(): S3BucketObjectLockConfigurationRule | undefined;
}
export interface S3BucketReplicationConfigurationRulesDestinationAccessControlTranslation {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#owner S3Bucket#owner}
*/
readonly owner: string;
}
export declare function s3BucketReplicationConfigurationRulesDestinationAccessControlTranslationToTerraform(struct?: S3BucketReplicationConfigurationRulesDestinationAccessControlTranslationOutputReference | S3BucketReplicationConfigurationRulesDestinationAccessControlTranslation): any;
export declare function s3BucketReplicationConfigurationRulesDestinationAccessControlTranslationToHclTerraform(struct?: S3BucketReplicationConfigurationRulesDestinationAccessControlTranslationOutputReference | S3BucketReplicationConfigurationRulesDestinationAccessControlTranslation): any;
export declare class S3BucketReplicationConfigurationRulesDestinationAccessControlTranslationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketReplicationConfigurationRulesDestinationAccessControlTranslation | undefined;
set internalValue(value: S3BucketReplicationConfigurationRulesDestinationAccessControlTranslation | undefined);
private _owner?;
get owner(): string;
set owner(value: string);
get ownerInput(): string | undefined;
}
export interface S3BucketReplicationConfigurationRulesDestinationMetrics {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#minutes S3Bucket#minutes}
*/
readonly minutes?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#status S3Bucket#status}
*/
readonly status?: string;
}
export declare function s3BucketReplicationConfigurationRulesDestinationMetricsToTerraform(struct?: S3BucketReplicationConfigurationRulesDestinationMetricsOutputReference | S3BucketReplicationConfigurationRulesDestinationMetrics): any;
export declare function s3BucketReplicationConfigurationRulesDestinationMetricsToHclTerraform(struct?: S3BucketReplicationConfigurationRulesDestinationMetricsOutputReference | S3BucketReplicationConfigurationRulesDestinationMetrics): any;
export declare class S3BucketReplicationConfigurationRulesDestinationMetricsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketReplicationConfigurationRulesDestinationMetrics | undefined;
set internalValue(value: S3BucketReplicationConfigurationRulesDestinationMetrics | undefined);
private _minutes?;
get minutes(): number;
set minutes(value: number);
resetMinutes(): void;
get minutesInput(): number | undefined;
private _status?;
get status(): string;
set status(value: string);
resetStatus(): void;
get statusInput(): string | undefined;
}
export interface S3BucketReplicationConfigurationRulesDestinationReplicationTime {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#minutes S3Bucket#minutes}
*/
readonly minutes?: number;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#status S3Bucket#status}
*/
readonly status?: string;
}
export declare function s3BucketReplicationConfigurationRulesDestinationReplicationTimeToTerraform(struct?: S3BucketReplicationConfigurationRulesDestinationReplicationTimeOutputReference | S3BucketReplicationConfigurationRulesDestinationReplicationTime): any;
export declare function s3BucketReplicationConfigurationRulesDestinationReplicationTimeToHclTerraform(struct?: S3BucketReplicationConfigurationRulesDestinationReplicationTimeOutputReference | S3BucketReplicationConfigurationRulesDestinationReplicationTime): any;
export declare class S3BucketReplicationConfigurationRulesDestinationReplicationTimeOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketReplicationConfigurationRulesDestinationReplicationTime | undefined;
set internalValue(value: S3BucketReplicationConfigurationRulesDestinationReplicationTime | undefined);
private _minutes?;
get minutes(): number;
set minutes(value: number);
resetMinutes(): void;
get minutesInput(): number | undefined;
private _status?;
get status(): string;
set status(value: string);
resetStatus(): void;
get statusInput(): string | undefined;
}
export interface S3BucketReplicationConfigurationRulesDestination {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#account_id S3Bucket#account_id}
*/
readonly accountId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#bucket S3Bucket#bucket}
*/
readonly bucket: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#replica_kms_key_id S3Bucket#replica_kms_key_id}
*/
readonly replicaKmsKeyId?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#storage_class S3Bucket#storage_class}
*/
readonly storageClass?: string;
/**
* access_control_translation block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#access_control_translation S3Bucket#access_control_translation}
*/
readonly accessControlTranslation?: S3BucketReplicationConfigurationRulesDestinationAccessControlTranslation;
/**
* metrics block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#metrics S3Bucket#metrics}
*/
readonly metrics?: S3BucketReplicationConfigurationRulesDestinationMetrics;
/**
* replication_time block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#replication_time S3Bucket#replication_time}
*/
readonly replicationTime?: S3BucketReplicationConfigurationRulesDestinationReplicationTime;
}
export declare function s3BucketReplicationConfigurationRulesDestinationToTerraform(struct?: S3BucketReplicationConfigurationRulesDestinationOutputReference | S3BucketReplicationConfigurationRulesDestination): any;
export declare function s3BucketReplicationConfigurationRulesDestinationToHclTerraform(struct?: S3BucketReplicationConfigurationRulesDestinationOutputReference | S3BucketReplicationConfigurationRulesDestination): any;
export declare class S3BucketReplicationConfigurationRulesDestinationOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketReplicationConfigurationRulesDestination | undefined;
set internalValue(value: S3BucketReplicationConfigurationRulesDestination | undefined);
private _accountId?;
get accountId(): string;
set accountId(value: string);
resetAccountId(): void;
get accountIdInput(): string | undefined;
private _bucket?;
get bucket(): string;
set bucket(value: string);
get bucketInput(): string | undefined;
private _replicaKmsKeyId?;
get replicaKmsKeyId(): string;
set replicaKmsKeyId(value: string);
resetReplicaKmsKeyId(): void;
get replicaKmsKeyIdInput(): string | undefined;
private _storageClass?;
get storageClass(): string;
set storageClass(value: string);
resetStorageClass(): void;
get storageClassInput(): string | undefined;
private _accessControlTranslation;
get accessControlTranslation(): S3BucketReplicationConfigurationRulesDestinationAccessControlTranslationOutputReference;
putAccessControlTranslation(value: S3BucketReplicationConfigurationRulesDestinationAccessControlTranslation): void;
resetAccessControlTranslation(): void;
get accessControlTranslationInput(): S3BucketReplicationConfigurationRulesDestinationAccessControlTranslation | undefined;
private _metrics;
get metrics(): S3BucketReplicationConfigurationRulesDestinationMetricsOutputReference;
putMetrics(value: S3BucketReplicationConfigurationRulesDestinationMetrics): void;
resetMetrics(): void;
get metricsInput(): S3BucketReplicationConfigurationRulesDestinationMetrics | undefined;
private _replicationTime;
get replicationTime(): S3BucketReplicationConfigurationRulesDestinationReplicationTimeOutputReference;
putReplicationTime(value: S3BucketReplicationConfigurationRulesDestinationReplicationTime): void;
resetReplicationTime(): void;
get replicationTimeInput(): S3BucketReplicationConfigurationRulesDestinationReplicationTime | undefined;
}
export interface S3BucketReplicationConfigurationRulesFilter {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#prefix S3Bucket#prefix}
*/
readonly prefix?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#tags S3Bucket#tags}
*/
readonly tags?: {
[key: string]: string;
};
}
export declare function s3BucketReplicationConfigurationRulesFilterToTerraform(struct?: S3BucketReplicationConfigurationRulesFilterOutputReference | S3BucketReplicationConfigurationRulesFilter): any;
export declare function s3BucketReplicationConfigurationRulesFilterToHclTerraform(struct?: S3BucketReplicationConfigurationRulesFilterOutputReference | S3BucketReplicationConfigurationRulesFilter): any;
export declare class S3BucketReplicationConfigurationRulesFilterOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketReplicationConfigurationRulesFilter | undefined;
set internalValue(value: S3BucketReplicationConfigurationRulesFilter | undefined);
private _prefix?;
get prefix(): string;
set prefix(value: string);
resetPrefix(): void;
get prefixInput(): string | undefined;
private _tags?;
get tags(): {
[key: string]: string;
};
set tags(value: {
[key: string]: string;
});
resetTags(): void;
get tagsInput(): {
[key: string]: string;
} | undefined;
}
export interface S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjects {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_bucket#enabled S3Bucket#enabled}
*/
readonly enabled: boolean | cdktf.IResolvable;
}
export declare function s3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjectsToTerraform(struct?: S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjectsOutputReference | S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjects): any;
export declare function s3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjectsToHclTerraform(struct?: S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjectsOutputReference | S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjects): any;
export declare class S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjectsOutputReference extends cdktf.ComplexObject {
private isEmptyObject;
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string);
get internalValue(): S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjects | undefined;
set internalValue(value: S3BucketReplicationConfigurationRulesSourceSelectionCriteriaSseKmsEncryptedObjects | undefined);
private _enabled?;
get enabled(): boolean | cdktf.IResolvable;
set enabled(value: boolean |