UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

276 lines (275 loc) 14.9 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface SpannerBackupScheduleConfig extends cdktf.TerraformMetaArguments { /** * The database to create the backup schedule on. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#database SpannerBackupSchedule#database} */ readonly database: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#id SpannerBackupSchedule#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 instance to create the database on. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#instance SpannerBackupSchedule#instance} */ readonly instance: string; /** * A unique identifier for the backup schedule, which cannot be changed after * the backup schedule is created. Values are of the form [a-z][-a-z0-9]*[a-z0-9]. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#name SpannerBackupSchedule#name} */ readonly name?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#project SpannerBackupSchedule#project} */ readonly project?: string; /** * At what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days. * A duration in seconds with up to nine fractional digits, ending with 's'. Example: '3.5s'. * You can set this to a value up to 366 days. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#retention_duration SpannerBackupSchedule#retention_duration} */ readonly retentionDuration: string; /** * full_backup_spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#full_backup_spec SpannerBackupSchedule#full_backup_spec} */ readonly fullBackupSpec?: SpannerBackupScheduleFullBackupSpec; /** * incremental_backup_spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#incremental_backup_spec SpannerBackupSchedule#incremental_backup_spec} */ readonly incrementalBackupSpec?: SpannerBackupScheduleIncrementalBackupSpec; /** * spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#spec SpannerBackupSchedule#spec} */ readonly spec?: SpannerBackupScheduleSpec; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#timeouts SpannerBackupSchedule#timeouts} */ readonly timeouts?: SpannerBackupScheduleTimeouts; } export interface SpannerBackupScheduleFullBackupSpec { } export declare function spannerBackupScheduleFullBackupSpecToTerraform(struct?: SpannerBackupScheduleFullBackupSpecOutputReference | SpannerBackupScheduleFullBackupSpec): any; export declare function spannerBackupScheduleFullBackupSpecToHclTerraform(struct?: SpannerBackupScheduleFullBackupSpecOutputReference | SpannerBackupScheduleFullBackupSpec): any; export declare class SpannerBackupScheduleFullBackupSpecOutputReference 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(): SpannerBackupScheduleFullBackupSpec | undefined; set internalValue(value: SpannerBackupScheduleFullBackupSpec | undefined); } export interface SpannerBackupScheduleIncrementalBackupSpec { } export declare function spannerBackupScheduleIncrementalBackupSpecToTerraform(struct?: SpannerBackupScheduleIncrementalBackupSpecOutputReference | SpannerBackupScheduleIncrementalBackupSpec): any; export declare function spannerBackupScheduleIncrementalBackupSpecToHclTerraform(struct?: SpannerBackupScheduleIncrementalBackupSpecOutputReference | SpannerBackupScheduleIncrementalBackupSpec): any; export declare class SpannerBackupScheduleIncrementalBackupSpecOutputReference 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(): SpannerBackupScheduleIncrementalBackupSpec | undefined; set internalValue(value: SpannerBackupScheduleIncrementalBackupSpec | undefined); } export interface SpannerBackupScheduleSpecCronSpec { /** * Textual representation of the crontab. User can customize the * backup frequency and the backup version time using the cron * expression. The version time must be in UTC timzeone. * The backup will contain an externally consistent copy of the * database at the version time. Allowed frequencies are 12 hour, 1 day, * 1 week and 1 month. Examples of valid cron specifications: * 0 2/12 * * * : every 12 hours at (2, 14) hours past midnight in UTC. * 0 2,14 * * * : every 12 hours at (2,14) hours past midnight in UTC. * 0 2 * * * : once a day at 2 past midnight in UTC. * 0 2 * * 0 : once a week every Sunday at 2 past midnight in UTC. * 0 2 8 * * : once a month on 8th day at 2 past midnight in UTC. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#text SpannerBackupSchedule#text} */ readonly text?: string; } export declare function spannerBackupScheduleSpecCronSpecToTerraform(struct?: SpannerBackupScheduleSpecCronSpecOutputReference | SpannerBackupScheduleSpecCronSpec): any; export declare function spannerBackupScheduleSpecCronSpecToHclTerraform(struct?: SpannerBackupScheduleSpecCronSpecOutputReference | SpannerBackupScheduleSpecCronSpec): any; export declare class SpannerBackupScheduleSpecCronSpecOutputReference 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(): SpannerBackupScheduleSpecCronSpec | undefined; set internalValue(value: SpannerBackupScheduleSpecCronSpec | undefined); private _text?; get text(): string; set text(value: string); resetText(): void; get textInput(): string | undefined; } export interface SpannerBackupScheduleSpec { /** * cron_spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#cron_spec SpannerBackupSchedule#cron_spec} */ readonly cronSpec?: SpannerBackupScheduleSpecCronSpec; } export declare function spannerBackupScheduleSpecToTerraform(struct?: SpannerBackupScheduleSpecOutputReference | SpannerBackupScheduleSpec): any; export declare function spannerBackupScheduleSpecToHclTerraform(struct?: SpannerBackupScheduleSpecOutputReference | SpannerBackupScheduleSpec): any; export declare class SpannerBackupScheduleSpecOutputReference 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(): SpannerBackupScheduleSpec | undefined; set internalValue(value: SpannerBackupScheduleSpec | undefined); private _cronSpec; get cronSpec(): SpannerBackupScheduleSpecCronSpecOutputReference; putCronSpec(value: SpannerBackupScheduleSpecCronSpec): void; resetCronSpec(): void; get cronSpecInput(): SpannerBackupScheduleSpecCronSpec | undefined; } export interface SpannerBackupScheduleTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#create SpannerBackupSchedule#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#delete SpannerBackupSchedule#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#update SpannerBackupSchedule#update} */ readonly update?: string; } export declare function spannerBackupScheduleTimeoutsToTerraform(struct?: SpannerBackupScheduleTimeouts | cdktf.IResolvable): any; export declare function spannerBackupScheduleTimeoutsToHclTerraform(struct?: SpannerBackupScheduleTimeouts | cdktf.IResolvable): any; export declare class SpannerBackupScheduleTimeoutsOutputReference 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(): SpannerBackupScheduleTimeouts | cdktf.IResolvable | undefined; set internalValue(value: SpannerBackupScheduleTimeouts | 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/spanner_backup_schedule google_spanner_backup_schedule} */ export declare class SpannerBackupSchedule extends cdktf.TerraformResource { static readonly tfResourceType = "google_spanner_backup_schedule"; /** * Generates CDKTF code for importing a SpannerBackupSchedule 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 SpannerBackupSchedule to import * @param importFromId The id of the existing SpannerBackupSchedule that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_backup_schedule#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SpannerBackupSchedule 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/spanner_backup_schedule google_spanner_backup_schedule} 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 SpannerBackupScheduleConfig */ constructor(scope: Construct, id: string, config: SpannerBackupScheduleConfig); private _database?; get database(): string; set database(value: string); get databaseInput(): string | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _instance?; get instance(): string; set instance(value: string); get instanceInput(): string | undefined; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _retentionDuration?; get retentionDuration(): string; set retentionDuration(value: string); get retentionDurationInput(): string | undefined; private _fullBackupSpec; get fullBackupSpec(): SpannerBackupScheduleFullBackupSpecOutputReference; putFullBackupSpec(value: SpannerBackupScheduleFullBackupSpec): void; resetFullBackupSpec(): void; get fullBackupSpecInput(): SpannerBackupScheduleFullBackupSpec | undefined; private _incrementalBackupSpec; get incrementalBackupSpec(): SpannerBackupScheduleIncrementalBackupSpecOutputReference; putIncrementalBackupSpec(value: SpannerBackupScheduleIncrementalBackupSpec): void; resetIncrementalBackupSpec(): void; get incrementalBackupSpecInput(): SpannerBackupScheduleIncrementalBackupSpec | undefined; private _spec; get spec(): SpannerBackupScheduleSpecOutputReference; putSpec(value: SpannerBackupScheduleSpec): void; resetSpec(): void; get specInput(): SpannerBackupScheduleSpec | undefined; private _timeouts; get timeouts(): SpannerBackupScheduleTimeoutsOutputReference; putTimeouts(value: SpannerBackupScheduleTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | SpannerBackupScheduleTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }