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