UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

536 lines (535 loc) 31.3 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface SpannerInstanceConfig extends cdktf.TerraformMetaArguments { /** * The name of the instance's configuration (similar but not * quite the same as a region) which defines the geographic placement and * replication of your databases in this instance. It determines where your data * is stored. Values are typically of the form 'regional-europe-west1' , 'us-central' etc. * In order to obtain a valid list please consult the * [Configuration section of the docs](https://cloud.google.com/spanner/docs/instances). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#config SpannerInstance#config} */ readonly config: string; /** * Controls the default backup behavior for new databases within the instance. * Note that 'AUTOMATIC' is not permitted for free instances, as backups and backup schedules are not allowed for free instances. * if unset or NONE, no default backup schedule will be created for new databases within the instance. Possible values: ["NONE", "AUTOMATIC"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#default_backup_schedule_type SpannerInstance#default_backup_schedule_type} */ readonly defaultBackupScheduleType?: string; /** * The descriptive name for this instance as it appears in UIs. Must be * unique per project and between 4 and 30 characters in length. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#display_name SpannerInstance#display_name} */ readonly displayName: string; /** * The edition selected for this instance. Different editions provide different capabilities at different price points. Possible values: ["EDITION_UNSPECIFIED", "STANDARD", "ENTERPRISE", "ENTERPRISE_PLUS"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#edition SpannerInstance#edition} */ readonly edition?: string; /** * When deleting a spanner instance, this boolean option will delete all backups of this instance. * This must be set to true if you created a backup manually in the console. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#force_destroy SpannerInstance#force_destroy} */ readonly forceDestroy?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#id SpannerInstance#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; /** * An object containing a list of "key": value pairs. * Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. * * * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field 'effective_labels' for all of the labels present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#labels SpannerInstance#labels} */ readonly labels?: { [key: string]: string; }; /** * A unique identifier for the instance, which cannot be changed after * the instance is created. The name must be between 6 and 30 characters * in length. * If not provided, a random string starting with 'tf-' will be selected. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#name SpannerInstance#name} */ readonly name?: string; /** * The number of nodes allocated to this instance. Exactly one of either node_count or processing_units * must be present in terraform. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#num_nodes SpannerInstance#num_nodes} */ readonly numNodes?: number; /** * The number of processing units allocated to this instance. Exactly one of processing_units * or node_count must be present in terraform. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#processing_units SpannerInstance#processing_units} */ readonly processingUnits?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#project SpannerInstance#project} */ readonly project?: string; /** * autoscaling_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#autoscaling_config SpannerInstance#autoscaling_config} */ readonly autoscalingConfig?: SpannerInstanceAutoscalingConfig; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#timeouts SpannerInstance#timeouts} */ readonly timeouts?: SpannerInstanceTimeouts; } export interface SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimits { /** * The maximum number of nodes for this specific replica. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#max_nodes SpannerInstance#max_nodes} */ readonly maxNodes: number; /** * The minimum number of nodes for this specific replica. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#min_nodes SpannerInstance#min_nodes} */ readonly minNodes: number; } export declare function spannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimitsToTerraform(struct?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimitsOutputReference | SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimits): any; export declare function spannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimitsToHclTerraform(struct?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimitsOutputReference | SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimits): any; export declare class SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimitsOutputReference 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(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimits | undefined; set internalValue(value: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimits | undefined); private _maxNodes?; get maxNodes(): number; set maxNodes(value: number); get maxNodesInput(): number | undefined; private _minNodes?; get minNodes(): number; set minNodes(value: number); get minNodesInput(): number | undefined; } export interface SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverrides { /** * autoscaling_limits block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#autoscaling_limits SpannerInstance#autoscaling_limits} */ readonly autoscalingLimits: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimits; } export declare function spannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesToTerraform(struct?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesOutputReference | SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverrides): any; export declare function spannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesToHclTerraform(struct?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesOutputReference | SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverrides): any; export declare class SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesOutputReference 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(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverrides | undefined; set internalValue(value: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverrides | undefined); private _autoscalingLimits; get autoscalingLimits(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimitsOutputReference; putAutoscalingLimits(value: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimits): void; get autoscalingLimitsInput(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesAutoscalingLimits | undefined; } export interface SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelection { /** * The location of the replica to apply asymmetric autoscaling options. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#location SpannerInstance#location} */ readonly location: string; } export declare function spannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelectionToTerraform(struct?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelectionOutputReference | SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelection): any; export declare function spannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelectionToHclTerraform(struct?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelectionOutputReference | SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelection): any; export declare class SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelectionOutputReference 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(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelection | undefined; set internalValue(value: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelection | undefined); private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; } export interface SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions { /** * overrides block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#overrides SpannerInstance#overrides} */ readonly overrides: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverrides; /** * replica_selection block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#replica_selection SpannerInstance#replica_selection} */ readonly replicaSelection: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelection; } export declare function spannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsToTerraform(struct?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions | cdktf.IResolvable): any; export declare function spannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsToHclTerraform(struct?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions | cdktf.IResolvable): any; export declare class SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOutputReference 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(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions | cdktf.IResolvable | undefined; set internalValue(value: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions | cdktf.IResolvable | undefined); private _overrides; get overrides(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverridesOutputReference; putOverrides(value: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverrides): void; get overridesInput(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOverrides | undefined; private _replicaSelection; get replicaSelection(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelectionOutputReference; putReplicaSelection(value: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelection): void; get replicaSelectionInput(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsReplicaSelection | undefined; } export declare class SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions[] | 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): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsOutputReference; } export interface SpannerInstanceAutoscalingConfigAutoscalingLimits { /** * Specifies maximum number of nodes allocated to the instance. If set, this number * should be greater than or equal to min_nodes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#max_nodes SpannerInstance#max_nodes} */ readonly maxNodes?: number; /** * Specifies maximum number of processing units allocated to the instance. * If set, this number should be multiples of 1000 and be greater than or equal to * min_processing_units. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#max_processing_units SpannerInstance#max_processing_units} */ readonly maxProcessingUnits?: number; /** * Specifies number of nodes allocated to the instance. If set, this number * should be greater than or equal to 1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#min_nodes SpannerInstance#min_nodes} */ readonly minNodes?: number; /** * Specifies minimum number of processing units allocated to the instance. * If set, this number should be multiples of 1000. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#min_processing_units SpannerInstance#min_processing_units} */ readonly minProcessingUnits?: number; } export declare function spannerInstanceAutoscalingConfigAutoscalingLimitsToTerraform(struct?: SpannerInstanceAutoscalingConfigAutoscalingLimitsOutputReference | SpannerInstanceAutoscalingConfigAutoscalingLimits): any; export declare function spannerInstanceAutoscalingConfigAutoscalingLimitsToHclTerraform(struct?: SpannerInstanceAutoscalingConfigAutoscalingLimitsOutputReference | SpannerInstanceAutoscalingConfigAutoscalingLimits): any; export declare class SpannerInstanceAutoscalingConfigAutoscalingLimitsOutputReference 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(): SpannerInstanceAutoscalingConfigAutoscalingLimits | undefined; set internalValue(value: SpannerInstanceAutoscalingConfigAutoscalingLimits | undefined); private _maxNodes?; get maxNodes(): number; set maxNodes(value: number); resetMaxNodes(): void; get maxNodesInput(): number | undefined; private _maxProcessingUnits?; get maxProcessingUnits(): number; set maxProcessingUnits(value: number); resetMaxProcessingUnits(): void; get maxProcessingUnitsInput(): number | undefined; private _minNodes?; get minNodes(): number; set minNodes(value: number); resetMinNodes(): void; get minNodesInput(): number | undefined; private _minProcessingUnits?; get minProcessingUnits(): number; set minProcessingUnits(value: number); resetMinProcessingUnits(): void; get minProcessingUnitsInput(): number | undefined; } export interface SpannerInstanceAutoscalingConfigAutoscalingTargets { /** * Specifies the target high priority cpu utilization percentage that the autoscaler * should be trying to achieve for the instance. * This number is on a scale from 0 (no utilization) to 100 (full utilization).. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#high_priority_cpu_utilization_percent SpannerInstance#high_priority_cpu_utilization_percent} */ readonly highPriorityCpuUtilizationPercent?: number; /** * Specifies the target storage utilization percentage that the autoscaler * should be trying to achieve for the instance. * This number is on a scale from 0 (no utilization) to 100 (full utilization). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#storage_utilization_percent SpannerInstance#storage_utilization_percent} */ readonly storageUtilizationPercent?: number; } export declare function spannerInstanceAutoscalingConfigAutoscalingTargetsToTerraform(struct?: SpannerInstanceAutoscalingConfigAutoscalingTargetsOutputReference | SpannerInstanceAutoscalingConfigAutoscalingTargets): any; export declare function spannerInstanceAutoscalingConfigAutoscalingTargetsToHclTerraform(struct?: SpannerInstanceAutoscalingConfigAutoscalingTargetsOutputReference | SpannerInstanceAutoscalingConfigAutoscalingTargets): any; export declare class SpannerInstanceAutoscalingConfigAutoscalingTargetsOutputReference 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(): SpannerInstanceAutoscalingConfigAutoscalingTargets | undefined; set internalValue(value: SpannerInstanceAutoscalingConfigAutoscalingTargets | undefined); private _highPriorityCpuUtilizationPercent?; get highPriorityCpuUtilizationPercent(): number; set highPriorityCpuUtilizationPercent(value: number); resetHighPriorityCpuUtilizationPercent(): void; get highPriorityCpuUtilizationPercentInput(): number | undefined; private _storageUtilizationPercent?; get storageUtilizationPercent(): number; set storageUtilizationPercent(value: number); resetStorageUtilizationPercent(): void; get storageUtilizationPercentInput(): number | undefined; } export interface SpannerInstanceAutoscalingConfig { /** * asymmetric_autoscaling_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#asymmetric_autoscaling_options SpannerInstance#asymmetric_autoscaling_options} */ readonly asymmetricAutoscalingOptions?: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions[] | cdktf.IResolvable; /** * autoscaling_limits block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#autoscaling_limits SpannerInstance#autoscaling_limits} */ readonly autoscalingLimits?: SpannerInstanceAutoscalingConfigAutoscalingLimits; /** * autoscaling_targets block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#autoscaling_targets SpannerInstance#autoscaling_targets} */ readonly autoscalingTargets?: SpannerInstanceAutoscalingConfigAutoscalingTargets; } export declare function spannerInstanceAutoscalingConfigToTerraform(struct?: SpannerInstanceAutoscalingConfigOutputReference | SpannerInstanceAutoscalingConfig): any; export declare function spannerInstanceAutoscalingConfigToHclTerraform(struct?: SpannerInstanceAutoscalingConfigOutputReference | SpannerInstanceAutoscalingConfig): any; export declare class SpannerInstanceAutoscalingConfigOutputReference 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(): SpannerInstanceAutoscalingConfig | undefined; set internalValue(value: SpannerInstanceAutoscalingConfig | undefined); private _asymmetricAutoscalingOptions; get asymmetricAutoscalingOptions(): SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptionsList; putAsymmetricAutoscalingOptions(value: SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions[] | cdktf.IResolvable): void; resetAsymmetricAutoscalingOptions(): void; get asymmetricAutoscalingOptionsInput(): cdktf.IResolvable | SpannerInstanceAutoscalingConfigAsymmetricAutoscalingOptions[] | undefined; private _autoscalingLimits; get autoscalingLimits(): SpannerInstanceAutoscalingConfigAutoscalingLimitsOutputReference; putAutoscalingLimits(value: SpannerInstanceAutoscalingConfigAutoscalingLimits): void; resetAutoscalingLimits(): void; get autoscalingLimitsInput(): SpannerInstanceAutoscalingConfigAutoscalingLimits | undefined; private _autoscalingTargets; get autoscalingTargets(): SpannerInstanceAutoscalingConfigAutoscalingTargetsOutputReference; putAutoscalingTargets(value: SpannerInstanceAutoscalingConfigAutoscalingTargets): void; resetAutoscalingTargets(): void; get autoscalingTargetsInput(): SpannerInstanceAutoscalingConfigAutoscalingTargets | undefined; } export interface SpannerInstanceTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#create SpannerInstance#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#delete SpannerInstance#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#update SpannerInstance#update} */ readonly update?: string; } export declare function spannerInstanceTimeoutsToTerraform(struct?: SpannerInstanceTimeouts | cdktf.IResolvable): any; export declare function spannerInstanceTimeoutsToHclTerraform(struct?: SpannerInstanceTimeouts | cdktf.IResolvable): any; export declare class SpannerInstanceTimeoutsOutputReference 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(): SpannerInstanceTimeouts | cdktf.IResolvable | undefined; set internalValue(value: SpannerInstanceTimeouts | 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_instance google_spanner_instance} */ export declare class SpannerInstance extends cdktf.TerraformResource { static readonly tfResourceType = "google_spanner_instance"; /** * Generates CDKTF code for importing a SpannerInstance 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 SpannerInstance to import * @param importFromId The id of the existing SpannerInstance that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/spanner_instance#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SpannerInstance 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_instance google_spanner_instance} 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 SpannerInstanceConfig */ constructor(scope: Construct, id: string, config: SpannerInstanceConfig); private _config?; get config(): string; set config(value: string); get configInput(): string | undefined; private _defaultBackupScheduleType?; get defaultBackupScheduleType(): string; set defaultBackupScheduleType(value: string); resetDefaultBackupScheduleType(): void; get defaultBackupScheduleTypeInput(): string | undefined; private _displayName?; get displayName(): string; set displayName(value: string); get displayNameInput(): string | undefined; private _edition?; get edition(): string; set edition(value: string); resetEdition(): void; get editionInput(): string | undefined; private _effectiveLabels; get effectiveLabels(): cdktf.StringMap; private _forceDestroy?; get forceDestroy(): boolean | cdktf.IResolvable; set forceDestroy(value: boolean | cdktf.IResolvable); resetForceDestroy(): void; get forceDestroyInput(): boolean | cdktf.IResolvable | undefined; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; private _numNodes?; get numNodes(): number; set numNodes(value: number); resetNumNodes(): void; get numNodesInput(): number | undefined; private _processingUnits?; get processingUnits(): number; set processingUnits(value: number); resetProcessingUnits(): void; get processingUnitsInput(): number | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; get state(): string; private _terraformLabels; get terraformLabels(): cdktf.StringMap; private _autoscalingConfig; get autoscalingConfig(): SpannerInstanceAutoscalingConfigOutputReference; putAutoscalingConfig(value: SpannerInstanceAutoscalingConfig): void; resetAutoscalingConfig(): void; get autoscalingConfigInput(): SpannerInstanceAutoscalingConfig | undefined; private _timeouts; get timeouts(): SpannerInstanceTimeoutsOutputReference; putTimeouts(value: SpannerInstanceTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | SpannerInstanceTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }