UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

453 lines (452 loc) 24.8 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface NetappVolumeReplicationConfig extends cdktf.TerraformMetaArguments { /** * A destination volume is created as part of replication creation. The destination volume will not became * under Terraform management unless you import it manually. If you delete the replication, this volume * will remain. * Setting this parameter to true will delete the *current* destination volume when destroying the * replication. If you reversed the replication direction, this will be your former source volume! * For production use, it is recommended to keep this parameter false to avoid accidental volume * deletion. Handle with care. Default is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#delete_destination_volume NetappVolumeReplication#delete_destination_volume} */ readonly deleteDestinationVolume?: boolean | cdktf.IResolvable; /** * An description of this resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#description NetappVolumeReplication#description} */ readonly description?: string; /** * Only replications with mirror_state=MIRRORED can be stopped. A replication in mirror_state=TRANSFERRING * currently receives an update and stopping the update might be undesirable. Set this parameter to true * to stop anyway. All data transferred to the destination will be discarded and content of destination * volume will remain at the state of the last successful update. Default is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#force_stopping NetappVolumeReplication#force_stopping} */ readonly forceStopping?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#id NetappVolumeReplication#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; /** * Labels as key value pairs. Example: '{ "owner": "Bob", "department": "finance", "purpose": "testing" }' * * * **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.41.0/docs/resources/netapp_volume_replication#labels NetappVolumeReplication#labels} */ readonly labels?: { [key: string]: string; }; /** * Name of region for this resource. The resource needs to be created in the region of the destination volume. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#location NetappVolumeReplication#location} */ readonly location: string; /** * The name of the replication. Needs to be unique per location. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#name NetappVolumeReplication#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#project NetappVolumeReplication#project} */ readonly project?: string; /** * Set to false to stop/break the mirror. Stopping the mirror makes the destination volume read-write * and act independently from the source volume. * Set to true to enable/resume the mirror. WARNING: Resuming a mirror overwrites any changes * done to the destination volume with the content of the source volume. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#replication_enabled NetappVolumeReplication#replication_enabled} */ readonly replicationEnabled?: boolean | cdktf.IResolvable; /** * Specifies the replication interval. Possible values: ["EVERY_10_MINUTES", "HOURLY", "DAILY"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#replication_schedule NetappVolumeReplication#replication_schedule} */ readonly replicationSchedule: string; /** * The name of the existing source volume. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#volume_name NetappVolumeReplication#volume_name} */ readonly volumeName: string; /** * Replication resource state is independent of mirror_state. With enough data, it can take many hours * for mirror_state to reach MIRRORED. If you want Terraform to wait for the mirror to finish on * create/stop/resume operations, set this parameter to true. Default is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#wait_for_mirror NetappVolumeReplication#wait_for_mirror} */ readonly waitForMirror?: boolean | cdktf.IResolvable; /** * destination_volume_parameters block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#destination_volume_parameters NetappVolumeReplication#destination_volume_parameters} */ readonly destinationVolumeParameters?: NetappVolumeReplicationDestinationVolumeParameters; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#timeouts NetappVolumeReplication#timeouts} */ readonly timeouts?: NetappVolumeReplicationTimeouts; } export interface NetappVolumeReplicationHybridPeeringDetails { } export declare function netappVolumeReplicationHybridPeeringDetailsToTerraform(struct?: NetappVolumeReplicationHybridPeeringDetails): any; export declare function netappVolumeReplicationHybridPeeringDetailsToHclTerraform(struct?: NetappVolumeReplicationHybridPeeringDetails): any; export declare class NetappVolumeReplicationHybridPeeringDetailsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): NetappVolumeReplicationHybridPeeringDetails | undefined; set internalValue(value: NetappVolumeReplicationHybridPeeringDetails | undefined); get command(): string; get commandExpiryTime(): string; get passphrase(): string; get peerClusterName(): string; get peerSvmName(): string; get peerVolumeName(): string; get subnetIp(): string; } export declare class NetappVolumeReplicationHybridPeeringDetailsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): NetappVolumeReplicationHybridPeeringDetailsOutputReference; } export interface NetappVolumeReplicationTransferStats { } export declare function netappVolumeReplicationTransferStatsToTerraform(struct?: NetappVolumeReplicationTransferStats): any; export declare function netappVolumeReplicationTransferStatsToHclTerraform(struct?: NetappVolumeReplicationTransferStats): any; export declare class NetappVolumeReplicationTransferStatsOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @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(): NetappVolumeReplicationTransferStats | undefined; set internalValue(value: NetappVolumeReplicationTransferStats | undefined); get lagDuration(): string; get lastTransferBytes(): string; get lastTransferDuration(): string; get lastTransferEndTime(): string; get lastTransferError(): string; get totalTransferDuration(): string; get transferBytes(): string; get updateTime(): string; } export declare class NetappVolumeReplicationTransferStatsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; /** * @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): NetappVolumeReplicationTransferStatsOutputReference; } export interface NetappVolumeReplicationDestinationVolumeParametersTieringPolicy { /** * Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 2-183. * Default is 31. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#cooling_threshold_days NetappVolumeReplication#cooling_threshold_days} */ readonly coolingThresholdDays?: number; /** * Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED. Default value: "PAUSED" Possible values: ["ENABLED", "PAUSED"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#tier_action NetappVolumeReplication#tier_action} */ readonly tierAction?: string; } export declare function netappVolumeReplicationDestinationVolumeParametersTieringPolicyToTerraform(struct?: NetappVolumeReplicationDestinationVolumeParametersTieringPolicyOutputReference | NetappVolumeReplicationDestinationVolumeParametersTieringPolicy): any; export declare function netappVolumeReplicationDestinationVolumeParametersTieringPolicyToHclTerraform(struct?: NetappVolumeReplicationDestinationVolumeParametersTieringPolicyOutputReference | NetappVolumeReplicationDestinationVolumeParametersTieringPolicy): any; export declare class NetappVolumeReplicationDestinationVolumeParametersTieringPolicyOutputReference 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(): NetappVolumeReplicationDestinationVolumeParametersTieringPolicy | undefined; set internalValue(value: NetappVolumeReplicationDestinationVolumeParametersTieringPolicy | undefined); private _coolingThresholdDays?; get coolingThresholdDays(): number; set coolingThresholdDays(value: number); resetCoolingThresholdDays(): void; get coolingThresholdDaysInput(): number | undefined; private _tierAction?; get tierAction(): string; set tierAction(value: string); resetTierAction(): void; get tierActionInput(): string | undefined; } export interface NetappVolumeReplicationDestinationVolumeParameters { /** * Description for the destination volume. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#description NetappVolumeReplication#description} */ readonly description?: string; /** * Share name for destination volume. If not specified, name of source volume's share name will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#share_name NetappVolumeReplication#share_name} */ readonly shareName?: string; /** * Name of an existing storage pool for the destination volume with format: 'projects/{{project}}/locations/{{location}}/storagePools/{{poolId}}' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#storage_pool NetappVolumeReplication#storage_pool} */ readonly storagePool: string; /** * Name for the destination volume to be created. If not specified, the name of the source volume will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#volume_id NetappVolumeReplication#volume_id} */ readonly volumeId?: string; /** * tiering_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#tiering_policy NetappVolumeReplication#tiering_policy} */ readonly tieringPolicy?: NetappVolumeReplicationDestinationVolumeParametersTieringPolicy; } export declare function netappVolumeReplicationDestinationVolumeParametersToTerraform(struct?: NetappVolumeReplicationDestinationVolumeParametersOutputReference | NetappVolumeReplicationDestinationVolumeParameters): any; export declare function netappVolumeReplicationDestinationVolumeParametersToHclTerraform(struct?: NetappVolumeReplicationDestinationVolumeParametersOutputReference | NetappVolumeReplicationDestinationVolumeParameters): any; export declare class NetappVolumeReplicationDestinationVolumeParametersOutputReference 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(): NetappVolumeReplicationDestinationVolumeParameters | undefined; set internalValue(value: NetappVolumeReplicationDestinationVolumeParameters | undefined); private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _shareName?; get shareName(): string; set shareName(value: string); resetShareName(): void; get shareNameInput(): string | undefined; private _storagePool?; get storagePool(): string; set storagePool(value: string); get storagePoolInput(): string | undefined; private _volumeId?; get volumeId(): string; set volumeId(value: string); resetVolumeId(): void; get volumeIdInput(): string | undefined; private _tieringPolicy; get tieringPolicy(): NetappVolumeReplicationDestinationVolumeParametersTieringPolicyOutputReference; putTieringPolicy(value: NetappVolumeReplicationDestinationVolumeParametersTieringPolicy): void; resetTieringPolicy(): void; get tieringPolicyInput(): NetappVolumeReplicationDestinationVolumeParametersTieringPolicy | undefined; } export interface NetappVolumeReplicationTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#create NetappVolumeReplication#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#delete NetappVolumeReplication#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#update NetappVolumeReplication#update} */ readonly update?: string; } export declare function netappVolumeReplicationTimeoutsToTerraform(struct?: NetappVolumeReplicationTimeouts | cdktf.IResolvable): any; export declare function netappVolumeReplicationTimeoutsToHclTerraform(struct?: NetappVolumeReplicationTimeouts | cdktf.IResolvable): any; export declare class NetappVolumeReplicationTimeoutsOutputReference 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(): NetappVolumeReplicationTimeouts | cdktf.IResolvable | undefined; set internalValue(value: NetappVolumeReplicationTimeouts | 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.41.0/docs/resources/netapp_volume_replication google_netapp_volume_replication} */ export declare class NetappVolumeReplication extends cdktf.TerraformResource { static readonly tfResourceType = "google_netapp_volume_replication"; /** * Generates CDKTF code for importing a NetappVolumeReplication 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 NetappVolumeReplication to import * @param importFromId The id of the existing NetappVolumeReplication that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.41.0/docs/resources/netapp_volume_replication#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the NetappVolumeReplication 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.41.0/docs/resources/netapp_volume_replication google_netapp_volume_replication} 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 NetappVolumeReplicationConfig */ constructor(scope: Construct, id: string, config: NetappVolumeReplicationConfig); get createTime(): string; private _deleteDestinationVolume?; get deleteDestinationVolume(): boolean | cdktf.IResolvable; set deleteDestinationVolume(value: boolean | cdktf.IResolvable); resetDeleteDestinationVolume(): void; get deleteDestinationVolumeInput(): boolean | cdktf.IResolvable | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; get destinationVolume(): string; private _effectiveLabels; get effectiveLabels(): cdktf.StringMap; private _forceStopping?; get forceStopping(): boolean | cdktf.IResolvable; set forceStopping(value: boolean | cdktf.IResolvable); resetForceStopping(): void; get forceStoppingInput(): boolean | cdktf.IResolvable | undefined; get healthy(): cdktf.IResolvable; private _hybridPeeringDetails; get hybridPeeringDetails(): NetappVolumeReplicationHybridPeeringDetailsList; get hybridReplicationType(): string; 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 _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; get mirrorState(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _replicationEnabled?; get replicationEnabled(): boolean | cdktf.IResolvable; set replicationEnabled(value: boolean | cdktf.IResolvable); resetReplicationEnabled(): void; get replicationEnabledInput(): boolean | cdktf.IResolvable | undefined; private _replicationSchedule?; get replicationSchedule(): string; set replicationSchedule(value: string); get replicationScheduleInput(): string | undefined; get role(): string; get sourceVolume(): string; get state(): string; get stateDetails(): string; private _terraformLabels; get terraformLabels(): cdktf.StringMap; private _transferStats; get transferStats(): NetappVolumeReplicationTransferStatsList; private _volumeName?; get volumeName(): string; set volumeName(value: string); get volumeNameInput(): string | undefined; private _waitForMirror?; get waitForMirror(): boolean | cdktf.IResolvable; set waitForMirror(value: boolean | cdktf.IResolvable); resetWaitForMirror(): void; get waitForMirrorInput(): boolean | cdktf.IResolvable | undefined; private _destinationVolumeParameters; get destinationVolumeParameters(): NetappVolumeReplicationDestinationVolumeParametersOutputReference; putDestinationVolumeParameters(value: NetappVolumeReplicationDestinationVolumeParameters): void; resetDestinationVolumeParameters(): void; get destinationVolumeParametersInput(): NetappVolumeReplicationDestinationVolumeParameters | undefined; private _timeouts; get timeouts(): NetappVolumeReplicationTimeoutsOutputReference; putTimeouts(value: NetappVolumeReplicationTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | NetappVolumeReplicationTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }