import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A bucket is a container for storing objects. All objects must belong to a bucket. Buckets have various configuration properties, including region and access permissions. You can create different types of buckets to store different data based on your needs. * * ## Import * * ```sh * $ pulumi import volcenginecc:tos/bucket:Bucket example "name" * ``` */ export declare class Bucket extends pulumi.CustomResource { /** * Get an existing Bucket resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: BucketState, opts?: pulumi.CustomResourceOptions): Bucket; /** * Returns true if the given object is an instance of Bucket. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Bucket; /** * Bucket access control permissions */ readonly acl: pulumi.Output; readonly aclGrant: pulumi.Output; /** * Bucket availability zone redundancy type. Includes single-az: single availability zone redundancy, multi-az: multi availability zone redundancy */ readonly azRedundancy: pulumi.Output; /** * Bucket type. Includes hns: hierarchical bucket type, fns: flat bucket type */ readonly bucketType: pulumi.Output; /** * Bucket creation time */ readonly creationDate: pulumi.Output; /** * Bucket versioning status. Enabled: Enable versioning. Suspended: Suspend versioning */ readonly enableVersionStatus: pulumi.Output; /** * TOS protocol public access domain name for the bucket */ readonly extranetEndpoint: pulumi.Output; /** * Private network access domain name for the bucket's TOS protocol */ readonly intranetEndpoint: pulumi.Output; readonly lifecycleConfigs: pulumi.Output; /** * Bucket region */ readonly location: pulumi.Output; /** * Bucket name */ readonly name: pulumi.Output; /** * Bucket object lock (WORM retention policy) configuration. After configuring the bucket retention policy, if no object retention time is specified when uploading an object, the newly uploaded object will inherit the bucket retention time */ readonly objectLockConfiguration: pulumi.Output; /** * String in JSON format containing bucket policy information. The total size of all bucket policy JSONs for a single bucket must not exceed 20KB */ readonly policy: pulumi.Output; /** * Project associated with the bucket */ readonly projectName: pulumi.Output; /** * Default storage class for the bucket. Includes STANDARD: Standard storage. IA: Infrequent access storage. INTELLIGENT*TIERING: Intelligent tiering storage. ARCHIVE*FR: Archive flashback storage. ARCHIVE: Archive storage. COLD*ARCHIVE: Cold archive storage. DEEP*COLD_ARCHIVE: Deep cold archive storage */ readonly storageClass: pulumi.Output; readonly tags: pulumi.Output; /** * Create a Bucket resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: BucketArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Bucket resources. */ export interface BucketState { /** * Bucket access control permissions */ acl?: pulumi.Input; aclGrant?: pulumi.Input; /** * Bucket availability zone redundancy type. Includes single-az: single availability zone redundancy, multi-az: multi availability zone redundancy */ azRedundancy?: pulumi.Input; /** * Bucket type. Includes hns: hierarchical bucket type, fns: flat bucket type */ bucketType?: pulumi.Input; /** * Bucket creation time */ creationDate?: pulumi.Input; /** * Bucket versioning status. Enabled: Enable versioning. Suspended: Suspend versioning */ enableVersionStatus?: pulumi.Input; /** * TOS protocol public access domain name for the bucket */ extranetEndpoint?: pulumi.Input; /** * Private network access domain name for the bucket's TOS protocol */ intranetEndpoint?: pulumi.Input; lifecycleConfigs?: pulumi.Input[]>; /** * Bucket region */ location?: pulumi.Input; /** * Bucket name */ name?: pulumi.Input; /** * Bucket object lock (WORM retention policy) configuration. After configuring the bucket retention policy, if no object retention time is specified when uploading an object, the newly uploaded object will inherit the bucket retention time */ objectLockConfiguration?: pulumi.Input; /** * String in JSON format containing bucket policy information. The total size of all bucket policy JSONs for a single bucket must not exceed 20KB */ policy?: pulumi.Input; /** * Project associated with the bucket */ projectName?: pulumi.Input; /** * Default storage class for the bucket. Includes STANDARD: Standard storage. IA: Infrequent access storage. INTELLIGENT*TIERING: Intelligent tiering storage. ARCHIVE*FR: Archive flashback storage. ARCHIVE: Archive storage. COLD*ARCHIVE: Cold archive storage. DEEP*COLD_ARCHIVE: Deep cold archive storage */ storageClass?: pulumi.Input; tags?: pulumi.Input[]>; } /** * The set of arguments for constructing a Bucket resource. */ export interface BucketArgs { /** * Bucket access control permissions */ acl?: pulumi.Input; aclGrant?: pulumi.Input; /** * Bucket availability zone redundancy type. Includes single-az: single availability zone redundancy, multi-az: multi availability zone redundancy */ azRedundancy?: pulumi.Input; /** * Bucket type. Includes hns: hierarchical bucket type, fns: flat bucket type */ bucketType?: pulumi.Input; /** * Bucket versioning status. Enabled: Enable versioning. Suspended: Suspend versioning */ enableVersionStatus?: pulumi.Input; lifecycleConfigs?: pulumi.Input[]>; /** * Bucket name */ name: pulumi.Input; /** * Bucket object lock (WORM retention policy) configuration. After configuring the bucket retention policy, if no object retention time is specified when uploading an object, the newly uploaded object will inherit the bucket retention time */ objectLockConfiguration?: pulumi.Input; /** * String in JSON format containing bucket policy information. The total size of all bucket policy JSONs for a single bucket must not exceed 20KB */ policy?: pulumi.Input; /** * Project associated with the bucket */ projectName?: pulumi.Input; /** * Default storage class for the bucket. Includes STANDARD: Standard storage. IA: Infrequent access storage. INTELLIGENT*TIERING: Intelligent tiering storage. ARCHIVE*FR: Archive flashback storage. ARCHIVE: Archive storage. COLD*ARCHIVE: Cold archive storage. DEEP*COLD_ARCHIVE: Deep cold archive storage */ storageClass?: pulumi.Input; tags?: pulumi.Input[]>; }