UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

401 lines (400 loc) 22.5 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface BackupDrBackupPlanConfig extends cdktf.TerraformMetaArguments { /** * The ID of the backup plan * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#backup_plan_id BackupDrBackupPlan#backup_plan_id} */ readonly backupPlanId: string; /** * Backup vault where the backups gets stored using this Backup plan. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#backup_vault BackupDrBackupPlan#backup_vault} */ readonly backupVault: string; /** * The description allows for additional details about 'BackupPlan' and its use cases to be provided. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#description BackupDrBackupPlan#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#id BackupDrBackupPlan#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 for the backup plan * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#location BackupDrBackupPlan#location} */ readonly location: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#project BackupDrBackupPlan#project} */ readonly project?: string; /** * The resource type to which the 'BackupPlan' will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#resource_type BackupDrBackupPlan#resource_type} */ readonly resourceType: string; /** * backup_rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#backup_rules BackupDrBackupPlan#backup_rules} */ readonly backupRules: BackupDrBackupPlanBackupRules[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#timeouts BackupDrBackupPlan#timeouts} */ readonly timeouts?: BackupDrBackupPlanTimeouts; } export interface BackupDrBackupPlanBackupRulesStandardScheduleBackupWindow { /** * The hour of the day (1-24) when the window ends, for example, if the value of end hour of the day is 10, that means the backup window end time is 10:00. * The end hour of the day should be greater than the start * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#end_hour_of_day BackupDrBackupPlan#end_hour_of_day} */ readonly endHourOfDay?: number; /** * The hour of the day (0-23) when the window starts, for example, if the value of the start hour of the day is 6, that means the backup window starts at 6:00. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#start_hour_of_day BackupDrBackupPlan#start_hour_of_day} */ readonly startHourOfDay: number; } export declare function backupDrBackupPlanBackupRulesStandardScheduleBackupWindowToTerraform(struct?: BackupDrBackupPlanBackupRulesStandardScheduleBackupWindowOutputReference | BackupDrBackupPlanBackupRulesStandardScheduleBackupWindow): any; export declare function backupDrBackupPlanBackupRulesStandardScheduleBackupWindowToHclTerraform(struct?: BackupDrBackupPlanBackupRulesStandardScheduleBackupWindowOutputReference | BackupDrBackupPlanBackupRulesStandardScheduleBackupWindow): any; export declare class BackupDrBackupPlanBackupRulesStandardScheduleBackupWindowOutputReference 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(): BackupDrBackupPlanBackupRulesStandardScheduleBackupWindow | undefined; set internalValue(value: BackupDrBackupPlanBackupRulesStandardScheduleBackupWindow | undefined); private _endHourOfDay?; get endHourOfDay(): number; set endHourOfDay(value: number); resetEndHourOfDay(): void; get endHourOfDayInput(): number | undefined; private _startHourOfDay?; get startHourOfDay(): number; set startHourOfDay(value: number); get startHourOfDayInput(): number | undefined; } export interface BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonth { /** * Specifies the day of the week. Possible values: ["DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#day_of_week BackupDrBackupPlan#day_of_week} */ readonly dayOfWeek: string; /** * WeekOfMonth enumerates possible weeks in the month, e.g. the first, third, or last week of the month. Possible values: ["WEEK_OF_MONTH_UNSPECIFIED", "FIRST", "SECOND", "THIRD", "FOURTH", "LAST"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#week_of_month BackupDrBackupPlan#week_of_month} */ readonly weekOfMonth: string; } export declare function backupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonthToTerraform(struct?: BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonthOutputReference | BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonth): any; export declare function backupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonthToHclTerraform(struct?: BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonthOutputReference | BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonth): any; export declare class BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonthOutputReference 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(): BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonth | undefined; set internalValue(value: BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonth | undefined); private _dayOfWeek?; get dayOfWeek(): string; set dayOfWeek(value: string); get dayOfWeekInput(): string | undefined; private _weekOfMonth?; get weekOfMonth(): string; set weekOfMonth(value: string); get weekOfMonthInput(): string | undefined; } export interface BackupDrBackupPlanBackupRulesStandardSchedule { /** * Specifies days of months like 1, 5, or 14 on which jobs will run. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#days_of_month BackupDrBackupPlan#days_of_month} */ readonly daysOfMonth?: number[]; /** * Specifies days of week like MONDAY or TUESDAY, on which jobs will run. This is required for 'recurrence_type', 'WEEKLY' and is not applicable otherwise. Possible values: ["DAY_OF_WEEK_UNSPECIFIED", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#days_of_week BackupDrBackupPlan#days_of_week} */ readonly daysOfWeek?: string[]; /** * Specifies frequency for hourly backups. An hourly frequency of 2 means jobs will run every 2 hours from start time till end time defined. * This is required for 'recurrence_type', 'HOURLY' and is not applicable otherwise. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#hourly_frequency BackupDrBackupPlan#hourly_frequency} */ readonly hourlyFrequency?: number; /** * Specifies values of months Possible values: ["MONTH_UNSPECIFIED", "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY", "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER", "NOVEMBER", "DECEMBER"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#months BackupDrBackupPlan#months} */ readonly months?: string[]; /** * RecurrenceType enumerates the applicable periodicity for the schedule. Possible values: ["HOURLY", "DAILY", "WEEKLY", "MONTHLY", "YEARLY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#recurrence_type BackupDrBackupPlan#recurrence_type} */ readonly recurrenceType: string; /** * The time zone to be used when interpreting the schedule. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#time_zone BackupDrBackupPlan#time_zone} */ readonly timeZone: string; /** * backup_window block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#backup_window BackupDrBackupPlan#backup_window} */ readonly backupWindow?: BackupDrBackupPlanBackupRulesStandardScheduleBackupWindow; /** * week_day_of_month block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#week_day_of_month BackupDrBackupPlan#week_day_of_month} */ readonly weekDayOfMonth?: BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonth; } export declare function backupDrBackupPlanBackupRulesStandardScheduleToTerraform(struct?: BackupDrBackupPlanBackupRulesStandardScheduleOutputReference | BackupDrBackupPlanBackupRulesStandardSchedule): any; export declare function backupDrBackupPlanBackupRulesStandardScheduleToHclTerraform(struct?: BackupDrBackupPlanBackupRulesStandardScheduleOutputReference | BackupDrBackupPlanBackupRulesStandardSchedule): any; export declare class BackupDrBackupPlanBackupRulesStandardScheduleOutputReference 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(): BackupDrBackupPlanBackupRulesStandardSchedule | undefined; set internalValue(value: BackupDrBackupPlanBackupRulesStandardSchedule | undefined); private _daysOfMonth?; get daysOfMonth(): number[]; set daysOfMonth(value: number[]); resetDaysOfMonth(): void; get daysOfMonthInput(): number[] | undefined; private _daysOfWeek?; get daysOfWeek(): string[]; set daysOfWeek(value: string[]); resetDaysOfWeek(): void; get daysOfWeekInput(): string[] | undefined; private _hourlyFrequency?; get hourlyFrequency(): number; set hourlyFrequency(value: number); resetHourlyFrequency(): void; get hourlyFrequencyInput(): number | undefined; private _months?; get months(): string[]; set months(value: string[]); resetMonths(): void; get monthsInput(): string[] | undefined; private _recurrenceType?; get recurrenceType(): string; set recurrenceType(value: string); get recurrenceTypeInput(): string | undefined; private _timeZone?; get timeZone(): string; set timeZone(value: string); get timeZoneInput(): string | undefined; private _backupWindow; get backupWindow(): BackupDrBackupPlanBackupRulesStandardScheduleBackupWindowOutputReference; putBackupWindow(value: BackupDrBackupPlanBackupRulesStandardScheduleBackupWindow): void; resetBackupWindow(): void; get backupWindowInput(): BackupDrBackupPlanBackupRulesStandardScheduleBackupWindow | undefined; private _weekDayOfMonth; get weekDayOfMonth(): BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonthOutputReference; putWeekDayOfMonth(value: BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonth): void; resetWeekDayOfMonth(): void; get weekDayOfMonthInput(): BackupDrBackupPlanBackupRulesStandardScheduleWeekDayOfMonth | undefined; } export interface BackupDrBackupPlanBackupRules { /** * Configures the duration for which backup data will be kept. The value should be greater than or equal to minimum enforced retention of the backup vault. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#backup_retention_days BackupDrBackupPlan#backup_retention_days} */ readonly backupRetentionDays: number; /** * The unique ID of this 'BackupRule'. The 'rule_id' is unique per 'BackupPlan'. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#rule_id BackupDrBackupPlan#rule_id} */ readonly ruleId: string; /** * standard_schedule block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#standard_schedule BackupDrBackupPlan#standard_schedule} */ readonly standardSchedule: BackupDrBackupPlanBackupRulesStandardSchedule; } export declare function backupDrBackupPlanBackupRulesToTerraform(struct?: BackupDrBackupPlanBackupRules | cdktf.IResolvable): any; export declare function backupDrBackupPlanBackupRulesToHclTerraform(struct?: BackupDrBackupPlanBackupRules | cdktf.IResolvable): any; export declare class BackupDrBackupPlanBackupRulesOutputReference 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(): BackupDrBackupPlanBackupRules | cdktf.IResolvable | undefined; set internalValue(value: BackupDrBackupPlanBackupRules | cdktf.IResolvable | undefined); private _backupRetentionDays?; get backupRetentionDays(): number; set backupRetentionDays(value: number); get backupRetentionDaysInput(): number | undefined; private _ruleId?; get ruleId(): string; set ruleId(value: string); get ruleIdInput(): string | undefined; private _standardSchedule; get standardSchedule(): BackupDrBackupPlanBackupRulesStandardScheduleOutputReference; putStandardSchedule(value: BackupDrBackupPlanBackupRulesStandardSchedule): void; get standardScheduleInput(): BackupDrBackupPlanBackupRulesStandardSchedule | undefined; } export declare class BackupDrBackupPlanBackupRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: BackupDrBackupPlanBackupRules[] | 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): BackupDrBackupPlanBackupRulesOutputReference; } export interface BackupDrBackupPlanTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#create BackupDrBackupPlan#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#delete BackupDrBackupPlan#delete} */ readonly delete?: string; } export declare function backupDrBackupPlanTimeoutsToTerraform(struct?: BackupDrBackupPlanTimeouts | cdktf.IResolvable): any; export declare function backupDrBackupPlanTimeoutsToHclTerraform(struct?: BackupDrBackupPlanTimeouts | cdktf.IResolvable): any; export declare class BackupDrBackupPlanTimeoutsOutputReference 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(): BackupDrBackupPlanTimeouts | cdktf.IResolvable | undefined; set internalValue(value: BackupDrBackupPlanTimeouts | 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; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan google_backup_dr_backup_plan} */ export declare class BackupDrBackupPlan extends cdktf.TerraformResource { static readonly tfResourceType = "google_backup_dr_backup_plan"; /** * Generates CDKTF code for importing a BackupDrBackupPlan 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 BackupDrBackupPlan to import * @param importFromId The id of the existing BackupDrBackupPlan that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.36.1/docs/resources/backup_dr_backup_plan#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the BackupDrBackupPlan 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.36.1/docs/resources/backup_dr_backup_plan google_backup_dr_backup_plan} 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 BackupDrBackupPlanConfig */ constructor(scope: Construct, id: string, config: BackupDrBackupPlanConfig); private _backupPlanId?; get backupPlanId(): string; set backupPlanId(value: string); get backupPlanIdInput(): string | undefined; private _backupVault?; get backupVault(): string; set backupVault(value: string); get backupVaultInput(): string | undefined; get backupVaultServiceAccount(): string; get createTime(): string; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): 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 _resourceType?; get resourceType(): string; set resourceType(value: string); get resourceTypeInput(): string | undefined; get updateTime(): string; private _backupRules; get backupRules(): BackupDrBackupPlanBackupRulesList; putBackupRules(value: BackupDrBackupPlanBackupRules[] | cdktf.IResolvable): void; get backupRulesInput(): cdktf.IResolvable | BackupDrBackupPlanBackupRules[] | undefined; private _timeouts; get timeouts(): BackupDrBackupPlanTimeoutsOutputReference; putTimeouts(value: BackupDrBackupPlanTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | BackupDrBackupPlanTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }