@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
450 lines (449 loc) • 26.5 kB
TypeScript
/**
* 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;
};
}