import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface CosBucketInventoryConfig extends cdktf.TerraformMetaArguments { /** * Bucket name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#bucket CosBucketInventory#bucket} */ readonly bucket: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#id CosBucketInventory#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; /** * Whether to include object versions in the inventory. All or No. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#included_object_versions CosBucketInventory#included_object_versions} */ readonly includedObjectVersions: string; /** * Whether to enable the inventory. true or false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#is_enabled CosBucketInventory#is_enabled} */ readonly isEnabled: string; /** * Inventory Name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#name CosBucketInventory#name} */ readonly name: string; /** * destination block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#destination CosBucketInventory#destination} */ readonly destination: CosBucketInventoryDestination; /** * filter block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#filter CosBucketInventory#filter} */ readonly filter?: CosBucketInventoryFilter; /** * optional_fields block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#optional_fields CosBucketInventory#optional_fields} */ readonly optionalFields?: CosBucketInventoryOptionalFields; /** * schedule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#schedule CosBucketInventory#schedule} */ readonly schedule: CosBucketInventorySchedule; } export interface CosBucketInventoryDestinationEncryption { /** * Encryption with COS-managed key. This field can be left empty. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#sse_cos CosBucketInventory#sse_cos} */ readonly sseCos?: string; } export declare function cosBucketInventoryDestinationEncryptionToTerraform(struct?: CosBucketInventoryDestinationEncryptionOutputReference | CosBucketInventoryDestinationEncryption): any; export declare function cosBucketInventoryDestinationEncryptionToHclTerraform(struct?: CosBucketInventoryDestinationEncryptionOutputReference | CosBucketInventoryDestinationEncryption): any; export declare class CosBucketInventoryDestinationEncryptionOutputReference 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(): CosBucketInventoryDestinationEncryption | undefined; set internalValue(value: CosBucketInventoryDestinationEncryption | undefined); private _sseCos?; get sseCos(): string; set sseCos(value: string); resetSseCos(): void; get sseCosInput(): string; } export interface CosBucketInventoryDestination { /** * ID of the bucket owner. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#account_id CosBucketInventory#account_id} */ readonly accountId?: string; /** * Bucket name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#bucket CosBucketInventory#bucket} */ readonly bucket: string; /** * Format of the inventory result. Valid value: CSV. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#format CosBucketInventory#format} */ readonly format: string; /** * Prefix of the inventory result. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#prefix CosBucketInventory#prefix} */ readonly prefix?: string; /** * encryption block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#encryption CosBucketInventory#encryption} */ readonly encryption?: CosBucketInventoryDestinationEncryption; } export declare function cosBucketInventoryDestinationToTerraform(struct?: CosBucketInventoryDestinationOutputReference | CosBucketInventoryDestination): any; export declare function cosBucketInventoryDestinationToHclTerraform(struct?: CosBucketInventoryDestinationOutputReference | CosBucketInventoryDestination): any; export declare class CosBucketInventoryDestinationOutputReference 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(): CosBucketInventoryDestination | undefined; set internalValue(value: CosBucketInventoryDestination | undefined); private _accountId?; get accountId(): string; set accountId(value: string); resetAccountId(): void; get accountIdInput(): string; private _bucket?; get bucket(): string; set bucket(value: string); get bucketInput(): string; private _format?; get format(): string; set format(value: string); get formatInput(): string; private _prefix?; get prefix(): string; set prefix(value: string); resetPrefix(): void; get prefixInput(): string; private _encryption; get encryption(): CosBucketInventoryDestinationEncryptionOutputReference; putEncryption(value: CosBucketInventoryDestinationEncryption): void; resetEncryption(): void; get encryptionInput(): CosBucketInventoryDestinationEncryption; } export interface CosBucketInventoryFilterPeriod { /** * Creation end time of the objects to analyze. The parameter is a timestamp in seconds, for example, 1568688762. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#end_time CosBucketInventory#end_time} */ readonly endTime?: string; /** * Creation start time of the objects to analyze. The parameter is a timestamp in seconds, for example, 1568688761. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#start_time CosBucketInventory#start_time} */ readonly startTime?: string; } export declare function cosBucketInventoryFilterPeriodToTerraform(struct?: CosBucketInventoryFilterPeriodOutputReference | CosBucketInventoryFilterPeriod): any; export declare function cosBucketInventoryFilterPeriodToHclTerraform(struct?: CosBucketInventoryFilterPeriodOutputReference | CosBucketInventoryFilterPeriod): any; export declare class CosBucketInventoryFilterPeriodOutputReference 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(): CosBucketInventoryFilterPeriod | undefined; set internalValue(value: CosBucketInventoryFilterPeriod | undefined); private _endTime?; get endTime(): string; set endTime(value: string); resetEndTime(): void; get endTimeInput(): string; private _startTime?; get startTime(): string; set startTime(value: string); resetStartTime(): void; get startTimeInput(): string; } export interface CosBucketInventoryFilter { /** * Prefix of the objects to analyze. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#prefix CosBucketInventory#prefix} */ readonly prefix?: string; /** * period block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#period CosBucketInventory#period} */ readonly period?: CosBucketInventoryFilterPeriod; } export declare function cosBucketInventoryFilterToTerraform(struct?: CosBucketInventoryFilterOutputReference | CosBucketInventoryFilter): any; export declare function cosBucketInventoryFilterToHclTerraform(struct?: CosBucketInventoryFilterOutputReference | CosBucketInventoryFilter): any; export declare class CosBucketInventoryFilterOutputReference 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(): CosBucketInventoryFilter | undefined; set internalValue(value: CosBucketInventoryFilter | undefined); private _prefix?; get prefix(): string; set prefix(value: string); resetPrefix(): void; get prefixInput(): string; private _period; get period(): CosBucketInventoryFilterPeriodOutputReference; putPeriod(value: CosBucketInventoryFilterPeriod): void; resetPeriod(): void; get periodInput(): CosBucketInventoryFilterPeriod; } export interface CosBucketInventoryOptionalFields { /** * Optional analysis items to include in the inventory result. The optional fields include Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, Tag, Crc64, and x-cos-meta-*. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#fields CosBucketInventory#fields} */ readonly fields?: string[]; } export declare function cosBucketInventoryOptionalFieldsToTerraform(struct?: CosBucketInventoryOptionalFieldsOutputReference | CosBucketInventoryOptionalFields): any; export declare function cosBucketInventoryOptionalFieldsToHclTerraform(struct?: CosBucketInventoryOptionalFieldsOutputReference | CosBucketInventoryOptionalFields): any; export declare class CosBucketInventoryOptionalFieldsOutputReference 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(): CosBucketInventoryOptionalFields | undefined; set internalValue(value: CosBucketInventoryOptionalFields | undefined); private _fields?; get fields(): string[]; set fields(value: string[]); resetFields(): void; get fieldsInput(): string[]; } export interface CosBucketInventorySchedule { /** * Frequency of the inventory job. Enumerated values: Daily, Weekly. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#frequency CosBucketInventory#frequency} */ readonly frequency: string; } export declare function cosBucketInventoryScheduleToTerraform(struct?: CosBucketInventoryScheduleOutputReference | CosBucketInventorySchedule): any; export declare function cosBucketInventoryScheduleToHclTerraform(struct?: CosBucketInventoryScheduleOutputReference | CosBucketInventorySchedule): any; export declare class CosBucketInventoryScheduleOutputReference 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(): CosBucketInventorySchedule | undefined; set internalValue(value: CosBucketInventorySchedule | undefined); private _frequency?; get frequency(): string; set frequency(value: string); get frequencyInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory tencentcloud_cos_bucket_inventory} */ export declare class CosBucketInventory extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_cos_bucket_inventory"; /** * Generates CDKTF code for importing a CosBucketInventory 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 CosBucketInventory to import * @param importFromId The id of the existing CosBucketInventory that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the CosBucketInventory 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/tencentcloudstack/tencentcloud/1.82.49/docs/resources/cos_bucket_inventory tencentcloud_cos_bucket_inventory} 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 CosBucketInventoryConfig */ constructor(scope: Construct, id: string, config: CosBucketInventoryConfig); private _bucket?; get bucket(): string; set bucket(value: string); get bucketInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _includedObjectVersions?; get includedObjectVersions(): string; set includedObjectVersions(value: string); get includedObjectVersionsInput(): string; private _isEnabled?; get isEnabled(): string; set isEnabled(value: string); get isEnabledInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _destination; get destination(): CosBucketInventoryDestinationOutputReference; putDestination(value: CosBucketInventoryDestination): void; get destinationInput(): CosBucketInventoryDestination; private _filter; get filter(): CosBucketInventoryFilterOutputReference; putFilter(value: CosBucketInventoryFilter): void; resetFilter(): void; get filterInput(): CosBucketInventoryFilter; private _optionalFields; get optionalFields(): CosBucketInventoryOptionalFieldsOutputReference; putOptionalFields(value: CosBucketInventoryOptionalFields): void; resetOptionalFields(): void; get optionalFieldsInput(): CosBucketInventoryOptionalFields; private _schedule; get schedule(): CosBucketInventoryScheduleOutputReference; putSchedule(value: CosBucketInventorySchedule): void; get scheduleInput(): CosBucketInventorySchedule; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }