import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface StorageBucketConfig extends cdktf.TerraformMetaArguments { /** * The access key to use when applying changes. This value can also be provided as `storage_access_key` specified in provider config (explicitly or within `shared_credentials_file`) is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#access_key StorageBucket#access_key} */ readonly accessKey?: string; /** * The [predefined ACL](https://yandex.cloud/docs/storage/concepts/acl#predefined_acls) to apply. Defaults to `private`. Conflicts with `grant`. * * ~> To change ACL after creation, service account with `storage.admin` role should be used, though this role is not necessary to create a bucket with any ACL. * * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#acl StorageBucket#acl} */ readonly acl?: string; /** * The name of the bucket. If omitted, Terraform will assign a random, unique name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#bucket StorageBucket#bucket} */ readonly bucket?: string; /** * Creates a unique bucket name beginning with the specified prefix. Conflicts with `bucket`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#bucket_prefix StorageBucket#bucket_prefix} */ readonly bucketPrefix?: string; /** * Storage class which is used for storing objects by default. Available values are: "STANDARD", "COLD", "ICE". Default is `"STANDARD"`. See [Storage Class](https://yandex.cloud/docs/storage/concepts/storage-class) for more information. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#default_storage_class StorageBucket#default_storage_class} */ readonly defaultStorageClass?: string; /** * Allow to create bucket in different folder. In case you are using IAM token from UserAccount, you are needed to explicitly specify folder_id in the resource, as it cannot be identified from such type of account. In case you are using IAM token from ServiceAccount or static access keys, folder_id does not need to be specified unless you want to create the resource in a different folder than the account folder. * * ~> It will try to create bucket using `IAM-token`, not using `access keys`. * * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#folder_id StorageBucket#folder_id} */ readonly folderId?: string; /** * A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error. These objects are *not* recoverable. Default is `false`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#force_destroy StorageBucket#force_destroy} */ readonly forceDestroy?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#id StorageBucket#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; /** * The size of bucket, in bytes. See [Size Limiting](https://yandex.cloud/docs/storage/operations/buckets/limit-max-volume) for more information. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#max_size StorageBucket#max_size} */ readonly maxSize?: number; /** * The `policy` object should contain the only field with the text of the policy. See [policy documentation](https://yandex.cloud/docs/storage/concepts/policy) for more information on policy format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#policy StorageBucket#policy} */ readonly policy?: string; /** * The secret key to use when applying changes. This value can also be provided as `storage_secret_key` specified in provider config (explicitly or within `shared_credentials_file`) is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#secret_key StorageBucket#secret_key} */ readonly secretKey?: string; /** * The `tags` object for setting tags (or labels) for bucket. See [Tags](https://yandex.cloud/docs/storage/concepts/tags) for more information. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#tags StorageBucket#tags} */ readonly tags?: { [key: string]: string; }; /** * The domain of the website endpoint, if the bucket is configured with a website. If not, this will be an empty string. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#website_domain StorageBucket#website_domain} */ readonly websiteDomain?: string; /** * The website endpoint, if the bucket is configured with a website. If not, this will be an empty string. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#website_endpoint StorageBucket#website_endpoint} */ readonly websiteEndpoint?: string; /** * anonymous_access_flags block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#anonymous_access_flags StorageBucket#anonymous_access_flags} */ readonly anonymousAccessFlags?: StorageBucketAnonymousAccessFlags; /** * cors_rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#cors_rule StorageBucket#cors_rule} */ readonly corsRule?: StorageBucketCorsRule[] | cdktf.IResolvable; /** * grant block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#grant StorageBucket#grant} */ readonly grant?: StorageBucketGrant[] | cdktf.IResolvable; /** * https block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#https StorageBucket#https} */ readonly https?: StorageBucketHttps; /** * lifecycle_rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#lifecycle_rule StorageBucket#lifecycle_rule} */ readonly lifecycleRule?: StorageBucketLifecycleRule[] | cdktf.IResolvable; /** * logging block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#logging StorageBucket#logging} */ readonly logging?: StorageBucketLogging[] | cdktf.IResolvable; /** * object_lock_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#object_lock_configuration StorageBucket#object_lock_configuration} */ readonly objectLockConfiguration?: StorageBucketObjectLockConfiguration; /** * server_side_encryption_configuration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#server_side_encryption_configuration StorageBucket#server_side_encryption_configuration} */ readonly serverSideEncryptionConfiguration?: StorageBucketServerSideEncryptionConfiguration; /** * versioning block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#versioning StorageBucket#versioning} */ readonly versioning?: StorageBucketVersioning; /** * website block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#website StorageBucket#website} */ readonly website?: StorageBucketWebsite; } export interface StorageBucketAnonymousAccessFlags { /** * Allows to read bucket configuration anonymously. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#config_read StorageBucket#config_read} */ readonly configRead?: boolean | cdktf.IResolvable; /** * Allows to list object in bucket anonymously. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#list StorageBucket#list} */ readonly list?: boolean | cdktf.IResolvable; /** * Allows to read objects in bucket anonymously. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#read StorageBucket#read} */ readonly read?: boolean | cdktf.IResolvable; } export declare function storageBucketAnonymousAccessFlagsToTerraform(struct?: StorageBucketAnonymousAccessFlagsOutputReference | StorageBucketAnonymousAccessFlags): any; export declare function storageBucketAnonymousAccessFlagsToHclTerraform(struct?: StorageBucketAnonymousAccessFlagsOutputReference | StorageBucketAnonymousAccessFlags): any; export declare class StorageBucketAnonymousAccessFlagsOutputReference 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(): StorageBucketAnonymousAccessFlags | undefined; set internalValue(value: StorageBucketAnonymousAccessFlags | undefined); private _configRead?; get configRead(): boolean | cdktf.IResolvable; set configRead(value: boolean | cdktf.IResolvable); resetConfigRead(): void; get configReadInput(): any; private _list?; get list(): boolean | cdktf.IResolvable; set list(value: boolean | cdktf.IResolvable); resetList(): void; get listInput(): any; private _read?; get read(): boolean | cdktf.IResolvable; set read(value: boolean | cdktf.IResolvable); resetRead(): void; get readInput(): any; } export interface StorageBucketCorsRule { /** * Specifies which headers are allowed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#allowed_headers StorageBucket#allowed_headers} */ readonly allowedHeaders?: string[]; /** * Specifies which methods are allowed. Can be `GET`, `PUT`, `POST`, `DELETE` or `HEAD`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#allowed_methods StorageBucket#allowed_methods} */ readonly allowedMethods: string[]; /** * Specifies which origins are allowed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#allowed_origins StorageBucket#allowed_origins} */ readonly allowedOrigins: string[]; /** * Specifies expose header in the response. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#expose_headers StorageBucket#expose_headers} */ readonly exposeHeaders?: string[]; /** * Specifies time in seconds that browser can cache the response for a preflight request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#max_age_seconds StorageBucket#max_age_seconds} */ readonly maxAgeSeconds?: number; } export declare function storageBucketCorsRuleToTerraform(struct?: StorageBucketCorsRule | cdktf.IResolvable): any; export declare function storageBucketCorsRuleToHclTerraform(struct?: StorageBucketCorsRule | cdktf.IResolvable): any; export declare class StorageBucketCorsRuleOutputReference 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(): StorageBucketCorsRule | cdktf.IResolvable | undefined; set internalValue(value: StorageBucketCorsRule | cdktf.IResolvable | undefined); private _allowedHeaders?; get allowedHeaders(): string[]; set allowedHeaders(value: string[]); resetAllowedHeaders(): void; get allowedHeadersInput(): string[]; private _allowedMethods?; get allowedMethods(): string[]; set allowedMethods(value: string[]); get allowedMethodsInput(): string[]; private _allowedOrigins?; get allowedOrigins(): string[]; set allowedOrigins(value: string[]); get allowedOriginsInput(): string[]; private _exposeHeaders?; get exposeHeaders(): string[]; set exposeHeaders(value: string[]); resetExposeHeaders(): void; get exposeHeadersInput(): string[]; private _maxAgeSeconds?; get maxAgeSeconds(): number; set maxAgeSeconds(value: number); resetMaxAgeSeconds(): void; get maxAgeSecondsInput(): number; } export declare class StorageBucketCorsRuleList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: StorageBucketCorsRule[] | 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): StorageBucketCorsRuleOutputReference; } export interface StorageBucketGrant { /** * Canonical user id to grant for. Used only when type is `CanonicalUser`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#id StorageBucket#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; /** * List of permissions to apply for grantee. Valid values are `READ`, `WRITE`, `FULL_CONTROL`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#permissions StorageBucket#permissions} */ readonly permissions: string[]; /** * Type of grantee to apply for. Valid values are `CanonicalUser` and `Group`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#type StorageBucket#type} */ readonly type: string; /** * URI address to grant for. Used only when type is Group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#uri StorageBucket#uri} */ readonly uri?: string; } export declare function storageBucketGrantToTerraform(struct?: StorageBucketGrant | cdktf.IResolvable): any; export declare function storageBucketGrantToHclTerraform(struct?: StorageBucketGrant | cdktf.IResolvable): any; export declare class StorageBucketGrantOutputReference 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(): StorageBucketGrant | cdktf.IResolvable | undefined; set internalValue(value: StorageBucketGrant | cdktf.IResolvable | undefined); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _permissions?; get permissions(): string[]; set permissions(value: string[]); get permissionsInput(): string[]; private _type?; get type(): string; set type(value: string); get typeInput(): string; private _uri?; get uri(): string; set uri(value: string); resetUri(): void; get uriInput(): string; } export declare class StorageBucketGrantList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: StorageBucketGrant[] | 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): StorageBucketGrantOutputReference; } export interface StorageBucketHttps { /** * Id of the certificate in Certificate Manager, that will be used for bucket. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#certificate_id StorageBucket#certificate_id} */ readonly certificateId: string; } export declare function storageBucketHttpsToTerraform(struct?: StorageBucketHttpsOutputReference | StorageBucketHttps): any; export declare function storageBucketHttpsToHclTerraform(struct?: StorageBucketHttpsOutputReference | StorageBucketHttps): any; export declare class StorageBucketHttpsOutputReference 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(): StorageBucketHttps | undefined; set internalValue(value: StorageBucketHttps | undefined); private _certificateId?; get certificateId(): string; set certificateId(value: string); get certificateIdInput(): string; } export interface StorageBucketLifecycleRuleExpiration { /** * Specifies the date after which you want the corresponding action to take effect. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#date StorageBucket#date} */ readonly date?: string; /** * Specifies the number of days after object creation when the specific rule action takes effect. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#days StorageBucket#days} */ readonly days?: number; /** * n a versioned bucket (versioning-enabled or versioning-suspended bucket), you can add this element in the lifecycle configuration to direct Object Storage to delete expired object delete markers. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#expired_object_delete_marker StorageBucket#expired_object_delete_marker} */ readonly expiredObjectDeleteMarker?: boolean | cdktf.IResolvable; } export declare function storageBucketLifecycleRuleExpirationToTerraform(struct?: StorageBucketLifecycleRuleExpirationOutputReference | StorageBucketLifecycleRuleExpiration): any; export declare function storageBucketLifecycleRuleExpirationToHclTerraform(struct?: StorageBucketLifecycleRuleExpirationOutputReference | StorageBucketLifecycleRuleExpiration): any; export declare class StorageBucketLifecycleRuleExpirationOutputReference 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(): StorageBucketLifecycleRuleExpiration | undefined; set internalValue(value: StorageBucketLifecycleRuleExpiration | undefined); private _date?; get date(): string; set date(value: string); resetDate(): void; get dateInput(): string; private _days?; get days(): number; set days(value: number); resetDays(): void; get daysInput(): number; private _expiredObjectDeleteMarker?; get expiredObjectDeleteMarker(): boolean | cdktf.IResolvable; set expiredObjectDeleteMarker(value: boolean | cdktf.IResolvable); resetExpiredObjectDeleteMarker(): void; get expiredObjectDeleteMarkerInput(): any; } export interface StorageBucketLifecycleRuleFilterAnd { /** * Minimum object size to which the rule applies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#object_size_greater_than StorageBucket#object_size_greater_than} */ readonly objectSizeGreaterThan?: number; /** * Maximum object size to which the rule applies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#object_size_less_than StorageBucket#object_size_less_than} */ readonly objectSizeLessThan?: number; /** * Object key prefix identifying one or more objects to which the rule applies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#prefix StorageBucket#prefix} */ readonly prefix?: string; /** * The `tags` object for setting tags (or labels) for bucket. See [Tags](https://yandex.cloud/docs/storage/concepts/tags) for more information. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#tags StorageBucket#tags} */ readonly tags?: { [key: string]: string; }; } export declare function storageBucketLifecycleRuleFilterAndToTerraform(struct?: StorageBucketLifecycleRuleFilterAndOutputReference | StorageBucketLifecycleRuleFilterAnd): any; export declare function storageBucketLifecycleRuleFilterAndToHclTerraform(struct?: StorageBucketLifecycleRuleFilterAndOutputReference | StorageBucketLifecycleRuleFilterAnd): any; export declare class StorageBucketLifecycleRuleFilterAndOutputReference 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(): StorageBucketLifecycleRuleFilterAnd | undefined; set internalValue(value: StorageBucketLifecycleRuleFilterAnd | undefined); private _objectSizeGreaterThan?; get objectSizeGreaterThan(): number; set objectSizeGreaterThan(value: number); resetObjectSizeGreaterThan(): void; get objectSizeGreaterThanInput(): number; private _objectSizeLessThan?; get objectSizeLessThan(): number; set objectSizeLessThan(value: number); resetObjectSizeLessThan(): void; get objectSizeLessThanInput(): number; private _prefix?; get prefix(): string; set prefix(value: string); resetPrefix(): void; get prefixInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; } export interface StorageBucketLifecycleRuleFilterTag { /** * A key. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#key StorageBucket#key} */ readonly key: string; /** * A value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#value StorageBucket#value} */ readonly value: string; } export declare function storageBucketLifecycleRuleFilterTagToTerraform(struct?: StorageBucketLifecycleRuleFilterTagOutputReference | StorageBucketLifecycleRuleFilterTag): any; export declare function storageBucketLifecycleRuleFilterTagToHclTerraform(struct?: StorageBucketLifecycleRuleFilterTagOutputReference | StorageBucketLifecycleRuleFilterTag): any; export declare class StorageBucketLifecycleRuleFilterTagOutputReference 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(): StorageBucketLifecycleRuleFilterTag | undefined; set internalValue(value: StorageBucketLifecycleRuleFilterTag | undefined); private _key?; get key(): string; set key(value: string); get keyInput(): string; private _value?; get value(): string; set value(value: string); get valueInput(): string; } export interface StorageBucketLifecycleRuleFilter { /** * Minimum object size to which the rule applies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#object_size_greater_than StorageBucket#object_size_greater_than} */ readonly objectSizeGreaterThan?: number; /** * Maximum object size to which the rule applies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#object_size_less_than StorageBucket#object_size_less_than} */ readonly objectSizeLessThan?: number; /** * Object key prefix identifying one or more objects to which the rule applies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#prefix StorageBucket#prefix} */ readonly prefix?: string; /** * and block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#and StorageBucket#and} */ readonly and?: StorageBucketLifecycleRuleFilterAnd; /** * tag block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#tag StorageBucket#tag} */ readonly tag?: StorageBucketLifecycleRuleFilterTag; } export declare function storageBucketLifecycleRuleFilterToTerraform(struct?: StorageBucketLifecycleRuleFilterOutputReference | StorageBucketLifecycleRuleFilter): any; export declare function storageBucketLifecycleRuleFilterToHclTerraform(struct?: StorageBucketLifecycleRuleFilterOutputReference | StorageBucketLifecycleRuleFilter): any; export declare class StorageBucketLifecycleRuleFilterOutputReference 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(): StorageBucketLifecycleRuleFilter | undefined; set internalValue(value: StorageBucketLifecycleRuleFilter | undefined); private _objectSizeGreaterThan?; get objectSizeGreaterThan(): number; set objectSizeGreaterThan(value: number); resetObjectSizeGreaterThan(): void; get objectSizeGreaterThanInput(): number; private _objectSizeLessThan?; get objectSizeLessThan(): number; set objectSizeLessThan(value: number); resetObjectSizeLessThan(): void; get objectSizeLessThanInput(): number; private _prefix?; get prefix(): string; set prefix(value: string); resetPrefix(): void; get prefixInput(): string; private _and; get and(): StorageBucketLifecycleRuleFilterAndOutputReference; putAnd(value: StorageBucketLifecycleRuleFilterAnd): void; resetAnd(): void; get andInput(): StorageBucketLifecycleRuleFilterAnd; private _tag; get tag(): StorageBucketLifecycleRuleFilterTagOutputReference; putTag(value: StorageBucketLifecycleRuleFilterTag): void; resetTag(): void; get tagInput(): StorageBucketLifecycleRuleFilterTag; } export interface StorageBucketLifecycleRuleNoncurrentVersionExpiration { /** * Specifies the number of days noncurrent object versions expire. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#days StorageBucket#days} */ readonly days?: number; } export declare function storageBucketLifecycleRuleNoncurrentVersionExpirationToTerraform(struct?: StorageBucketLifecycleRuleNoncurrentVersionExpirationOutputReference | StorageBucketLifecycleRuleNoncurrentVersionExpiration): any; export declare function storageBucketLifecycleRuleNoncurrentVersionExpirationToHclTerraform(struct?: StorageBucketLifecycleRuleNoncurrentVersionExpirationOutputReference | StorageBucketLifecycleRuleNoncurrentVersionExpiration): any; export declare class StorageBucketLifecycleRuleNoncurrentVersionExpirationOutputReference 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(): StorageBucketLifecycleRuleNoncurrentVersionExpiration | undefined; set internalValue(value: StorageBucketLifecycleRuleNoncurrentVersionExpiration | undefined); private _days?; get days(): number; set days(value: number); resetDays(): void; get daysInput(): number; } export interface StorageBucketLifecycleRuleNoncurrentVersionTransition { /** * Specifies the number of days noncurrent object versions transition. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#days StorageBucket#days} */ readonly days?: number; /** * Specifies the storage class to which you want the noncurrent object versions to transition. Supported values: [`STANDARD_IA`, `COLD`, `ICE`]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#storage_class StorageBucket#storage_class} */ readonly storageClass: string; } export declare function storageBucketLifecycleRuleNoncurrentVersionTransitionToTerraform(struct?: StorageBucketLifecycleRuleNoncurrentVersionTransition | cdktf.IResolvable): any; export declare function storageBucketLifecycleRuleNoncurrentVersionTransitionToHclTerraform(struct?: StorageBucketLifecycleRuleNoncurrentVersionTransition | cdktf.IResolvable): any; export declare class StorageBucketLifecycleRuleNoncurrentVersionTransitionOutputReference 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(): StorageBucketLifecycleRuleNoncurrentVersionTransition | cdktf.IResolvable | undefined; set internalValue(value: StorageBucketLifecycleRuleNoncurrentVersionTransition | cdktf.IResolvable | undefined); private _days?; get days(): number; set days(value: number); resetDays(): void; get daysInput(): number; private _storageClass?; get storageClass(): string; set storageClass(value: string); get storageClassInput(): string; } export declare class StorageBucketLifecycleRuleNoncurrentVersionTransitionList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: StorageBucketLifecycleRuleNoncurrentVersionTransition[] | 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): StorageBucketLifecycleRuleNoncurrentVersionTransitionOutputReference; } export interface StorageBucketLifecycleRuleTransition { /** * Specifies the date after which you want the corresponding action to take effect. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#date StorageBucket#date} */ readonly date?: string; /** * Specifies the number of days after object creation when the specific rule action takes effect. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#days StorageBucket#days} */ readonly days?: number; /** * Specifies the storage class to which you want the object to transition. Supported values: [`STANDARD_IA`, `COLD`, `ICE`]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#storage_class StorageBucket#storage_class} */ readonly storageClass: string; } export declare function storageBucketLifecycleRuleTransitionToTerraform(struct?: StorageBucketLifecycleRuleTransition | cdktf.IResolvable): any; export declare function storageBucketLifecycleRuleTransitionToHclTerraform(struct?: StorageBucketLifecycleRuleTransition | cdktf.IResolvable): any; export declare class StorageBucketLifecycleRuleTransitionOutputReference 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(): StorageBucketLifecycleRuleTransition | cdktf.IResolvable | undefined; set internalValue(value: StorageBucketLifecycleRuleTransition | cdktf.IResolvable | undefined); private _date?; get date(): string; set date(value: string); resetDate(): void; get dateInput(): string; private _days?; get days(): number; set days(value: number); resetDays(): void; get daysInput(): number; private _storageClass?; get storageClass(): string; set storageClass(value: string); get storageClassInput(): string; } export declare class StorageBucketLifecycleRuleTransitionList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: StorageBucketLifecycleRuleTransition[] | 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): StorageBucketLifecycleRuleTransitionOutputReference; } export interface StorageBucketLifecycleRule { /** * Specifies the number of days after initiating a multipart upload when the multipart upload must be completed. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#abort_incomplete_multipart_upload_days StorageBucket#abort_incomplete_multipart_upload_days} */ readonly abortIncompleteMultipartUploadDays?: number; /** * Specifies lifecycle rule status. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#enabled StorageBucket#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Unique identifier for the rule. Must be less than or equal to 255 characters in length. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#id StorageBucket#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; /** * Object key prefix identifying one or more objects to which the rule applies. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#prefix StorageBucket#prefix} */ readonly prefix?: string; /** * expiration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#expiration StorageBucket#expiration} */ readonly expiration?: StorageBucketLifecycleRuleExpiration; /** * filter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#filter StorageBucket#filter} */ readonly filter?: StorageBucketLifecycleRuleFilter; /** * noncurrent_version_expiration block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#noncurrent_version_expiration StorageBucket#noncurrent_version_expiration} */ readonly noncurrentVersionExpiration?: StorageBucketLifecycleRuleNoncurrentVersionExpiration; /** * noncurrent_version_transition block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#noncurrent_version_transition StorageBucket#noncurrent_version_transition} */ readonly noncurrentVersionTransition?: StorageBucketLifecycleRuleNoncurrentVersionTransition[] | cdktf.IResolvable; /** * transition block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#transition StorageBucket#transition} */ readonly transition?: StorageBucketLifecycleRuleTransition[] | cdktf.IResolvable; } export declare function storageBucketLifecycleRuleToTerraform(struct?: StorageBucketLifecycleRule | cdktf.IResolvable): any; export declare function storageBucketLifecycleRuleToHclTerraform(struct?: StorageBucketLifecycleRule | cdktf.IResolvable): any; export declare class StorageBucketLifecycleRuleOutputReference 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(): StorageBucketLifecycleRule | cdktf.IResolvable | undefined; set internalValue(value: StorageBucketLifecycleRule | cdktf.IResolvable | undefined); private _abortIncompleteMultipartUploadDays?; get abortIncompleteMultipartUploadDays(): number; set abortIncompleteMultipartUploadDays(value: number); resetAbortIncompleteMultipartUploadDays(): void; get abortIncompleteMultipartUploadDaysInput(): number; private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _prefix?; get prefix(): string; set prefix(value: string); resetPrefix(): void; get prefixInput(): string; private _expiration; get expiration(): StorageBucketLifecycleRuleExpirationOutputReference; putExpiration(value: StorageBucketLifecycleRuleExpiration): void; resetExpiration(): void; get expirationInput(): StorageBucketLifecycleRuleExpiration; private _filter; get filter(): StorageBucketLifecycleRuleFilterOutputReference; putFilter(value: StorageBucketLifecycleRuleFilter): void; resetFilter(): void; get filterInput(): StorageBucketLifecycleRuleFilter; private _noncurrentVersionExpiration; get noncurrentVersionExpiration(): StorageBucketLifecycleRuleNoncurrentVersionExpirationOutputReference; putNoncurrentVersionExpiration(value: StorageBucketLifecycleRuleNoncurrentVersionExpiration): void; resetNoncurrentVersionExpiration(): void; get noncurrentVersionExpirationInput(): StorageBucketLifecycleRuleNoncurrentVersionExpiration; private _noncurrentVersionTransition; get noncurrentVersionTransition(): StorageBucketLifecycleRuleNoncurrentVersionTransitionList; putNoncurrentVersionTransition(value: StorageBucketLifecycleRuleNoncurrentVersionTransition[] | cdktf.IResolvable): void; resetNoncurrentVersionTransition(): void; get noncurrentVersionTransitionInput(): any; private _transition; get transition(): StorageBucketLifecycleRuleTransitionList; putTransition(value: StorageBucketLifecycleRuleTransition[] | cdktf.IResolvable): void; resetTransition(): void; get transitionInput(): any; } export declare class StorageBucketLifecycleRuleList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: StorageBucketLifecycleRule[] | 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): StorageBucketLifecycleRuleOutputReference; } export interface StorageBucketLogging { /** * The name of the bucket that will receive the log objects. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#target_bucket StorageBucket#target_bucket} */ readonly targetBucket: string; /** * To specify a key prefix for log objects. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#target_prefix StorageBucket#target_prefix} */ readonly targetPrefix?: string; } export declare function storageBucketLoggingToTerraform(struct?: StorageBucketLogging | cdktf.IResolvable): any; export declare function storageBucketLoggingToHclTerraform(struct?: StorageBucketLogging | cdktf.IResolvable): any; export declare class StorageBucketLoggingOutputReference 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(): StorageBucketLogging | cdktf.IResolvable | undefined; set internalValue(value: StorageBucketLogging | cdktf.IResolvable | undefined); private _targetBucket?; get targetBucket(): string; set targetBucket(value: string); get targetBucketInput(): string; private _targetPrefix?; get targetPrefix(): string; set targetPrefix(value: string); resetTargetPrefix(): void; get targetPrefixInput(): string; } export declare class StorageBucketLoggingList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: StorageBucketLogging[] | 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): StorageBucketLoggingOutputReference; } export interface StorageBucketObjectLockConfigurationRuleDefaultRetention { /** * Specifies a retention period in days after uploading an object version. It must be a positive integer. You can't set it simultaneously with `years`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#days StorageBucket#days} */ readonly days?: number; /** * Specifies a type of object lock. One of `["GOVERNANCE", "COMPLIANCE"]`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#mode StorageBucket#mode} */ readonly mode: string; /** * Specifies a retention period in years after uploading an object version. It must be a positive integer. You can't set it simultaneously with `days`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#years StorageBucket#years} */ readonly years?: number; } export declare function storageBucketObjectLockConfigurationRuleDefaultRetentionToTerraform(struct?: StorageBucketObjectLockConfigurationRuleDefaultRetentionOutputReference | StorageBucketObjectLockConfigurationRuleDefaultRetention): any; export declare function storageBucketObjectLockConfigurationRuleDefaultRetentionToHclTerraform(struct?: StorageBucketObjectLockConfigurationRuleDefaultRetentionOutputReference | StorageBucketObjectLockConfigurationRuleDefaultRetention): any; export declare class StorageBucketObjectLockConfigurationRuleDefaultRetentionOutputReference 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(): StorageBucketObjectLockConfigurationRuleDefaultRetention | undefined; set internalValue(value: StorageBucketObjectLockConfigurationRuleDefaultRetention | undefined); private _days?; get days(): number; set days(value: number); resetDays(): void; get daysInput(): number; private _mode?; get mode(): string; set mode(value: string); get modeInput(): string; private _years?; get years(): number; set years(value: number); resetYears(): void; get yearsInput(): number; } export interface StorageBucketObjectLockConfigurationRule { /** * default_retention block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#default_retention StorageBucket#default_retention} */ readonly defaultRetention: StorageBucketObjectLockConfigurationRuleDefaultRetention; } export declare function storageBucketObjectLockConfigurationRuleToTerraform(struct?: StorageBucketObjectLockConfigurationRuleOutputReference | StorageBucketObjectLockConfigurationRule): any; export declare function storageBucketObjectLockConfigurationRuleToHclTerraform(struct?: StorageBucketObjectLockConfigurationRuleOutputReference | StorageBucketObjectLockConfigurationRule): any; export declare class StorageBucketObjectLockConfigurationRuleOutputReference 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(): StorageBucketObjectLockConfigurationRule | undefined; set internalValue(value: StorageBucketObjectLockConfigurationRule | undefined); private _defaultRetention; get defaultRetention(): StorageBucketObjectLockConfigurationRuleDefaultRetentionOutputReference; putDefaultRetention(value: StorageBucketObjectLockConfigurationRuleDefaultRetention): void; get defaultRetentionInput(): StorageBucketObjectLockConfigurationRuleDefaultRetention; } export interface StorageBucketObjectLockConfiguration { /** * Enable object locking in a bucket. Require versioning to be enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#object_lock_enabled StorageBucket#object_lock_enabled} */ readonly objectLockEnabled?: string; /** * rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#rule StorageBucket#rule} */ readonly rule?: StorageBucketObjectLockConfigurationRule; } export declare function storageBucketObjectLockConfigurationToTerraform(struct?: StorageBucketObjectLockConfigurationOutputReference | StorageBucketObjectLockConfiguration): any; export declare function storageBucketObjectLockConfigurationToHclTerraform(struct?: StorageBucketObjectLockConfigurationOutputReference | StorageBucketObjectLockConfiguration): any; export declare class StorageBucketObjectLockConfigurationOutputReference 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(): StorageBucketObjectLockConfiguration | undefined; set internalValue(value: StorageBucketObjectLockConfiguration | undefined); private _objectLockEnabled?; get objectLockEnabled(): string; set objectLockEnabled(value: string); resetObjectLockEnabled(): void; get objectLockEnabledInput(): string; private _rule; get rule(): StorageBucketObjectLockConfigurationRuleOutputReference; putRule(value: StorageBucketObjectLockConfigurationRule): void; resetRule(): void; get ruleInput(): StorageBucketObjectLockConfigurationRule; } export interface StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault { /** * The KMS master key ID used for the SSE-KMS encryption. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#kms_master_key_id StorageBucket#kms_master_key_id} */ readonly kmsMasterKeyId: string; /** * The server-side encryption algorithm to use. Single valid value is `aws:kms`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#sse_algorithm StorageBucket#sse_algorithm} */ readonly sseAlgorithm: string; } export declare function storageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultToTerraform(struct?: StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputReference | StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault): any; export declare function storageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultToHclTerraform(struct?: StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputReference | StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault): any; export declare class StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputReference 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(): StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault | undefined; set internalValue(value: StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault | undefined); private _kmsMasterKeyId?; get kmsMasterKeyId(): string; set kmsMasterKeyId(value: string); get kmsMasterKeyIdInput(): string; private _sseAlgorithm?; get sseAlgorithm(): string; set sseAlgorithm(value: string); get sseAlgorithmInput(): string; } export interface StorageBucketServerSideEncryptionConfigurationRule { /** * apply_server_side_encryption_by_default block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#apply_server_side_encryption_by_default StorageBucket#apply_server_side_encryption_by_default} */ readonly applyServerSideEncryptionByDefault: StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault; } export declare function storageBucketServerSideEncryptionConfigurationRuleToTerraform(struct?: StorageBucketServerSideEncryptionConfigurationRuleOutputReference | StorageBucketServerSideEncryptionConfigurationRule): any; export declare function storageBucketServerSideEncryptionConfigurationRuleToHclTerraform(struct?: StorageBucketServerSideEncryptionConfigurationRuleOutputReference | StorageBucketServerSideEncryptionConfigurationRule): any; export declare class StorageBucketServerSideEncryptionConfigurationRuleOutputReference 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(): StorageBucketServerSideEncryptionConfigurationRule | undefined; set internalValue(value: StorageBucketServerSideEncryptionConfigurationRule | undefined); private _applyServerSideEncryptionByDefault; get applyServerSideEncryptionByDefault(): StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefaultOutputReference; putApplyServerSideEncryptionByDefault(value: StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault): void; get applyServerSideEncryptionByDefaultInput(): StorageBucketServerSideEncryptionConfigurationRuleApplyServerSideEncryptionByDefault; } export interface StorageBucketServerSideEncryptionConfiguration { /** * rule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#rule StorageBucket#rule} */ readonly rule: StorageBucketServerSideEncryptionConfigurationRule; } export declare function storageBucketServerSideEncryptionConfigurationToTerraform(struct?: StorageBucketServerSideEncryptionConfigurationOutputReference | StorageBucketServerSideEncryptionConfiguration): any; export declare function storageBucketServerSideEncryptionConfigurationToHclTerraform(struct?: StorageBucketServerSideEncryptionConfigurationOutputReference | StorageBucketServerSideEncryptionConfiguration): any; export declare class StorageBucketServerSideEncryptionConfigurationOutputReference 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(): StorageBucketServerSideEncryptionConfiguration | undefined; set internalValue(value: StorageBucketServerSideEncryptionConfiguration | undefined); private _rule; get rule(): StorageBucketServerSideEncryptionConfigurationRuleOutputReference; putRule(value: StorageBucketServerSideEncryptionConfigurationRule): void; get ruleInput(): StorageBucketServerSideEncryptionConfigurationRule; } export interface StorageBucketVersioning { /** * Enable versioning. Once you version-enable a bucket, it can never return to an unversioned state. You can, however, suspend versioning on that bucket. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#enabled StorageBucket#enabled} */ readonly enabled?: boolean | cdktf.IResolvable; } export declare function storageBucketVersioningToTerraform(struct?: StorageBucketVersioningOutputReference | StorageBucketVersioning): any; export declare function storageBucketVersioningToHclTerraform(struct?: StorageBucketVersioningOutputReference | StorageBucketVersioning): any; export declare class StorageBucketVersioningOutputReference 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(): StorageBucketVersioning | undefined; set internalValue(value: StorageBucketVersioning | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); resetEnabled(): void; get enabledInput(): any; } export interface StorageBucketWebsite { /** * An absolute path to the document to return in case of a 4XX error. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#error_document StorageBucket#error_document} */ readonly errorDocument?: string; /** * Storage returns this index document when requests are made to the root domain or any of the subfolders (unless using `redirect_all_requests_to`). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#index_document StorageBucket#index_document} */ readonly indexDocument?: string; /** * A hostname to redirect all website requests for this bucket to. Hostname can optionally be prefixed with a protocol (`http://` or `https://`) to use when redirecting requests. The default is the protocol that is used in the original request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#redirect_all_requests_to StorageBucket#redirect_all_requests_to} */ readonly redirectAllRequestsTo?: string; /** * A JSON array containing [routing rules](https://yandex.cloud/docs/storage/s3/api-ref/hosting/upload#request-scheme) describing redirect behavior and when redirects are applied. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#routing_rules StorageBucket#routing_rules} */ readonly routingRules?: string; } export declare function storageBucketWebsiteToTerraform(struct?: StorageBucketWebsiteOutputReference | StorageBucketWebsite): any; export declare function storageBucketWebsiteToHclTerraform(struct?: StorageBucketWebsiteOutputReference | StorageBucketWebsite): any; export declare class StorageBucketWebsiteOutputReference 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(): StorageBucketWebsite | undefined; set internalValue(value: StorageBucketWebsite | undefined); private _errorDocument?; get errorDocument(): string; set errorDocument(value: string); resetErrorDocument(): void; get errorDocumentInput(): string; private _indexDocument?; get indexDocument(): string; set indexDocument(value: string); resetIndexDocument(): void; get indexDocumentInput(): string; private _redirectAllRequestsTo?; get redirectAllRequestsTo(): string; set redirectAllRequestsTo(value: string); resetRedirectAllRequestsTo(): void; get redirectAllRequestsToInput(): string; private _routingRules?; get routingRules(): string; set routingRules(value: string); resetRoutingRules(): void; get routingRulesInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket yandex_storage_bucket} */ export declare class StorageBucket extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_storage_bucket"; /** * Generates CDKTF code for importing a StorageBucket resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the StorageBucket to import * @param importFromId The id of the existing StorageBucket that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the StorageBucket to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/storage_bucket yandex_storage_bucket} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options StorageBucketConfig = {} */ constructor(scope: Construct, id: string, config?: StorageBucketConfig); private _accessKey?; get accessKey(): string; set accessKey(value: string); resetAccessKey(): void; get accessKeyInput(): string; private _acl?; get acl(): string; set acl(value: string); resetAcl(): void; get aclInput(): string; private _bucket?; get bucket(): string; set bucket(value: string); resetBucket(): void; get bucketInput(): string; get bucketDomainName(): any; private _bucketPrefix?; get bucketPrefix(): string; set bucketPrefix(value: string); resetBucketPrefix(): void; get bucketPrefixInput(): string; private _defaultStorageClass?; get defaultStorageClass(): string; set defaultStorageClass(value: string); resetDefaultStorageClass(): void; get defaultStorageClassInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _forceDestroy?; get forceDestroy(): boolean | cdktf.IResolvable; set forceDestroy(value: boolean | cdktf.IResolvable); resetForceDestroy(): void; get forceDestroyInput(): any; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _maxSize?; get maxSize(): number; set maxSize(value: number); resetMaxSize(): void; get maxSizeInput(): number; private _policy?; get policy(): string; set policy(value: string); resetPolicy(): void; get policyInput(): string; private _secretKey?; get secretKey(): string; set secretKey(value: string); resetSecretKey(): void; get secretKeyInput(): string; private _tags?; get tags(): { [key: string]: string; }; set tags(value: { [key: string]: string; }); resetTags(): void; get tagsInput(): { [key: string]: string; }; private _websiteDomain?; get websiteDomain(): string; set websiteDomain(value: string); resetWebsiteDomain(): void; get websiteDomainInput(): string; private _websiteEndpoint?; get websiteEndpoint(): string; set websiteEndpoint(value: string); resetWebsiteEndpoint(): void; get websiteEndpointInput(): string; private _anonymousAccessFlags; get anonymousAccessFlags(): StorageBucketAnonymousAccessFlagsOutputReference; putAnonymousAccessFlags(value: StorageBucketAnonymousAccessFlags): void; resetAnonymousAccessFlags(): void; get anonymousAccessFlagsInput(): StorageBucketAnonymousAccessFlags; private _corsRule; get corsRule(): StorageBucketCorsRuleList; putCorsRule(value: StorageBucketCorsRule[] | cdktf.IResolvable): void; resetCorsRule(): void; get corsRuleInput(): any; private _grant; get grant(): StorageBucketGrantList; putGrant(value: StorageBucketGrant[] | cdktf.IResolvable): void; resetGrant(): void; get grantInput(): any; private _https; get https(): StorageBucketHttpsOutputReference; putHttps(value: StorageBucketHttps): void; resetHttps(): void; get httpsInput(): StorageBucketHttps; private _lifecycleRule; get lifecycleRule(): StorageBucketLifecycleRuleList; putLifecycleRule(value: StorageBucketLifecycleRule[] | cdktf.IResolvable): void; resetLifecycleRule(): void; get lifecycleRuleInput(): any; private _logging; get logging(): StorageBucketLoggingList; putLogging(value: StorageBucketLogging[] | cdktf.IResolvable): void; resetLogging(): void; get loggingInput(): any; private _objectLockConfiguration; get objectLockConfiguration(): StorageBucketObjectLockConfigurationOutputReference; putObjectLockConfiguration(value: StorageBucketObjectLockConfiguration): void; resetObjectLockConfiguration(): void; get objectLockConfigurationInput(): StorageBucketObjectLockConfiguration; private _serverSideEncryptionConfiguration; get serverSideEncryptionConfiguration(): StorageBucketServerSideEncryptionConfigurationOutputReference; putServerSideEncryptionConfiguration(value: StorageBucketServerSideEncryptionConfiguration): void; resetServerSideEncryptionConfiguration(): void; get serverSideEncryptionConfigurationInput(): StorageBucketServerSideEncryptionConfiguration; private _versioning; get versioning(): StorageBucketVersioningOutputReference; putVersioning(value: StorageBucketVersioning): void; resetVersioning(): void; get versioningInput(): StorageBucketVersioning; private _website; get website(): StorageBucketWebsiteOutputReference; putWebsite(value: StorageBucketWebsite): void; resetWebsite(): void; get websiteInput(): StorageBucketWebsite; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }