Class ComputeInstanceGroupManagerConfig.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • baseInstanceName

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder baseInstanceName​(String baseInstanceName)
        Parameters:
        baseInstanceName - The base instance name to use for instances in this group. This parameter is required. 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}
        Returns:
        this
      • name

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder name​(String name)
        Parameters:
        name - The name of the instance group manager. This parameter is required. 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}
        Returns:
        this
      • version

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder version​(com.hashicorp.cdktf.IResolvable version)
        Parameters:
        version - version block. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_group_manager#version ComputeInstanceGroupManager#version}
        Returns:
        this
      • description

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder description​(String description)
        Parameters:
        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}
        Returns:
        this
      • id

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder id​(String id)
        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}. 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.
        Returns:
        this
      • listManagedInstancesResults

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder listManagedInstancesResults​(String listManagedInstancesResults)
        Parameters:
        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}
        Returns:
        this
      • namedPort

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder namedPort​(com.hashicorp.cdktf.IResolvable namedPort)
        Parameters:
        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}
        Returns:
        this
      • project

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder project​(String project)
        Parameters:
        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}
        Returns:
        this
      • statefulDisk

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder statefulDisk​(com.hashicorp.cdktf.IResolvable statefulDisk)
        Parameters:
        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}
        Returns:
        this
      • statefulExternalIp

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder statefulExternalIp​(com.hashicorp.cdktf.IResolvable statefulExternalIp)
        Parameters:
        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}
        Returns:
        this
      • statefulInternalIp

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder statefulInternalIp​(com.hashicorp.cdktf.IResolvable statefulInternalIp)
        Parameters:
        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}
        Returns:
        this
      • targetPools

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder targetPools​(List<String> targetPools)
        Parameters:
        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}
        Returns:
        this
      • targetSize

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder targetSize​(Number targetSize)
        Parameters:
        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}
        Returns:
        this
      • waitForInstances

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder waitForInstances​(Boolean waitForInstances)
        Parameters:
        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}
        Returns:
        this
      • waitForInstances

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder waitForInstances​(com.hashicorp.cdktf.IResolvable waitForInstances)
        Parameters:
        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}
        Returns:
        this
      • waitForInstancesStatus

        @Stability(Stable)
        public ComputeInstanceGroupManagerConfig.Builder waitForInstancesStatus​(String waitForInstancesStatus)
        Parameters:
        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}
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ComputeInstanceGroupManagerConfig.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Sets the value of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ComputeInstanceGroupManagerConfig.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Sets the value of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • count

        @Stability(Experimental)
        public ComputeInstanceGroupManagerConfig.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Sets the value of TerraformMetaArguments.getCount()
        Parameters:
        count - the value to be set.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public ComputeInstanceGroupManagerConfig.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Sets the value of TerraformMetaArguments.getDependsOn()
        Parameters:
        dependsOn - the value to be set.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public ComputeInstanceGroupManagerConfig.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Sets the value of TerraformMetaArguments.getForEach()
        Parameters:
        forEach - the value to be set.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public ComputeInstanceGroupManagerConfig.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Sets the value of TerraformMetaArguments.getLifecycle()
        Parameters:
        lifecycle - the value to be set.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public ComputeInstanceGroupManagerConfig.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Sets the value of TerraformMetaArguments.getProvider()
        Parameters:
        provider - the value to be set.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public ComputeInstanceGroupManagerConfig.Builder provisioners​(List<? extends Object> provisioners)
        Sets the value of TerraformMetaArguments.getProvisioners()
        Parameters:
        provisioners - the value to be set.
        Returns:
        this