Class ContainerNodePool.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static ContainerNodePool.Builder create​(software.constructs.Construct scope,
                                                       String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of ContainerNodePool.Builder.
      • connection

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

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

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

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

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

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

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

        @Stability(Experimental)
        public ContainerNodePool.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • cluster

        @Stability(Stable)
        public ContainerNodePool.Builder cluster​(String cluster)
        The cluster to create the node pool for. Cluster must be present in location provided for zonal clusters.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#cluster ContainerNodePool#cluster}

        Parameters:
        cluster - The cluster to create the node pool for. Cluster must be present in location provided for zonal clusters. This parameter is required.
        Returns:
        this
      • autoscaling

        @Stability(Stable)
        public ContainerNodePool.Builder autoscaling​(ContainerNodePoolAutoscaling autoscaling)
        autoscaling block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#autoscaling ContainerNodePool#autoscaling}

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

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

        @Stability(Stable)
        public ContainerNodePool.Builder initialNodeCount​(Number initialNodeCount)
        The initial number of nodes for the pool.

        In regional or multi-zonal clusters, this is the number of nodes per zone. Changing this will force recreation of the resource. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#initial_node_count ContainerNodePool#initial_node_count}

        Parameters:
        initialNodeCount - The initial number of nodes for the pool. This parameter is required.
        Returns:
        this
      • location

        @Stability(Stable)
        public ContainerNodePool.Builder location​(String location)
        The location (region or zone) of the cluster.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#location ContainerNodePool#location}

        Parameters:
        location - The location (region or zone) of the cluster. This parameter is required.
        Returns:
        this
      • management

        @Stability(Stable)
        public ContainerNodePool.Builder management​(ContainerNodePoolManagement management)
        management block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#management ContainerNodePool#management}

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

        @Stability(Stable)
        public ContainerNodePool.Builder maxPodsPerNode​(Number maxPodsPerNode)
        The maximum number of pods per node in this node pool.

        Note that this does not work on node pools which are "route-based" - that is, node pools belonging to clusters that do not have IP Aliasing enabled. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#max_pods_per_node ContainerNodePool#max_pods_per_node}

        Parameters:
        maxPodsPerNode - The maximum number of pods per node in this node pool. This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public ContainerNodePool.Builder name​(String name)
        The name of the node pool. If left blank, Terraform will auto-generate a unique name.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#name ContainerNodePool#name}

        Parameters:
        name - The name of the node pool. If left blank, Terraform will auto-generate a unique name. This parameter is required.
        Returns:
        this
      • namePrefix

        @Stability(Stable)
        public ContainerNodePool.Builder namePrefix​(String namePrefix)
        Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#name_prefix ContainerNodePool#name_prefix}

        Parameters:
        namePrefix - Creates a unique name for the node pool beginning with the specified prefix. Conflicts with name. This parameter is required.
        Returns:
        this
      • networkConfig

        @Stability(Stable)
        public ContainerNodePool.Builder networkConfig​(ContainerNodePoolNetworkConfig networkConfig)
        network_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#network_config ContainerNodePool#network_config}

        Parameters:
        networkConfig - network_config block. This parameter is required.
        Returns:
        this
      • nodeConfig

        @Stability(Stable)
        public ContainerNodePool.Builder nodeConfig​(ContainerNodePoolNodeConfig nodeConfig)
        node_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#node_config ContainerNodePool#node_config}

        Parameters:
        nodeConfig - node_config block. This parameter is required.
        Returns:
        this
      • nodeCount

        @Stability(Stable)
        public ContainerNodePool.Builder nodeCount​(Number nodeCount)
        The number of nodes per instance group.

        This field can be used to update the number of nodes per instance group but should not be used alongside autoscaling. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#node_count ContainerNodePool#node_count}

        Parameters:
        nodeCount - The number of nodes per instance group. This parameter is required.
        Returns:
        this
      • nodeLocations

        @Stability(Stable)
        public ContainerNodePool.Builder nodeLocations​(List<String> nodeLocations)
        The list of zones in which the node pool's nodes should be located.

        Nodes must be in the region of their regional cluster or in the same region as their cluster's zone for zonal clusters. If unspecified, the cluster-level node_locations will be used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#node_locations ContainerNodePool#node_locations}

        Parameters:
        nodeLocations - The list of zones in which the node pool's nodes should be located. This parameter is required.
        Returns:
        this
      • placementPolicy

        @Stability(Stable)
        public ContainerNodePool.Builder placementPolicy​(ContainerNodePoolPlacementPolicy placementPolicy)
        placement_policy block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#placement_policy ContainerNodePool#placement_policy}

        Parameters:
        placementPolicy - placement_policy block. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public ContainerNodePool.Builder project​(String project)
        The ID of the project in which to create the node pool.

        If blank, the provider-configured project will be used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#project ContainerNodePool#project}

        Parameters:
        project - The ID of the project in which to create the node pool. This parameter is required.
        Returns:
        this
      • queuedProvisioning

        @Stability(Stable)
        public ContainerNodePool.Builder queuedProvisioning​(ContainerNodePoolQueuedProvisioning queuedProvisioning)
        queued_provisioning block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#queued_provisioning ContainerNodePool#queued_provisioning}

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

        @Stability(Stable)
        public ContainerNodePool.Builder timeouts​(ContainerNodePoolTimeouts timeouts)
        timeouts block.

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

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

        @Stability(Stable)
        public ContainerNodePool.Builder upgradeSettings​(ContainerNodePoolUpgradeSettings upgradeSettings)
        upgrade_settings block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#upgrade_settings ContainerNodePool#upgrade_settings}

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

        @Stability(Stable)
        public ContainerNodePool.Builder version​(String version)
        The Kubernetes version for the nodes in this pool.

        Note that if this field and auto_upgrade are both specified, they will fight each other for what the node version should be, so setting both is highly discouraged. While a fuzzy version can be specified, it's recommended that you specify explicit versions as Terraform will see spurious diffs when fuzzy versions are used. See the google_container_engine_versions data source's version_prefix field to approximate fuzzy versions in a Terraform-compatible way. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/container_node_pool#version ContainerNodePool#version}

        Parameters:
        version - The Kubernetes version for the nodes in this pool. This parameter is required.
        Returns:
        this