Class ComputeInstanceGroupManager.Builder

    • Method Detail

      • connection

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

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

        @Stability(Experimental)
        public ComputeInstanceGroupManager.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

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

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

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#base_instance_name ComputeInstanceGroupManager#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 ComputeInstanceGroupManager.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_instance_group_manager#name ComputeInstanceGroupManager#name}

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#version ComputeInstanceGroupManager#version}

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

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

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.Builder allInstancesConfig​(ComputeInstanceGroupManagerAllInstancesConfig allInstancesConfig)
        all_instances_config block.

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.Builder autoHealingPolicies​(ComputeInstanceGroupManagerAutoHealingPolicies autoHealingPolicies)
        auto_healing_policies block.

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#description ComputeInstanceGroupManager#description}

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#id ComputeInstanceGroupManager#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_instance_group_manager#id ComputeInstanceGroupManager#id}. This parameter is required.
        Returns:
        this
      • instanceLifecyclePolicy

        @Stability(Stable)
        public ComputeInstanceGroupManager.Builder instanceLifecyclePolicy​(ComputeInstanceGroupManagerInstanceLifecyclePolicy instanceLifecyclePolicy)
        instance_lifecycle_policy block.

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#list_managed_instances_results ComputeInstanceGroupManager#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 ComputeInstanceGroupManager.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_instance_group_manager#named_port ComputeInstanceGroupManager#named_port}

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

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

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#project ComputeInstanceGroupManager#project}

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#stateful_disk ComputeInstanceGroupManager#stateful_disk}

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

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

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#stateful_external_ip ComputeInstanceGroupManager#stateful_external_ip}

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

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

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#stateful_internal_ip ComputeInstanceGroupManager#stateful_internal_ip}

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

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

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#target_pools ComputeInstanceGroupManager#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 ComputeInstanceGroupManager.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_instance_group_manager#target_size ComputeInstanceGroupManager#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 ComputeInstanceGroupManager.Builder timeouts​(ComputeInstanceGroupManagerTimeouts timeouts)
        timeouts block.

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.Builder updatePolicy​(ComputeInstanceGroupManagerUpdatePolicy updatePolicy)
        update_policy block.

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

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.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_instance_group_manager#wait_for_instances ComputeInstanceGroupManager#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 ComputeInstanceGroupManager.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_instance_group_manager#wait_for_instances ComputeInstanceGroupManager#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 ComputeInstanceGroupManager.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_instance_group_manager#wait_for_instances_status ComputeInstanceGroupManager#wait_for_instances_status}

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

        @Stability(Stable)
        public ComputeInstanceGroupManager.Builder zone​(String zone)
        The zone that instances in this group should be created in.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#zone ComputeInstanceGroupManager#zone}

        Parameters:
        zone - The zone that instances in this group should be created in. This parameter is required.
        Returns:
        this