UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

772 lines 73.3 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ComputeRegionInstanceGroupManagerConfig extends cdktf.TerraformMetaArguments { /** * The base instance name to use for instances in this group. The value must be a valid RFC1035 name. Supported characters are lowercase letters, numbers, and hyphens (-). Instances are named by appending a hyphen and a random four-character string to the base instance name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#base_instance_name ComputeRegionInstanceGroupManager#base_instance_name} */ readonly baseInstanceName: string; /** * An optional textual description of the instance group manager. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#description ComputeRegionInstanceGroupManager#description} */ readonly description?: string; /** * The shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#distribution_policy_target_shape ComputeRegionInstanceGroupManager#distribution_policy_target_shape} */ readonly distributionPolicyTargetShape?: string; /** * The distribution policy for this managed instance group. You can specify one or more values. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#distribution_policy_zones ComputeRegionInstanceGroupManager#distribution_policy_zones} */ readonly distributionPolicyZones?: string[]; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#id ComputeRegionInstanceGroupManager#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; /** * Pagination behavior of the listManagedInstances API method for this managed instance group. Valid values are: "PAGELESS", "PAGINATED". If PAGELESS (default), Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response. If PAGINATED, pagination is enabled, maxResults and pageToken query parameters are respected. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#list_managed_instances_results ComputeRegionInstanceGroupManager#list_managed_instances_results} */ readonly listManagedInstancesResults?: string; /** * The name of the instance group manager. Must be 1-63 characters long and comply with RFC1035. Supported characters include lowercase letters, numbers, and hyphens. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#name ComputeRegionInstanceGroupManager#name} */ readonly name: string; /** * The ID of the project in which the resource belongs. If it is not provided, the provider project is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#project ComputeRegionInstanceGroupManager#project} */ readonly project?: string; /** * The region where the managed instance group resides. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#region ComputeRegionInstanceGroupManager#region} */ readonly region?: string; /** * The full URL of all target pools to which new instances in the group are added. Updating the target pools attribute does not affect existing instances. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#target_pools ComputeRegionInstanceGroupManager#target_pools} */ readonly targetPools?: string[]; /** * The target number of running instances for this managed instance group. This value should always be explicitly set unless this resource is attached to an autoscaler, in which case it should never be set. Defaults to 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#target_size ComputeRegionInstanceGroupManager#target_size} */ readonly targetSize?: number; /** * Whether to wait for all instances to be created/updated before returning. Note that if this is set to true and the operation does not succeed, Terraform will continue trying until it times out. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#wait_for_instances ComputeRegionInstanceGroupManager#wait_for_instances} */ readonly waitForInstances?: boolean | cdktf.IResolvable; /** * When used with wait_for_instances specifies the status to wait for. When STABLE is specified this resource will wait until the instances are stable before returning. When UPDATED is set, it will wait for the version target to be reached and any per instance configs to be effective and all instances configs to be effective as well as all instances to be stable before returning. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#wait_for_instances_status ComputeRegionInstanceGroupManager#wait_for_instances_status} */ readonly waitForInstancesStatus?: string; /** * all_instances_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#all_instances_config ComputeRegionInstanceGroupManager#all_instances_config} */ readonly allInstancesConfig?: ComputeRegionInstanceGroupManagerAllInstancesConfig; /** * auto_healing_policies block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#auto_healing_policies ComputeRegionInstanceGroupManager#auto_healing_policies} */ readonly autoHealingPolicies?: ComputeRegionInstanceGroupManagerAutoHealingPolicies; /** * instance_flexibility_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#instance_flexibility_policy ComputeRegionInstanceGroupManager#instance_flexibility_policy} */ readonly instanceFlexibilityPolicy?: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicy; /** * instance_lifecycle_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#instance_lifecycle_policy ComputeRegionInstanceGroupManager#instance_lifecycle_policy} */ readonly instanceLifecyclePolicy?: ComputeRegionInstanceGroupManagerInstanceLifecyclePolicy; /** * named_port block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#named_port ComputeRegionInstanceGroupManager#named_port} */ readonly namedPort?: ComputeRegionInstanceGroupManagerNamedPort[] | cdktf.IResolvable; /** * stateful_disk block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#stateful_disk ComputeRegionInstanceGroupManager#stateful_disk} */ readonly statefulDisk?: ComputeRegionInstanceGroupManagerStatefulDisk[] | cdktf.IResolvable; /** * stateful_external_ip block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#stateful_external_ip ComputeRegionInstanceGroupManager#stateful_external_ip} */ readonly statefulExternalIp?: ComputeRegionInstanceGroupManagerStatefulExternalIp[] | cdktf.IResolvable; /** * stateful_internal_ip block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#stateful_internal_ip ComputeRegionInstanceGroupManager#stateful_internal_ip} */ readonly statefulInternalIp?: ComputeRegionInstanceGroupManagerStatefulInternalIp[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#timeouts ComputeRegionInstanceGroupManager#timeouts} */ readonly timeouts?: ComputeRegionInstanceGroupManagerTimeouts; /** * update_policy block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#update_policy ComputeRegionInstanceGroupManager#update_policy} */ readonly updatePolicy?: ComputeRegionInstanceGroupManagerUpdatePolicy; /** * version block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#version ComputeRegionInstanceGroupManager#version} */ readonly version: ComputeRegionInstanceGroupManagerVersion[] | cdktf.IResolvable; } export interface ComputeRegionInstanceGroupManagerStatusAllInstancesConfig { } export declare function computeRegionInstanceGroupManagerStatusAllInstancesConfigToTerraform(struct?: ComputeRegionInstanceGroupManagerStatusAllInstancesConfig): any; export declare function computeRegionInstanceGroupManagerStatusAllInstancesConfigToHclTerraform(struct?: ComputeRegionInstanceGroupManagerStatusAllInstancesConfig): any; export declare class ComputeRegionInstanceGroupManagerStatusAllInstancesConfigOutputReference 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(): ComputeRegionInstanceGroupManagerStatusAllInstancesConfig | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerStatusAllInstancesConfig | undefined); get currentRevision(): string; get effective(): cdktf.IResolvable; } export declare class ComputeRegionInstanceGroupManagerStatusAllInstancesConfigList 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): ComputeRegionInstanceGroupManagerStatusAllInstancesConfigOutputReference; } export interface ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs { } export declare function computeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigsToTerraform(struct?: ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs): any; export declare function computeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigsToHclTerraform(struct?: ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs): any; export declare class ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigsOutputReference 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(): ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigs | undefined); get allEffective(): cdktf.IResolvable; } export declare class ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigsList 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): ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigsOutputReference; } export interface ComputeRegionInstanceGroupManagerStatusStateful { } export declare function computeRegionInstanceGroupManagerStatusStatefulToTerraform(struct?: ComputeRegionInstanceGroupManagerStatusStateful): any; export declare function computeRegionInstanceGroupManagerStatusStatefulToHclTerraform(struct?: ComputeRegionInstanceGroupManagerStatusStateful): any; export declare class ComputeRegionInstanceGroupManagerStatusStatefulOutputReference 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(): ComputeRegionInstanceGroupManagerStatusStateful | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerStatusStateful | undefined); get hasStatefulConfig(): cdktf.IResolvable; private _perInstanceConfigs; get perInstanceConfigs(): ComputeRegionInstanceGroupManagerStatusStatefulPerInstanceConfigsList; } export declare class ComputeRegionInstanceGroupManagerStatusStatefulList 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): ComputeRegionInstanceGroupManagerStatusStatefulOutputReference; } export interface ComputeRegionInstanceGroupManagerStatusVersionTarget { } export declare function computeRegionInstanceGroupManagerStatusVersionTargetToTerraform(struct?: ComputeRegionInstanceGroupManagerStatusVersionTarget): any; export declare function computeRegionInstanceGroupManagerStatusVersionTargetToHclTerraform(struct?: ComputeRegionInstanceGroupManagerStatusVersionTarget): any; export declare class ComputeRegionInstanceGroupManagerStatusVersionTargetOutputReference 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(): ComputeRegionInstanceGroupManagerStatusVersionTarget | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerStatusVersionTarget | undefined); get isReached(): cdktf.IResolvable; } export declare class ComputeRegionInstanceGroupManagerStatusVersionTargetList 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): ComputeRegionInstanceGroupManagerStatusVersionTargetOutputReference; } export interface ComputeRegionInstanceGroupManagerStatus { } export declare function computeRegionInstanceGroupManagerStatusToTerraform(struct?: ComputeRegionInstanceGroupManagerStatus): any; export declare function computeRegionInstanceGroupManagerStatusToHclTerraform(struct?: ComputeRegionInstanceGroupManagerStatus): any; export declare class ComputeRegionInstanceGroupManagerStatusOutputReference 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(): ComputeRegionInstanceGroupManagerStatus | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerStatus | undefined); private _allInstancesConfig; get allInstancesConfig(): ComputeRegionInstanceGroupManagerStatusAllInstancesConfigList; get isStable(): cdktf.IResolvable; private _stateful; get stateful(): ComputeRegionInstanceGroupManagerStatusStatefulList; private _versionTarget; get versionTarget(): ComputeRegionInstanceGroupManagerStatusVersionTargetList; } export declare class ComputeRegionInstanceGroupManagerStatusList 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): ComputeRegionInstanceGroupManagerStatusOutputReference; } export interface ComputeRegionInstanceGroupManagerAllInstancesConfig { /** * The label key-value pairs that you want to patch onto the instance, * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#labels ComputeRegionInstanceGroupManager#labels} */ readonly labels?: { [key: string]: string; }; /** * The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata, * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#metadata ComputeRegionInstanceGroupManager#metadata} */ readonly metadata?: { [key: string]: string; }; } export declare function computeRegionInstanceGroupManagerAllInstancesConfigToTerraform(struct?: ComputeRegionInstanceGroupManagerAllInstancesConfigOutputReference | ComputeRegionInstanceGroupManagerAllInstancesConfig): any; export declare function computeRegionInstanceGroupManagerAllInstancesConfigToHclTerraform(struct?: ComputeRegionInstanceGroupManagerAllInstancesConfigOutputReference | ComputeRegionInstanceGroupManagerAllInstancesConfig): any; export declare class ComputeRegionInstanceGroupManagerAllInstancesConfigOutputReference 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(): ComputeRegionInstanceGroupManagerAllInstancesConfig | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerAllInstancesConfig | undefined); private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _metadata?; get metadata(): { [key: string]: string; }; set metadata(value: { [key: string]: string; }); resetMetadata(): void; get metadataInput(): { [key: string]: string; } | undefined; } export interface ComputeRegionInstanceGroupManagerAutoHealingPolicies { /** * The health check resource that signals autohealing. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#health_check ComputeRegionInstanceGroupManager#health_check} */ readonly healthCheck: string; /** * The number of seconds that the managed instance group waits before it applies autohealing policies to new instances or recently recreated instances. Between 0 and 3600. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#initial_delay_sec ComputeRegionInstanceGroupManager#initial_delay_sec} */ readonly initialDelaySec: number; } export declare function computeRegionInstanceGroupManagerAutoHealingPoliciesToTerraform(struct?: ComputeRegionInstanceGroupManagerAutoHealingPoliciesOutputReference | ComputeRegionInstanceGroupManagerAutoHealingPolicies): any; export declare function computeRegionInstanceGroupManagerAutoHealingPoliciesToHclTerraform(struct?: ComputeRegionInstanceGroupManagerAutoHealingPoliciesOutputReference | ComputeRegionInstanceGroupManagerAutoHealingPolicies): any; export declare class ComputeRegionInstanceGroupManagerAutoHealingPoliciesOutputReference 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(): ComputeRegionInstanceGroupManagerAutoHealingPolicies | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerAutoHealingPolicies | undefined); private _healthCheck?; get healthCheck(): string; set healthCheck(value: string); get healthCheckInput(): string | undefined; private _initialDelaySec?; get initialDelaySec(): number; set initialDelaySec(value: number); get initialDelaySecInput(): number | undefined; } export interface ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections { /** * Full machine-type names, e.g. "n1-standard-16" * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#machine_types ComputeRegionInstanceGroupManager#machine_types} */ readonly machineTypes: string[]; /** * Instance selection name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#name ComputeRegionInstanceGroupManager#name} */ readonly name: string; /** * Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#rank ComputeRegionInstanceGroupManager#rank} */ readonly rank?: number; } export declare function computeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionsToTerraform(struct?: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections | cdktf.IResolvable): any; export declare function computeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionsToHclTerraform(struct?: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections | cdktf.IResolvable): any; export declare class ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionsOutputReference 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(): ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections | cdktf.IResolvable | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections | cdktf.IResolvable | undefined); private _machineTypes?; get machineTypes(): string[]; set machineTypes(value: string[]); get machineTypesInput(): string[] | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _rank?; get rank(): number; set rank(value: number); resetRank(): void; get rankInput(): number | undefined; } export declare class ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections[] | 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): ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionsOutputReference; } export interface ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicy { /** * instance_selections block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#instance_selections ComputeRegionInstanceGroupManager#instance_selections} */ readonly instanceSelections?: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections[] | cdktf.IResolvable; } export declare function computeRegionInstanceGroupManagerInstanceFlexibilityPolicyToTerraform(struct?: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyOutputReference | ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicy): any; export declare function computeRegionInstanceGroupManagerInstanceFlexibilityPolicyToHclTerraform(struct?: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyOutputReference | ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicy): any; export declare class ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyOutputReference 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(): ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicy | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicy | undefined); private _instanceSelections; get instanceSelections(): ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelectionsList; putInstanceSelections(value: ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections[] | cdktf.IResolvable): void; resetInstanceSelections(): void; get instanceSelectionsInput(): cdktf.IResolvable | ComputeRegionInstanceGroupManagerInstanceFlexibilityPolicyInstanceSelections[] | undefined; } export interface ComputeRegionInstanceGroupManagerInstanceLifecyclePolicy { /** * Default behavior for all instance or health check failures. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#default_action_on_failure ComputeRegionInstanceGroupManager#default_action_on_failure} */ readonly defaultActionOnFailure?: string; /** * Specifies whether to apply the group's latest configuration when repairing a VM. Valid options are: YES, NO. If YES and you updated the group's instance template or per-instance configurations after the VM was created, then these changes are applied when VM is repaired. If NO (default), then updates are applied in accordance with the group's update policy type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#force_update_on_repair ComputeRegionInstanceGroupManager#force_update_on_repair} */ readonly forceUpdateOnRepair?: string; } export declare function computeRegionInstanceGroupManagerInstanceLifecyclePolicyToTerraform(struct?: ComputeRegionInstanceGroupManagerInstanceLifecyclePolicyOutputReference | ComputeRegionInstanceGroupManagerInstanceLifecyclePolicy): any; export declare function computeRegionInstanceGroupManagerInstanceLifecyclePolicyToHclTerraform(struct?: ComputeRegionInstanceGroupManagerInstanceLifecyclePolicyOutputReference | ComputeRegionInstanceGroupManagerInstanceLifecyclePolicy): any; export declare class ComputeRegionInstanceGroupManagerInstanceLifecyclePolicyOutputReference 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(): ComputeRegionInstanceGroupManagerInstanceLifecyclePolicy | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerInstanceLifecyclePolicy | undefined); private _defaultActionOnFailure?; get defaultActionOnFailure(): string; set defaultActionOnFailure(value: string); resetDefaultActionOnFailure(): void; get defaultActionOnFailureInput(): string | undefined; private _forceUpdateOnRepair?; get forceUpdateOnRepair(): string; set forceUpdateOnRepair(value: string); resetForceUpdateOnRepair(): void; get forceUpdateOnRepairInput(): string | undefined; } export interface ComputeRegionInstanceGroupManagerNamedPort { /** * The name of the port. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#name ComputeRegionInstanceGroupManager#name} */ readonly name: string; /** * The port number. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#port ComputeRegionInstanceGroupManager#port} */ readonly port: number; } export declare function computeRegionInstanceGroupManagerNamedPortToTerraform(struct?: ComputeRegionInstanceGroupManagerNamedPort | cdktf.IResolvable): any; export declare function computeRegionInstanceGroupManagerNamedPortToHclTerraform(struct?: ComputeRegionInstanceGroupManagerNamedPort | cdktf.IResolvable): any; export declare class ComputeRegionInstanceGroupManagerNamedPortOutputReference 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(): ComputeRegionInstanceGroupManagerNamedPort | cdktf.IResolvable | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerNamedPort | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; private _port?; get port(): number; set port(value: number); get portInput(): number | undefined; } export declare class ComputeRegionInstanceGroupManagerNamedPortList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeRegionInstanceGroupManagerNamedPort[] | 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): ComputeRegionInstanceGroupManagerNamedPortOutputReference; } export interface ComputeRegionInstanceGroupManagerStatefulDisk { /** * A value that prescribes what should happen to the stateful disk when the VM instance is deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the disk when the VM is deleted, but do not delete the disk. ON_PERMANENT_INSTANCE_DELETION will delete the stateful disk when the VM is permanently deleted from the instance group. The default is NEVER. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#delete_rule ComputeRegionInstanceGroupManager#delete_rule} */ readonly deleteRule?: string; /** * The device name of the disk to be attached. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#device_name ComputeRegionInstanceGroupManager#device_name} */ readonly deviceName: string; } export declare function computeRegionInstanceGroupManagerStatefulDiskToTerraform(struct?: ComputeRegionInstanceGroupManagerStatefulDisk | cdktf.IResolvable): any; export declare function computeRegionInstanceGroupManagerStatefulDiskToHclTerraform(struct?: ComputeRegionInstanceGroupManagerStatefulDisk | cdktf.IResolvable): any; export declare class ComputeRegionInstanceGroupManagerStatefulDiskOutputReference 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(): ComputeRegionInstanceGroupManagerStatefulDisk | cdktf.IResolvable | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerStatefulDisk | cdktf.IResolvable | undefined); private _deleteRule?; get deleteRule(): string; set deleteRule(value: string); resetDeleteRule(): void; get deleteRuleInput(): string | undefined; private _deviceName?; get deviceName(): string; set deviceName(value: string); get deviceNameInput(): string | undefined; } export declare class ComputeRegionInstanceGroupManagerStatefulDiskList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeRegionInstanceGroupManagerStatefulDisk[] | 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): ComputeRegionInstanceGroupManagerStatefulDiskOutputReference; } export interface ComputeRegionInstanceGroupManagerStatefulExternalIp { /** * A value that prescribes what should happen to an associated static Address resource when a VM instance is permanently deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the IP when the VM is deleted, but do not delete the address resource. ON_PERMANENT_INSTANCE_DELETION will delete the stateful address when the VM is permanently deleted from the instance group. The default is NEVER. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#delete_rule ComputeRegionInstanceGroupManager#delete_rule} */ readonly deleteRule?: string; /** * The network interface name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#interface_name ComputeRegionInstanceGroupManager#interface_name} */ readonly interfaceName?: string; } export declare function computeRegionInstanceGroupManagerStatefulExternalIpToTerraform(struct?: ComputeRegionInstanceGroupManagerStatefulExternalIp | cdktf.IResolvable): any; export declare function computeRegionInstanceGroupManagerStatefulExternalIpToHclTerraform(struct?: ComputeRegionInstanceGroupManagerStatefulExternalIp | cdktf.IResolvable): any; export declare class ComputeRegionInstanceGroupManagerStatefulExternalIpOutputReference 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(): ComputeRegionInstanceGroupManagerStatefulExternalIp | cdktf.IResolvable | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerStatefulExternalIp | cdktf.IResolvable | undefined); private _deleteRule?; get deleteRule(): string; set deleteRule(value: string); resetDeleteRule(): void; get deleteRuleInput(): string | undefined; private _interfaceName?; get interfaceName(): string; set interfaceName(value: string); resetInterfaceName(): void; get interfaceNameInput(): string | undefined; } export declare class ComputeRegionInstanceGroupManagerStatefulExternalIpList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeRegionInstanceGroupManagerStatefulExternalIp[] | 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): ComputeRegionInstanceGroupManagerStatefulExternalIpOutputReference; } export interface ComputeRegionInstanceGroupManagerStatefulInternalIp { /** * A value that prescribes what should happen to an associated static Address resource when a VM instance is permanently deleted. The available options are NEVER and ON_PERMANENT_INSTANCE_DELETION. NEVER - detach the IP when the VM is deleted, but do not delete the address resource. ON_PERMANENT_INSTANCE_DELETION will delete the stateful address when the VM is permanently deleted from the instance group. The default is NEVER. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#delete_rule ComputeRegionInstanceGroupManager#delete_rule} */ readonly deleteRule?: string; /** * The network interface name * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#interface_name ComputeRegionInstanceGroupManager#interface_name} */ readonly interfaceName?: string; } export declare function computeRegionInstanceGroupManagerStatefulInternalIpToTerraform(struct?: ComputeRegionInstanceGroupManagerStatefulInternalIp | cdktf.IResolvable): any; export declare function computeRegionInstanceGroupManagerStatefulInternalIpToHclTerraform(struct?: ComputeRegionInstanceGroupManagerStatefulInternalIp | cdktf.IResolvable): any; export declare class ComputeRegionInstanceGroupManagerStatefulInternalIpOutputReference 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(): ComputeRegionInstanceGroupManagerStatefulInternalIp | cdktf.IResolvable | undefined; set internalValue(value: ComputeRegionInstanceGroupManagerStatefulInternalIp | cdktf.IResolvable | undefined); private _deleteRule?; get deleteRule(): string; set deleteRule(value: string); resetDeleteRule(): void; get deleteRuleInput(): string | undefined; private _interfaceName?; get interfaceName(): string; set interfaceName(value: string); resetInterfaceName(): void; get interfaceNameInput(): string | undefined; } export declare class ComputeRegionInstanceGroupManagerStatefulInternalIpList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ComputeRegionInstanceGroupManagerStatefulInternalIp[] | 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): ComputeRegionInstanceGroupManagerStatefulInternalIpOutputReference; } export interface ComputeRegionInstanceGroupManagerTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#create ComputeRegionInstanceGroupManager#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#delete ComputeRegionInstanceGroupManager#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/compute_region_instance_group_manager#update ComputeRegionInstanceGroupManager#update} */ readonly update?: string; } export declare function computeRegionInstanceGroupManagerTimeoutsToTerraform(struct?: ComputeRegionInstanceGroupManagerTimeouts | cdktf.IResolvable): any; export declare function computeRegionInstanceGroupManagerTimeoutsToHclTerraform(struct?: ComputeRegionInstanceGroupManagerTimeouts | cdktf.IResolvable): any; export declare class ComputeRegionInstanceGroupManagerTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing