Class ComputeRegionInstanceGroupManager.Builder

    • Method Detail

      • connection

        @Stability(Experimental)
        public ComputeRegionInstanceGroupManager.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ComputeRegionInstanceGroupManager.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public ComputeRegionInstanceGroupManager.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public ComputeRegionInstanceGroupManager.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public ComputeRegionInstanceGroupManager.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public ComputeRegionInstanceGroupManager.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • baseInstanceName

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder baseInstanceName​(String baseInstanceName)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#base_instance_name ComputeRegionInstanceGroupManager#base_instance_name}

        Parameters:
        baseInstanceName - The base instance name to use for instances in this group. This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder name​(String name)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#name ComputeRegionInstanceGroupManager#name}

        Parameters:
        name - The name of the instance group manager. This parameter is required.
        Returns:
        this
      • version

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder version​(com.hashicorp.cdktf.IResolvable version)
        version block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#version ComputeRegionInstanceGroupManager#version}

        Parameters:
        version - version block. This parameter is required.
        Returns:
        this
      • version

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder version​(List<? extends ComputeRegionInstanceGroupManagerVersion> version)
        version block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#version ComputeRegionInstanceGroupManager#version}

        Parameters:
        version - version block. This parameter is required.
        Returns:
        this
      • allInstancesConfig

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder allInstancesConfig​(ComputeRegionInstanceGroupManagerAllInstancesConfig allInstancesConfig)
        all_instances_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#all_instances_config ComputeRegionInstanceGroupManager#all_instances_config}

        Parameters:
        allInstancesConfig - all_instances_config block. This parameter is required.
        Returns:
        this
      • autoHealingPolicies

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder autoHealingPolicies​(ComputeRegionInstanceGroupManagerAutoHealingPolicies autoHealingPolicies)
        auto_healing_policies block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#auto_healing_policies ComputeRegionInstanceGroupManager#auto_healing_policies}

        Parameters:
        autoHealingPolicies - auto_healing_policies block. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder description​(String description)
        An optional textual description of the instance group manager.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#description ComputeRegionInstanceGroupManager#description}

        Parameters:
        description - An optional textual description of the instance group manager. This parameter is required.
        Returns:
        this
      • distributionPolicyTargetShape

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder distributionPolicyTargetShape​(String distributionPolicyTargetShape)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#distribution_policy_target_shape ComputeRegionInstanceGroupManager#distribution_policy_target_shape}

        Parameters:
        distributionPolicyTargetShape - The shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType). This parameter is required.
        Returns:
        this
      • distributionPolicyZones

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder distributionPolicyZones​(List<String> distributionPolicyZones)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#distribution_policy_zones ComputeRegionInstanceGroupManager#distribution_policy_zones}

        Parameters:
        distributionPolicyZones - The distribution policy for this managed instance group. You can specify one or more values. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/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.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#id ComputeRegionInstanceGroupManager#id}. This parameter is required.
        Returns:
        this
      • instanceLifecyclePolicy

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder instanceLifecyclePolicy​(ComputeRegionInstanceGroupManagerInstanceLifecyclePolicy instanceLifecyclePolicy)
        instance_lifecycle_policy block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#instance_lifecycle_policy ComputeRegionInstanceGroupManager#instance_lifecycle_policy}

        Parameters:
        instanceLifecyclePolicy - instance_lifecycle_policy block. This parameter is required.
        Returns:
        this
      • listManagedInstancesResults

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder listManagedInstancesResults​(String listManagedInstancesResults)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#list_managed_instances_results ComputeRegionInstanceGroupManager#list_managed_instances_results}

        Parameters:
        listManagedInstancesResults - Pagination behavior of the listManagedInstances API method for this managed instance group. This parameter is required.
        Returns:
        this
      • namedPort

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder namedPort​(com.hashicorp.cdktf.IResolvable namedPort)
        named_port block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#named_port ComputeRegionInstanceGroupManager#named_port}

        Parameters:
        namedPort - named_port block. This parameter is required.
        Returns:
        this
      • namedPort

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder namedPort​(List<? extends ComputeRegionInstanceGroupManagerNamedPort> namedPort)
        named_port block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#named_port ComputeRegionInstanceGroupManager#named_port}

        Parameters:
        namedPort - named_port block. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder project​(String project)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#project ComputeRegionInstanceGroupManager#project}

        Parameters:
        project - The ID of the project in which the resource belongs. This parameter is required.
        Returns:
        this
      • region

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder region​(String region)
        The region where the managed instance group resides.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#region ComputeRegionInstanceGroupManager#region}

        Parameters:
        region - The region where the managed instance group resides. This parameter is required.
        Returns:
        this
      • statefulDisk

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder statefulDisk​(com.hashicorp.cdktf.IResolvable statefulDisk)
        stateful_disk block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#stateful_disk ComputeRegionInstanceGroupManager#stateful_disk}

        Parameters:
        statefulDisk - stateful_disk block. This parameter is required.
        Returns:
        this
      • statefulDisk

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder statefulDisk​(List<? extends ComputeRegionInstanceGroupManagerStatefulDisk> statefulDisk)
        stateful_disk block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#stateful_disk ComputeRegionInstanceGroupManager#stateful_disk}

        Parameters:
        statefulDisk - stateful_disk block. This parameter is required.
        Returns:
        this
      • statefulExternalIp

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder statefulExternalIp​(com.hashicorp.cdktf.IResolvable statefulExternalIp)
        stateful_external_ip block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#stateful_external_ip ComputeRegionInstanceGroupManager#stateful_external_ip}

        Parameters:
        statefulExternalIp - stateful_external_ip block. This parameter is required.
        Returns:
        this
      • statefulExternalIp

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder statefulExternalIp​(List<? extends ComputeRegionInstanceGroupManagerStatefulExternalIp> statefulExternalIp)
        stateful_external_ip block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#stateful_external_ip ComputeRegionInstanceGroupManager#stateful_external_ip}

        Parameters:
        statefulExternalIp - stateful_external_ip block. This parameter is required.
        Returns:
        this
      • statefulInternalIp

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder statefulInternalIp​(com.hashicorp.cdktf.IResolvable statefulInternalIp)
        stateful_internal_ip block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#stateful_internal_ip ComputeRegionInstanceGroupManager#stateful_internal_ip}

        Parameters:
        statefulInternalIp - stateful_internal_ip block. This parameter is required.
        Returns:
        this
      • statefulInternalIp

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder statefulInternalIp​(List<? extends ComputeRegionInstanceGroupManagerStatefulInternalIp> statefulInternalIp)
        stateful_internal_ip block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#stateful_internal_ip ComputeRegionInstanceGroupManager#stateful_internal_ip}

        Parameters:
        statefulInternalIp - stateful_internal_ip block. This parameter is required.
        Returns:
        this
      • targetPools

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder targetPools​(List<String> targetPools)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#target_pools ComputeRegionInstanceGroupManager#target_pools}

        Parameters:
        targetPools - The full URL of all target pools to which new instances in the group are added. This parameter is required.
        Returns:
        this
      • targetSize

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder targetSize​(Number targetSize)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#target_size ComputeRegionInstanceGroupManager#target_size}

        Parameters:
        targetSize - The target number of running instances for this managed instance group. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder timeouts​(ComputeRegionInstanceGroupManagerTimeouts timeouts)
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#timeouts ComputeRegionInstanceGroupManager#timeouts}

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this
      • updatePolicy

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder updatePolicy​(ComputeRegionInstanceGroupManagerUpdatePolicy updatePolicy)
        update_policy block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_group_manager#update_policy ComputeRegionInstanceGroupManager#update_policy}

        Parameters:
        updatePolicy - update_policy block. This parameter is required.
        Returns:
        this
      • waitForInstances

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder waitForInstances​(Boolean waitForInstances)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#wait_for_instances ComputeRegionInstanceGroupManager#wait_for_instances}

        Parameters:
        waitForInstances - Whether to wait for all instances to be created/updated before returning. This parameter is required.
        Returns:
        this
      • waitForInstances

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder waitForInstances​(com.hashicorp.cdktf.IResolvable waitForInstances)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#wait_for_instances ComputeRegionInstanceGroupManager#wait_for_instances}

        Parameters:
        waitForInstances - Whether to wait for all instances to be created/updated before returning. This parameter is required.
        Returns:
        this
      • waitForInstancesStatus

        @Stability(Stable)
        public ComputeRegionInstanceGroupManager.Builder waitForInstancesStatus​(String waitForInstancesStatus)
        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/5.43.1/docs/resources/compute_region_instance_group_manager#wait_for_instances_status ComputeRegionInstanceGroupManager#wait_for_instances_status}

        Parameters:
        waitForInstancesStatus - When used with wait_for_instances specifies the status to wait for. This parameter is required.
        Returns:
        this