UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

450 lines (449 loc) 26.5 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface StorageInsightsReportConfigConfig extends cdktf.TerraformMetaArguments { /** * The editable display name of the inventory report configuration. Has a limit of 256 characters. Can be empty. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#display_name StorageInsightsReportConfig#display_name} */ readonly displayName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#id StorageInsightsReportConfig#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 location of the ReportConfig. The source and destination buckets specified in the ReportConfig * must be in the same location. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#location StorageInsightsReportConfig#location} */ readonly location: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#project StorageInsightsReportConfig#project} */ readonly project?: string; /** * csv_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#csv_options StorageInsightsReportConfig#csv_options} */ readonly csvOptions: StorageInsightsReportConfigCsvOptions; /** * frequency_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#frequency_options StorageInsightsReportConfig#frequency_options} */ readonly frequencyOptions?: StorageInsightsReportConfigFrequencyOptions; /** * object_metadata_report_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#object_metadata_report_options StorageInsightsReportConfig#object_metadata_report_options} */ readonly objectMetadataReportOptions?: StorageInsightsReportConfigObjectMetadataReportOptions; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#timeouts StorageInsightsReportConfig#timeouts} */ readonly timeouts?: StorageInsightsReportConfigTimeouts; } export interface StorageInsightsReportConfigCsvOptions { /** * The delimiter used to separate the fields in the inventory report CSV file. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#delimiter StorageInsightsReportConfig#delimiter} */ readonly delimiter?: string; /** * The boolean that indicates whether or not headers are included in the inventory report CSV file. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#header_required StorageInsightsReportConfig#header_required} */ readonly headerRequired?: boolean | cdktf.IResolvable; /** * The character used to separate the records in the inventory report CSV file. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#record_separator StorageInsightsReportConfig#record_separator} */ readonly recordSeparator?: string; } export declare function storageInsightsReportConfigCsvOptionsToTerraform(struct?: StorageInsightsReportConfigCsvOptionsOutputReference | StorageInsightsReportConfigCsvOptions): any; export declare function storageInsightsReportConfigCsvOptionsToHclTerraform(struct?: StorageInsightsReportConfigCsvOptionsOutputReference | StorageInsightsReportConfigCsvOptions): any; export declare class StorageInsightsReportConfigCsvOptionsOutputReference 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(): StorageInsightsReportConfigCsvOptions | undefined; set internalValue(value: StorageInsightsReportConfigCsvOptions | undefined); private _delimiter?; get delimiter(): string; set delimiter(value: string); resetDelimiter(): void; get delimiterInput(): string | undefined; private _headerRequired?; get headerRequired(): boolean | cdktf.IResolvable; set headerRequired(value: boolean | cdktf.IResolvable); resetHeaderRequired(): void; get headerRequiredInput(): boolean | cdktf.IResolvable | undefined; private _recordSeparator?; get recordSeparator(): string; set recordSeparator(value: string); resetRecordSeparator(): void; get recordSeparatorInput(): string | undefined; } export interface StorageInsightsReportConfigFrequencyOptionsEndDate { /** * The day of the month to stop generating inventory reports. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#day StorageInsightsReportConfig#day} */ readonly day: number; /** * The month to stop generating inventory reports. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#month StorageInsightsReportConfig#month} */ readonly month: number; /** * The year to stop generating inventory reports * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#year StorageInsightsReportConfig#year} */ readonly year: number; } export declare function storageInsightsReportConfigFrequencyOptionsEndDateToTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsEndDateOutputReference | StorageInsightsReportConfigFrequencyOptionsEndDate): any; export declare function storageInsightsReportConfigFrequencyOptionsEndDateToHclTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsEndDateOutputReference | StorageInsightsReportConfigFrequencyOptionsEndDate): any; export declare class StorageInsightsReportConfigFrequencyOptionsEndDateOutputReference 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(): StorageInsightsReportConfigFrequencyOptionsEndDate | undefined; set internalValue(value: StorageInsightsReportConfigFrequencyOptionsEndDate | undefined); private _day?; get day(): number; set day(value: number); get dayInput(): number | undefined; private _month?; get month(): number; set month(value: number); get monthInput(): number | undefined; private _year?; get year(): number; set year(value: number); get yearInput(): number | undefined; } export interface StorageInsightsReportConfigFrequencyOptionsStartDate { /** * The day of the month to start generating inventory reports. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#day StorageInsightsReportConfig#day} */ readonly day: number; /** * The month to start generating inventory reports. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#month StorageInsightsReportConfig#month} */ readonly month: number; /** * The year to start generating inventory reports * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#year StorageInsightsReportConfig#year} */ readonly year: number; } export declare function storageInsightsReportConfigFrequencyOptionsStartDateToTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsStartDateOutputReference | StorageInsightsReportConfigFrequencyOptionsStartDate): any; export declare function storageInsightsReportConfigFrequencyOptionsStartDateToHclTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsStartDateOutputReference | StorageInsightsReportConfigFrequencyOptionsStartDate): any; export declare class StorageInsightsReportConfigFrequencyOptionsStartDateOutputReference 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(): StorageInsightsReportConfigFrequencyOptionsStartDate | undefined; set internalValue(value: StorageInsightsReportConfigFrequencyOptionsStartDate | undefined); private _day?; get day(): number; set day(value: number); get dayInput(): number | undefined; private _month?; get month(): number; set month(value: number); get monthInput(): number | undefined; private _year?; get year(): number; set year(value: number); get yearInput(): number | undefined; } export interface StorageInsightsReportConfigFrequencyOptions { /** * The frequency in which inventory reports are generated. Values are DAILY or WEEKLY. Possible values: ["DAILY", "WEEKLY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#frequency StorageInsightsReportConfig#frequency} */ readonly frequency: string; /** * end_date block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#end_date StorageInsightsReportConfig#end_date} */ readonly endDate: StorageInsightsReportConfigFrequencyOptionsEndDate; /** * start_date block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#start_date StorageInsightsReportConfig#start_date} */ readonly startDate: StorageInsightsReportConfigFrequencyOptionsStartDate; } export declare function storageInsightsReportConfigFrequencyOptionsToTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsOutputReference | StorageInsightsReportConfigFrequencyOptions): any; export declare function storageInsightsReportConfigFrequencyOptionsToHclTerraform(struct?: StorageInsightsReportConfigFrequencyOptionsOutputReference | StorageInsightsReportConfigFrequencyOptions): any; export declare class StorageInsightsReportConfigFrequencyOptionsOutputReference 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(): StorageInsightsReportConfigFrequencyOptions | undefined; set internalValue(value: StorageInsightsReportConfigFrequencyOptions | undefined); private _frequency?; get frequency(): string; set frequency(value: string); get frequencyInput(): string | undefined; private _endDate; get endDate(): StorageInsightsReportConfigFrequencyOptionsEndDateOutputReference; putEndDate(value: StorageInsightsReportConfigFrequencyOptionsEndDate): void; get endDateInput(): StorageInsightsReportConfigFrequencyOptionsEndDate | undefined; private _startDate; get startDate(): StorageInsightsReportConfigFrequencyOptionsStartDateOutputReference; putStartDate(value: StorageInsightsReportConfigFrequencyOptionsStartDate): void; get startDateInput(): StorageInsightsReportConfigFrequencyOptionsStartDate | undefined; } export interface StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions { /** * The destination bucket that stores the generated inventory reports. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#bucket StorageInsightsReportConfig#bucket} */ readonly bucket: string; /** * The path within the destination bucket to store generated inventory reports. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#destination_path StorageInsightsReportConfig#destination_path} */ readonly destinationPath?: string; } export declare function storageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsToTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputReference | StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions): any; export declare function storageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsToHclTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputReference | StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions): any; export declare class StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputReference 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(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions | undefined; set internalValue(value: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions | undefined); private _bucket?; get bucket(): string; set bucket(value: string); get bucketInput(): string | undefined; private _destinationPath?; get destinationPath(): string; set destinationPath(value: string); resetDestinationPath(): void; get destinationPathInput(): string | undefined; } export interface StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters { /** * The filter to use when specifying which bucket to generate inventory reports for. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#bucket StorageInsightsReportConfig#bucket} */ readonly bucket?: string; } export declare function storageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersToTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputReference | StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters): any; export declare function storageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersToHclTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputReference | StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters): any; export declare class StorageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputReference 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(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters | undefined; set internalValue(value: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters | undefined); private _bucket?; get bucket(): string; set bucket(value: string); resetBucket(): void; get bucketInput(): string | undefined; } export interface StorageInsightsReportConfigObjectMetadataReportOptions { /** * The metadata fields included in an inventory report. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#metadata_fields StorageInsightsReportConfig#metadata_fields} */ readonly metadataFields: string[]; /** * storage_destination_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#storage_destination_options StorageInsightsReportConfig#storage_destination_options} */ readonly storageDestinationOptions: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions; /** * storage_filters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#storage_filters StorageInsightsReportConfig#storage_filters} */ readonly storageFilters?: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters; } export declare function storageInsightsReportConfigObjectMetadataReportOptionsToTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsOutputReference | StorageInsightsReportConfigObjectMetadataReportOptions): any; export declare function storageInsightsReportConfigObjectMetadataReportOptionsToHclTerraform(struct?: StorageInsightsReportConfigObjectMetadataReportOptionsOutputReference | StorageInsightsReportConfigObjectMetadataReportOptions): any; export declare class StorageInsightsReportConfigObjectMetadataReportOptionsOutputReference 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(): StorageInsightsReportConfigObjectMetadataReportOptions | undefined; set internalValue(value: StorageInsightsReportConfigObjectMetadataReportOptions | undefined); private _metadataFields?; get metadataFields(): string[]; set metadataFields(value: string[]); get metadataFieldsInput(): string[] | undefined; private _storageDestinationOptions; get storageDestinationOptions(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptionsOutputReference; putStorageDestinationOptions(value: StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions): void; get storageDestinationOptionsInput(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageDestinationOptions | undefined; private _storageFilters; get storageFilters(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageFiltersOutputReference; putStorageFilters(value: StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters): void; resetStorageFilters(): void; get storageFiltersInput(): StorageInsightsReportConfigObjectMetadataReportOptionsStorageFilters | undefined; } export interface StorageInsightsReportConfigTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#create StorageInsightsReportConfig#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#delete StorageInsightsReportConfig#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#update StorageInsightsReportConfig#update} */ readonly update?: string; } export declare function storageInsightsReportConfigTimeoutsToTerraform(struct?: StorageInsightsReportConfigTimeouts | cdktf.IResolvable): any; export declare function storageInsightsReportConfigTimeoutsToHclTerraform(struct?: StorageInsightsReportConfigTimeouts | cdktf.IResolvable): any; export declare class StorageInsightsReportConfigTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @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(): StorageInsightsReportConfigTimeouts | cdktf.IResolvable | undefined; set internalValue(value: StorageInsightsReportConfigTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string | undefined; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config google_storage_insights_report_config} */ export declare class StorageInsightsReportConfig extends cdktf.TerraformResource { static readonly tfResourceType = "google_storage_insights_report_config"; /** * Generates CDKTF code for importing a StorageInsightsReportConfig resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the StorageInsightsReportConfig to import * @param importFromId The id of the existing StorageInsightsReportConfig that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the StorageInsightsReportConfig to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource; /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/storage_insights_report_config google_storage_insights_report_config} 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 StorageInsightsReportConfigConfig */ constructor(scope: Construct, id: string, config: StorageInsightsReportConfigConfig); private _displayName?; get displayName(): string; set displayName(value: string); resetDisplayName(): void; get displayNameInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; get name(): string; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _csvOptions; get csvOptions(): StorageInsightsReportConfigCsvOptionsOutputReference; putCsvOptions(value: StorageInsightsReportConfigCsvOptions): void; get csvOptionsInput(): StorageInsightsReportConfigCsvOptions | undefined; private _frequencyOptions; get frequencyOptions(): StorageInsightsReportConfigFrequencyOptionsOutputReference; putFrequencyOptions(value: StorageInsightsReportConfigFrequencyOptions): void; resetFrequencyOptions(): void; get frequencyOptionsInput(): StorageInsightsReportConfigFrequencyOptions | undefined; private _objectMetadataReportOptions; get objectMetadataReportOptions(): StorageInsightsReportConfigObjectMetadataReportOptionsOutputReference; putObjectMetadataReportOptions(value: StorageInsightsReportConfigObjectMetadataReportOptions): void; resetObjectMetadataReportOptions(): void; get objectMetadataReportOptionsInput(): StorageInsightsReportConfigObjectMetadataReportOptions | undefined; private _timeouts; get timeouts(): StorageInsightsReportConfigTimeoutsOutputReference; putTimeouts(value: StorageInsightsReportConfigTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | StorageInsightsReportConfigTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }