UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

771 lines (770 loc) 47.1 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface VmwareenginePrivateCloudConfig extends cdktf.TerraformMetaArguments { /** * The number of hours to delay this request. You can set this value to an hour between 0 to 8, where setting it to 0 starts the deletion request immediately. If no value is set, a default value is set at the API Level. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#deletion_delay_hours VmwareenginePrivateCloud#deletion_delay_hours} */ readonly deletionDelayHours?: number; /** * User-provided description for this private cloud. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#description VmwareenginePrivateCloud#description} */ readonly description?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#id VmwareenginePrivateCloud#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * The location where the PrivateCloud should reside. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#location VmwareenginePrivateCloud#location} */ readonly location: string; /** * The ID of the PrivateCloud. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#name VmwareenginePrivateCloud#name} */ readonly name: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#project VmwareenginePrivateCloud#project} */ readonly project?: string; /** * While set true, deletion_delay_hours value will be sent in the request even for zero value of the field. This field is only useful for setting 0 value to the deletion_delay_hours field. It can be used both alone and together with deletion_delay_hours. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#send_deletion_delay_hours_if_zero VmwareenginePrivateCloud#send_deletion_delay_hours_if_zero} */ readonly sendDeletionDelayHoursIfZero?: boolean | cdktf.IResolvable; /** * Initial type of the private cloud. Possible values: ["STANDARD", "TIME_LIMITED", "STRETCHED"] * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#type VmwareenginePrivateCloud#type} */ readonly type?: string; /** * management_cluster block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#management_cluster VmwareenginePrivateCloud#management_cluster} */ readonly managementCluster: VmwareenginePrivateCloudManagementCluster; /** * network_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#network_config VmwareenginePrivateCloud#network_config} */ readonly networkConfig: VmwareenginePrivateCloudNetworkConfig; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#timeouts VmwareenginePrivateCloud#timeouts} */ readonly timeouts?: VmwareenginePrivateCloudTimeouts; } export interface VmwareenginePrivateCloudHcx { } export declare function vmwareenginePrivateCloudHcxToTerraform(struct?: VmwareenginePrivateCloudHcx): any; export declare function vmwareenginePrivateCloudHcxToHclTerraform(struct?: VmwareenginePrivateCloudHcx): any; export declare class VmwareenginePrivateCloudHcxOutputReference 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(): VmwareenginePrivateCloudHcx | undefined; set internalValue(value: VmwareenginePrivateCloudHcx | undefined); get fqdn(): string; get internalIp(): string; get state(): string; get version(): string; } export declare class VmwareenginePrivateCloudHcxList 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): VmwareenginePrivateCloudHcxOutputReference; } export interface VmwareenginePrivateCloudNsx { } export declare function vmwareenginePrivateCloudNsxToTerraform(struct?: VmwareenginePrivateCloudNsx): any; export declare function vmwareenginePrivateCloudNsxToHclTerraform(struct?: VmwareenginePrivateCloudNsx): any; export declare class VmwareenginePrivateCloudNsxOutputReference 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(): VmwareenginePrivateCloudNsx | undefined; set internalValue(value: VmwareenginePrivateCloudNsx | undefined); get fqdn(): string; get internalIp(): string; get state(): string; get version(): string; } export declare class VmwareenginePrivateCloudNsxList 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): VmwareenginePrivateCloudNsxOutputReference; } export interface VmwareenginePrivateCloudVcenter { } export declare function vmwareenginePrivateCloudVcenterToTerraform(struct?: VmwareenginePrivateCloudVcenter): any; export declare function vmwareenginePrivateCloudVcenterToHclTerraform(struct?: VmwareenginePrivateCloudVcenter): any; export declare class VmwareenginePrivateCloudVcenterOutputReference 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(): VmwareenginePrivateCloudVcenter | undefined; set internalValue(value: VmwareenginePrivateCloudVcenter | undefined); get fqdn(): string; get internalIp(): string; get state(): string; get version(): string; } export declare class VmwareenginePrivateCloudVcenterList 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): VmwareenginePrivateCloudVcenterOutputReference; } export interface VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholds { /** * The utilization triggering the scale-in operation in percent. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#scale_in VmwareenginePrivateCloud#scale_in} */ readonly scaleIn: number; /** * The utilization triggering the scale-out operation in percent. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#scale_out VmwareenginePrivateCloud#scale_out} */ readonly scaleOut: number; } export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholdsToTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholdsOutputReference | VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholds): any; export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholdsToHclTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholdsOutputReference | VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholds): any; export declare class VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholdsOutputReference 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(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholds | undefined; set internalValue(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholds | undefined); private _scaleIn?; get scaleIn(): number; set scaleIn(value: number); get scaleInInput(): number | undefined; private _scaleOut?; get scaleOut(): number; set scaleOut(value: number); get scaleOutInput(): number | undefined; } export interface VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholds { /** * The utilization triggering the scale-in operation in percent. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#scale_in VmwareenginePrivateCloud#scale_in} */ readonly scaleIn: number; /** * The utilization triggering the scale-out operation in percent. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#scale_out VmwareenginePrivateCloud#scale_out} */ readonly scaleOut: number; } export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholdsToTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholdsOutputReference | VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholds): any; export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholdsToHclTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholdsOutputReference | VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholds): any; export declare class VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholdsOutputReference 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(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholds | undefined; set internalValue(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholds | undefined); private _scaleIn?; get scaleIn(): number; set scaleIn(value: number); get scaleInInput(): number | undefined; private _scaleOut?; get scaleOut(): number; set scaleOut(value: number); get scaleOutInput(): number | undefined; } export interface VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholds { /** * The utilization triggering the scale-in operation in percent. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#scale_in VmwareenginePrivateCloud#scale_in} */ readonly scaleIn: number; /** * The utilization triggering the scale-out operation in percent. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#scale_out VmwareenginePrivateCloud#scale_out} */ readonly scaleOut: number; } export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholdsToTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholdsOutputReference | VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholds): any; export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholdsToHclTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholdsOutputReference | VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholds): any; export declare class VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholdsOutputReference 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(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholds | undefined; set internalValue(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholds | undefined); private _scaleIn?; get scaleIn(): number; set scaleIn(value: number); get scaleInInput(): number | undefined; private _scaleOut?; get scaleOut(): number; set scaleOut(value: number); get scaleOutInput(): number | undefined; } export interface VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#autoscale_policy_id VmwareenginePrivateCloud#autoscale_policy_id} */ readonly autoscalePolicyId: string; /** * The canonical identifier of the node type to add or remove. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#node_type_id VmwareenginePrivateCloud#node_type_id} */ readonly nodeTypeId: string; /** * Number of nodes to add to a cluster during a scale-out operation. * Must be divisible by 2 for stretched clusters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#scale_out_size VmwareenginePrivateCloud#scale_out_size} */ readonly scaleOutSize: number; /** * consumed_memory_thresholds block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#consumed_memory_thresholds VmwareenginePrivateCloud#consumed_memory_thresholds} */ readonly consumedMemoryThresholds?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholds; /** * cpu_thresholds block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#cpu_thresholds VmwareenginePrivateCloud#cpu_thresholds} */ readonly cpuThresholds?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholds; /** * storage_thresholds block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#storage_thresholds VmwareenginePrivateCloud#storage_thresholds} */ readonly storageThresholds?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholds; } export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesToTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies | cdktf.IResolvable): any; export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesToHclTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies | cdktf.IResolvable): any; export declare class VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesOutputReference 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(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies | cdktf.IResolvable | undefined; set internalValue(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies | cdktf.IResolvable | undefined); private _autoscalePolicyId?; get autoscalePolicyId(): string; set autoscalePolicyId(value: string); get autoscalePolicyIdInput(): string | undefined; private _nodeTypeId?; get nodeTypeId(): string; set nodeTypeId(value: string); get nodeTypeIdInput(): string | undefined; private _scaleOutSize?; get scaleOutSize(): number; set scaleOutSize(value: number); get scaleOutSizeInput(): number | undefined; private _consumedMemoryThresholds; get consumedMemoryThresholds(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholdsOutputReference; putConsumedMemoryThresholds(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholds): void; resetConsumedMemoryThresholds(): void; get consumedMemoryThresholdsInput(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesConsumedMemoryThresholds | undefined; private _cpuThresholds; get cpuThresholds(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholdsOutputReference; putCpuThresholds(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholds): void; resetCpuThresholds(): void; get cpuThresholdsInput(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesCpuThresholds | undefined; private _storageThresholds; get storageThresholds(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholdsOutputReference; putStorageThresholds(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholds): void; resetStorageThresholds(): void; get storageThresholdsInput(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesStorageThresholds | undefined; } export declare class VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies[] | 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): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesOutputReference; } export interface VmwareenginePrivateCloudManagementClusterAutoscalingSettings { /** * The minimum duration between consecutive autoscale operations. * It starts once addition or removal of nodes is fully completed. * Minimum cool down period is 30m. * Cool down period must be in whole minutes (for example, 30m, 31m, 50m). * Mandatory for successful addition of autoscaling settings in cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#cool_down_period VmwareenginePrivateCloud#cool_down_period} */ readonly coolDownPeriod?: string; /** * Maximum number of nodes of any type in a cluster. * Mandatory for successful addition of autoscaling settings in cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#max_cluster_node_count VmwareenginePrivateCloud#max_cluster_node_count} */ readonly maxClusterNodeCount?: number; /** * Minimum number of nodes of any type in a cluster. * Mandatory for successful addition of autoscaling settings in cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#min_cluster_node_count VmwareenginePrivateCloud#min_cluster_node_count} */ readonly minClusterNodeCount?: number; /** * autoscaling_policies block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#autoscaling_policies VmwareenginePrivateCloud#autoscaling_policies} */ readonly autoscalingPolicies: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies[] | cdktf.IResolvable; } export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsToTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsOutputReference | VmwareenginePrivateCloudManagementClusterAutoscalingSettings): any; export declare function vmwareenginePrivateCloudManagementClusterAutoscalingSettingsToHclTerraform(struct?: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsOutputReference | VmwareenginePrivateCloudManagementClusterAutoscalingSettings): any; export declare class VmwareenginePrivateCloudManagementClusterAutoscalingSettingsOutputReference 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(): VmwareenginePrivateCloudManagementClusterAutoscalingSettings | undefined; set internalValue(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettings | undefined); private _coolDownPeriod?; get coolDownPeriod(): string; set coolDownPeriod(value: string); resetCoolDownPeriod(): void; get coolDownPeriodInput(): string | undefined; private _maxClusterNodeCount?; get maxClusterNodeCount(): number; set maxClusterNodeCount(value: number); resetMaxClusterNodeCount(): void; get maxClusterNodeCountInput(): number | undefined; private _minClusterNodeCount?; get minClusterNodeCount(): number; set minClusterNodeCount(value: number); resetMinClusterNodeCount(): void; get minClusterNodeCountInput(): number | undefined; private _autoscalingPolicies; get autoscalingPolicies(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPoliciesList; putAutoscalingPolicies(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies[] | cdktf.IResolvable): void; get autoscalingPoliciesInput(): cdktf.IResolvable | VmwareenginePrivateCloudManagementClusterAutoscalingSettingsAutoscalingPolicies[] | undefined; } export interface VmwareenginePrivateCloudManagementClusterNodeTypeConfigs { /** * Customized number of cores available to each node of the type. * This number must always be one of 'nodeType.availableCustomCoreCounts'. * If zero is provided max value from 'nodeType.availableCustomCoreCounts' will be used. * This cannot be changed once the PrivateCloud is created. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#custom_core_count VmwareenginePrivateCloud#custom_core_count} */ readonly customCoreCount?: number; /** * The number of nodes of this type in the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#node_count VmwareenginePrivateCloud#node_count} */ readonly nodeCount: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#node_type_id VmwareenginePrivateCloud#node_type_id} */ readonly nodeTypeId: string; } export declare function vmwareenginePrivateCloudManagementClusterNodeTypeConfigsToTerraform(struct?: VmwareenginePrivateCloudManagementClusterNodeTypeConfigs | cdktf.IResolvable): any; export declare function vmwareenginePrivateCloudManagementClusterNodeTypeConfigsToHclTerraform(struct?: VmwareenginePrivateCloudManagementClusterNodeTypeConfigs | cdktf.IResolvable): any; export declare class VmwareenginePrivateCloudManagementClusterNodeTypeConfigsOutputReference 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(): VmwareenginePrivateCloudManagementClusterNodeTypeConfigs | cdktf.IResolvable | undefined; set internalValue(value: VmwareenginePrivateCloudManagementClusterNodeTypeConfigs | cdktf.IResolvable | undefined); private _customCoreCount?; get customCoreCount(): number; set customCoreCount(value: number); resetCustomCoreCount(): void; get customCoreCountInput(): number | undefined; private _nodeCount?; get nodeCount(): number; set nodeCount(value: number); get nodeCountInput(): number | undefined; private _nodeTypeId?; get nodeTypeId(): string; set nodeTypeId(value: string); get nodeTypeIdInput(): string | undefined; } export declare class VmwareenginePrivateCloudManagementClusterNodeTypeConfigsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: VmwareenginePrivateCloudManagementClusterNodeTypeConfigs[] | 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): VmwareenginePrivateCloudManagementClusterNodeTypeConfigsOutputReference; } export interface VmwareenginePrivateCloudManagementClusterStretchedClusterConfig { /** * Zone that will remain operational when connection between the two zones is lost. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#preferred_location VmwareenginePrivateCloud#preferred_location} */ readonly preferredLocation?: string; /** * Additional zone for a higher level of availability and load balancing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#secondary_location VmwareenginePrivateCloud#secondary_location} */ readonly secondaryLocation?: string; } export declare function vmwareenginePrivateCloudManagementClusterStretchedClusterConfigToTerraform(struct?: VmwareenginePrivateCloudManagementClusterStretchedClusterConfigOutputReference | VmwareenginePrivateCloudManagementClusterStretchedClusterConfig): any; export declare function vmwareenginePrivateCloudManagementClusterStretchedClusterConfigToHclTerraform(struct?: VmwareenginePrivateCloudManagementClusterStretchedClusterConfigOutputReference | VmwareenginePrivateCloudManagementClusterStretchedClusterConfig): any; export declare class VmwareenginePrivateCloudManagementClusterStretchedClusterConfigOutputReference 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(): VmwareenginePrivateCloudManagementClusterStretchedClusterConfig | undefined; set internalValue(value: VmwareenginePrivateCloudManagementClusterStretchedClusterConfig | undefined); private _preferredLocation?; get preferredLocation(): string; set preferredLocation(value: string); resetPreferredLocation(): void; get preferredLocationInput(): string | undefined; private _secondaryLocation?; get secondaryLocation(): string; set secondaryLocation(value: string); resetSecondaryLocation(): void; get secondaryLocationInput(): string | undefined; } export interface VmwareenginePrivateCloudManagementCluster { /** * The user-provided identifier of the new Cluster. The identifier must meet the following requirements: * * Only contains 1-63 alphanumeric characters and hyphens * * Begins with an alphabetical character * * Ends with a non-hyphen character * * Not formatted as a UUID * * Complies with RFC 1034 (https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#cluster_id VmwareenginePrivateCloud#cluster_id} */ readonly clusterId: string; /** * autoscaling_settings block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#autoscaling_settings VmwareenginePrivateCloud#autoscaling_settings} */ readonly autoscalingSettings?: VmwareenginePrivateCloudManagementClusterAutoscalingSettings; /** * node_type_configs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#node_type_configs VmwareenginePrivateCloud#node_type_configs} */ readonly nodeTypeConfigs?: VmwareenginePrivateCloudManagementClusterNodeTypeConfigs[] | cdktf.IResolvable; /** * stretched_cluster_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#stretched_cluster_config VmwareenginePrivateCloud#stretched_cluster_config} */ readonly stretchedClusterConfig?: VmwareenginePrivateCloudManagementClusterStretchedClusterConfig; } export declare function vmwareenginePrivateCloudManagementClusterToTerraform(struct?: VmwareenginePrivateCloudManagementClusterOutputReference | VmwareenginePrivateCloudManagementCluster): any; export declare function vmwareenginePrivateCloudManagementClusterToHclTerraform(struct?: VmwareenginePrivateCloudManagementClusterOutputReference | VmwareenginePrivateCloudManagementCluster): any; export declare class VmwareenginePrivateCloudManagementClusterOutputReference 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(): VmwareenginePrivateCloudManagementCluster | undefined; set internalValue(value: VmwareenginePrivateCloudManagementCluster | undefined); private _clusterId?; get clusterId(): string; set clusterId(value: string); get clusterIdInput(): string | undefined; private _autoscalingSettings; get autoscalingSettings(): VmwareenginePrivateCloudManagementClusterAutoscalingSettingsOutputReference; putAutoscalingSettings(value: VmwareenginePrivateCloudManagementClusterAutoscalingSettings): void; resetAutoscalingSettings(): void; get autoscalingSettingsInput(): VmwareenginePrivateCloudManagementClusterAutoscalingSettings | undefined; private _nodeTypeConfigs; get nodeTypeConfigs(): VmwareenginePrivateCloudManagementClusterNodeTypeConfigsList; putNodeTypeConfigs(value: VmwareenginePrivateCloudManagementClusterNodeTypeConfigs[] | cdktf.IResolvable): void; resetNodeTypeConfigs(): void; get nodeTypeConfigsInput(): cdktf.IResolvable | VmwareenginePrivateCloudManagementClusterNodeTypeConfigs[] | undefined; private _stretchedClusterConfig; get stretchedClusterConfig(): VmwareenginePrivateCloudManagementClusterStretchedClusterConfigOutputReference; putStretchedClusterConfig(value: VmwareenginePrivateCloudManagementClusterStretchedClusterConfig): void; resetStretchedClusterConfig(): void; get stretchedClusterConfigInput(): VmwareenginePrivateCloudManagementClusterStretchedClusterConfig | undefined; } export interface VmwareenginePrivateCloudNetworkConfig { /** * Management CIDR used by VMware management appliances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#management_cidr VmwareenginePrivateCloud#management_cidr} */ readonly managementCidr: string; /** * The relative resource name of the VMware Engine network attached to the private cloud. * Specify the name in the following form: projects/{project}/locations/{location}/vmwareEngineNetworks/{vmwareEngineNetworkId} * where {project} can either be a project number or a project ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#vmware_engine_network VmwareenginePrivateCloud#vmware_engine_network} */ readonly vmwareEngineNetwork?: string; } export declare function vmwareenginePrivateCloudNetworkConfigToTerraform(struct?: VmwareenginePrivateCloudNetworkConfigOutputReference | VmwareenginePrivateCloudNetworkConfig): any; export declare function vmwareenginePrivateCloudNetworkConfigToHclTerraform(struct?: VmwareenginePrivateCloudNetworkConfigOutputReference | VmwareenginePrivateCloudNetworkConfig): any; export declare class VmwareenginePrivateCloudNetworkConfigOutputReference 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(): VmwareenginePrivateCloudNetworkConfig | undefined; set internalValue(value: VmwareenginePrivateCloudNetworkConfig | undefined); get dnsServerIp(): string; private _managementCidr?; get managementCidr(): string; set managementCidr(value: string); get managementCidrInput(): string | undefined; get managementIpAddressLayoutVersion(): number; private _vmwareEngineNetwork?; get vmwareEngineNetwork(): string; set vmwareEngineNetwork(value: string); resetVmwareEngineNetwork(): void; get vmwareEngineNetworkInput(): string | undefined; get vmwareEngineNetworkCanonical(): string; } export interface VmwareenginePrivateCloudTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#create VmwareenginePrivateCloud#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#delete VmwareenginePrivateCloud#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#update VmwareenginePrivateCloud#update} */ readonly update?: string; } export declare function vmwareenginePrivateCloudTimeoutsToTerraform(struct?: VmwareenginePrivateCloudTimeouts | cdktf.IResolvable): any; export declare function vmwareenginePrivateCloudTimeoutsToHclTerraform(struct?: VmwareenginePrivateCloudTimeouts | cdktf.IResolvable): any; export declare class VmwareenginePrivateCloudTimeoutsOutputReference 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(): VmwareenginePrivateCloudTimeouts | cdktf.IResolvable | undefined; set internalValue(value: VmwareenginePrivateCloudTimeouts | 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/vmwareengine_private_cloud google_vmwareengine_private_cloud} */ export declare class VmwareenginePrivateCloud extends cdktf.TerraformResource { static readonly tfResourceType = "google_vmwareengine_private_cloud"; /** * Generates CDKTF code for importing a VmwareenginePrivateCloud 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 VmwareenginePrivateCloud to import * @param importFromId The id of the existing VmwareenginePrivateCloud that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/vmwareengine_private_cloud#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the VmwareenginePrivateCloud 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/vmwareengine_private_cloud google_vmwareengine_private_cloud} 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 VmwareenginePrivateCloudConfig */ constructor(scope: Construct, id: string, config: VmwareenginePrivateCloudConfig); private _deletionDelayHours?; get deletionDelayHours(): number; set deletionDelayHours(value: number); resetDeletionDelayHours(): void; get deletionDelayHoursInput(): number | undefined; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string | undefined; private _hcx; get hcx(): VmwareenginePrivateCloudHcxList; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _location?; get location(): string; set location(value: string); get locationInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _nsx; get nsx(): VmwareenginePrivateCloudNsxList; private _project?; get project(): string; set project(value: string); resetProject(): void; get projectInput(): string | undefined; private _sendDeletionDelayHoursIfZero?; get sendDeletionDelayHoursIfZero(): boolean | cdktf.IResolvable; set sendDeletionDelayHoursIfZero(value: boolean | cdktf.IResolvable); resetSendDeletionDelayHoursIfZero(): void; get sendDeletionDelayHoursIfZeroInput(): boolean | cdktf.IResolvable | undefined; get state(): string; private _type?; get type(): string; set type(value: string); resetType(): void; get typeInput(): string | undefined; get uid(): string; private _vcenter; get vcenter(): VmwareenginePrivateCloudVcenterList; private _managementCluster; get managementCluster(): VmwareenginePrivateCloudManagementClusterOutputReference; putManagementCluster(value: VmwareenginePrivateCloudManagementCluster): void; get managementClusterInput(): VmwareenginePrivateCloudManagementCluster | undefined; private _networkConfig; get networkConfig(): VmwareenginePrivateCloudNetworkConfigOutputReference; putNetworkConfig(value: VmwareenginePrivateCloudNetworkConfig): void; get networkConfigInput(): VmwareenginePrivateCloudNetworkConfig | undefined; private _timeouts; get timeouts(): VmwareenginePrivateCloudTimeoutsOutputReference; putTimeouts(value: VmwareenginePrivateCloudTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | VmwareenginePrivateCloudTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }