1. Packages
  2. Vultr
  3. API Docs
  4. KubernetesNodePools
Vultr v2.23.1 published on Tuesday, Dec 10, 2024 by dirien

vultr.KubernetesNodePools

Explore with Pulumi AI

Deploy additional node pools to an existing Vultr Kubernetes Engine (VKE) cluster.

Example Usage

Create a new VKE cluster:

import * as pulumi from "@pulumi/pulumi";
import * as vultr from "@ediri/vultr";

const np_1 = new vultr.KubernetesNodePools("np-1", {
    clusterId: vultr_kubernetes.k8.id,
    nodeQuantity: 1,
    plan: "vc2-2c-4gb",
    label: "my-label",
    tag: "my-tag",
    autoScaler: true,
    minNodes: 1,
    maxNodes: 2,
});
Copy
import pulumi
import ediri_vultr as vultr

np_1 = vultr.KubernetesNodePools("np-1",
    cluster_id=vultr_kubernetes["k8"]["id"],
    node_quantity=1,
    plan="vc2-2c-4gb",
    label="my-label",
    tag="my-tag",
    auto_scaler=True,
    min_nodes=1,
    max_nodes=2)
Copy
package main

import (
	"github.com/dirien/pulumi-vultr/sdk/v2/go/vultr"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := vultr.NewKubernetesNodePools(ctx, "np-1", &vultr.KubernetesNodePoolsArgs{
			ClusterId:    pulumi.Any(vultr_kubernetes.K8.Id),
			NodeQuantity: pulumi.Int(1),
			Plan:         pulumi.String("vc2-2c-4gb"),
			Label:        pulumi.String("my-label"),
			Tag:          pulumi.String("my-tag"),
			AutoScaler:   pulumi.Bool(true),
			MinNodes:     pulumi.Int(1),
			MaxNodes:     pulumi.Int(2),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Vultr = ediri.Vultr;

return await Deployment.RunAsync(() => 
{
    var np_1 = new Vultr.KubernetesNodePools("np-1", new()
    {
        ClusterId = vultr_kubernetes.K8.Id,
        NodeQuantity = 1,
        Plan = "vc2-2c-4gb",
        Label = "my-label",
        Tag = "my-tag",
        AutoScaler = true,
        MinNodes = 1,
        MaxNodes = 2,
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.vultr.KubernetesNodePools;
import com.pulumi.vultr.KubernetesNodePoolsArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var np_1 = new KubernetesNodePools("np-1", KubernetesNodePoolsArgs.builder()
            .clusterId(vultr_kubernetes.k8().id())
            .nodeQuantity(1)
            .plan("vc2-2c-4gb")
            .label("my-label")
            .tag("my-tag")
            .autoScaler(true)
            .minNodes(1)
            .maxNodes(2)
            .build());

    }
}
Copy
resources:
  np-1:
    type: vultr:KubernetesNodePools
    properties:
      clusterId: ${vultr_kubernetes.k8.id}
      nodeQuantity: 1
      plan: vc2-2c-4gb
      label: my-label
      tag: my-tag
      autoScaler: true
      minNodes: 1
      maxNodes: 2
Copy

Create KubernetesNodePools Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new KubernetesNodePools(name: string, args: KubernetesNodePoolsArgs, opts?: CustomResourceOptions);
@overload
def KubernetesNodePools(resource_name: str,
                        args: KubernetesNodePoolsInitArgs,
                        opts: Optional[ResourceOptions] = None)

@overload
def KubernetesNodePools(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        cluster_id: Optional[str] = None,
                        label: Optional[str] = None,
                        node_quantity: Optional[int] = None,
                        plan: Optional[str] = None,
                        auto_scaler: Optional[bool] = None,
                        max_nodes: Optional[int] = None,
                        min_nodes: Optional[int] = None,
                        tag: Optional[str] = None)
func NewKubernetesNodePools(ctx *Context, name string, args KubernetesNodePoolsArgs, opts ...ResourceOption) (*KubernetesNodePools, error)
public KubernetesNodePools(string name, KubernetesNodePoolsArgs args, CustomResourceOptions? opts = null)
public KubernetesNodePools(String name, KubernetesNodePoolsArgs args)
public KubernetesNodePools(String name, KubernetesNodePoolsArgs args, CustomResourceOptions options)
type: vultr:KubernetesNodePools
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. KubernetesNodePoolsArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. KubernetesNodePoolsInitArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. KubernetesNodePoolsArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. KubernetesNodePoolsArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. KubernetesNodePoolsArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var kubernetesNodePoolsResource = new Vultr.KubernetesNodePools("kubernetesNodePoolsResource", new()
{
    ClusterId = "string",
    Label = "string",
    NodeQuantity = 0,
    Plan = "string",
    AutoScaler = false,
    MaxNodes = 0,
    MinNodes = 0,
    Tag = "string",
});
Copy
example, err := vultr.NewKubernetesNodePools(ctx, "kubernetesNodePoolsResource", &vultr.KubernetesNodePoolsArgs{
	ClusterId:    pulumi.String("string"),
	Label:        pulumi.String("string"),
	NodeQuantity: pulumi.Int(0),
	Plan:         pulumi.String("string"),
	AutoScaler:   pulumi.Bool(false),
	MaxNodes:     pulumi.Int(0),
	MinNodes:     pulumi.Int(0),
	Tag:          pulumi.String("string"),
})
Copy
var kubernetesNodePoolsResource = new KubernetesNodePools("kubernetesNodePoolsResource", KubernetesNodePoolsArgs.builder()
    .clusterId("string")
    .label("string")
    .nodeQuantity(0)
    .plan("string")
    .autoScaler(false)
    .maxNodes(0)
    .minNodes(0)
    .tag("string")
    .build());
Copy
kubernetes_node_pools_resource = vultr.KubernetesNodePools("kubernetesNodePoolsResource",
    cluster_id="string",
    label="string",
    node_quantity=0,
    plan="string",
    auto_scaler=False,
    max_nodes=0,
    min_nodes=0,
    tag="string")
Copy
const kubernetesNodePoolsResource = new vultr.KubernetesNodePools("kubernetesNodePoolsResource", {
    clusterId: "string",
    label: "string",
    nodeQuantity: 0,
    plan: "string",
    autoScaler: false,
    maxNodes: 0,
    minNodes: 0,
    tag: "string",
});
Copy
type: vultr:KubernetesNodePools
properties:
    autoScaler: false
    clusterId: string
    label: string
    maxNodes: 0
    minNodes: 0
    nodeQuantity: 0
    plan: string
    tag: string
Copy

KubernetesNodePools Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The KubernetesNodePools resource accepts the following input properties:

ClusterId
This property is required.
Changes to this property will trigger replacement.
string
The VKE cluster ID you want to attach this nodepool to.
Label This property is required. string
The label to be used as a prefix for nodes in this node pool.
NodeQuantity This property is required. int
The number of nodes in this node pool.
Plan This property is required. string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
AutoScaler bool
Enable the auto scaler for the default node pool.
MaxNodes int
The maximum number of nodes to use with the auto scaler.
MinNodes int
The minimum number of nodes to use with the auto scaler.
Tag string
A tag that is assigned to this node pool.
ClusterId
This property is required.
Changes to this property will trigger replacement.
string
The VKE cluster ID you want to attach this nodepool to.
Label This property is required. string
The label to be used as a prefix for nodes in this node pool.
NodeQuantity This property is required. int
The number of nodes in this node pool.
Plan This property is required. string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
AutoScaler bool
Enable the auto scaler for the default node pool.
MaxNodes int
The maximum number of nodes to use with the auto scaler.
MinNodes int
The minimum number of nodes to use with the auto scaler.
Tag string
A tag that is assigned to this node pool.
clusterId
This property is required.
Changes to this property will trigger replacement.
String
The VKE cluster ID you want to attach this nodepool to.
label This property is required. String
The label to be used as a prefix for nodes in this node pool.
nodeQuantity This property is required. Integer
The number of nodes in this node pool.
plan This property is required. String
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
autoScaler Boolean
Enable the auto scaler for the default node pool.
maxNodes Integer
The maximum number of nodes to use with the auto scaler.
minNodes Integer
The minimum number of nodes to use with the auto scaler.
tag String
A tag that is assigned to this node pool.
clusterId
This property is required.
Changes to this property will trigger replacement.
string
The VKE cluster ID you want to attach this nodepool to.
label This property is required. string
The label to be used as a prefix for nodes in this node pool.
nodeQuantity This property is required. number
The number of nodes in this node pool.
plan This property is required. string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
autoScaler boolean
Enable the auto scaler for the default node pool.
maxNodes number
The maximum number of nodes to use with the auto scaler.
minNodes number
The minimum number of nodes to use with the auto scaler.
tag string
A tag that is assigned to this node pool.
cluster_id
This property is required.
Changes to this property will trigger replacement.
str
The VKE cluster ID you want to attach this nodepool to.
label This property is required. str
The label to be used as a prefix for nodes in this node pool.
node_quantity This property is required. int
The number of nodes in this node pool.
plan This property is required. str
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
auto_scaler bool
Enable the auto scaler for the default node pool.
max_nodes int
The maximum number of nodes to use with the auto scaler.
min_nodes int
The minimum number of nodes to use with the auto scaler.
tag str
A tag that is assigned to this node pool.
clusterId
This property is required.
Changes to this property will trigger replacement.
String
The VKE cluster ID you want to attach this nodepool to.
label This property is required. String
The label to be used as a prefix for nodes in this node pool.
nodeQuantity This property is required. Number
The number of nodes in this node pool.
plan This property is required. String
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
autoScaler Boolean
Enable the auto scaler for the default node pool.
maxNodes Number
The maximum number of nodes to use with the auto scaler.
minNodes Number
The minimum number of nodes to use with the auto scaler.
tag String
A tag that is assigned to this node pool.

Outputs

All input properties are implicitly available as output properties. Additionally, the KubernetesNodePools resource produces the following output properties:

DateCreated string
Date node was created.
DateUpdated string
Date of node pool updates.
Id string
The provider-assigned unique ID for this managed resource.
Nodes List<ediri.Vultr.Outputs.KubernetesNodePoolsNode>
Array that contains information about nodes within this node pool.
Status string
Status of node.
DateCreated string
Date node was created.
DateUpdated string
Date of node pool updates.
Id string
The provider-assigned unique ID for this managed resource.
Nodes []KubernetesNodePoolsNode
Array that contains information about nodes within this node pool.
Status string
Status of node.
dateCreated String
Date node was created.
dateUpdated String
Date of node pool updates.
id String
The provider-assigned unique ID for this managed resource.
nodes List<KubernetesNodePoolsNode>
Array that contains information about nodes within this node pool.
status String
Status of node.
dateCreated string
Date node was created.
dateUpdated string
Date of node pool updates.
id string
The provider-assigned unique ID for this managed resource.
nodes KubernetesNodePoolsNode[]
Array that contains information about nodes within this node pool.
status string
Status of node.
date_created str
Date node was created.
date_updated str
Date of node pool updates.
id str
The provider-assigned unique ID for this managed resource.
nodes Sequence[KubernetesNodePoolsNode]
Array that contains information about nodes within this node pool.
status str
Status of node.
dateCreated String
Date node was created.
dateUpdated String
Date of node pool updates.
id String
The provider-assigned unique ID for this managed resource.
nodes List<Property Map>
Array that contains information about nodes within this node pool.
status String
Status of node.

Look up Existing KubernetesNodePools Resource

Get an existing KubernetesNodePools resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: KubernetesNodePoolsState, opts?: CustomResourceOptions): KubernetesNodePools
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        auto_scaler: Optional[bool] = None,
        cluster_id: Optional[str] = None,
        date_created: Optional[str] = None,
        date_updated: Optional[str] = None,
        label: Optional[str] = None,
        max_nodes: Optional[int] = None,
        min_nodes: Optional[int] = None,
        node_quantity: Optional[int] = None,
        nodes: Optional[Sequence[KubernetesNodePoolsNodeArgs]] = None,
        plan: Optional[str] = None,
        status: Optional[str] = None,
        tag: Optional[str] = None) -> KubernetesNodePools
func GetKubernetesNodePools(ctx *Context, name string, id IDInput, state *KubernetesNodePoolsState, opts ...ResourceOption) (*KubernetesNodePools, error)
public static KubernetesNodePools Get(string name, Input<string> id, KubernetesNodePoolsState? state, CustomResourceOptions? opts = null)
public static KubernetesNodePools get(String name, Output<String> id, KubernetesNodePoolsState state, CustomResourceOptions options)
resources:  _:    type: vultr:KubernetesNodePools    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AutoScaler bool
Enable the auto scaler for the default node pool.
ClusterId Changes to this property will trigger replacement. string
The VKE cluster ID you want to attach this nodepool to.
DateCreated string
Date node was created.
DateUpdated string
Date of node pool updates.
Label string
The label to be used as a prefix for nodes in this node pool.
MaxNodes int
The maximum number of nodes to use with the auto scaler.
MinNodes int
The minimum number of nodes to use with the auto scaler.
NodeQuantity int
The number of nodes in this node pool.
Nodes List<ediri.Vultr.Inputs.KubernetesNodePoolsNode>
Array that contains information about nodes within this node pool.
Plan string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
Status string
Status of node.
Tag string
A tag that is assigned to this node pool.
AutoScaler bool
Enable the auto scaler for the default node pool.
ClusterId Changes to this property will trigger replacement. string
The VKE cluster ID you want to attach this nodepool to.
DateCreated string
Date node was created.
DateUpdated string
Date of node pool updates.
Label string
The label to be used as a prefix for nodes in this node pool.
MaxNodes int
The maximum number of nodes to use with the auto scaler.
MinNodes int
The minimum number of nodes to use with the auto scaler.
NodeQuantity int
The number of nodes in this node pool.
Nodes []KubernetesNodePoolsNodeArgs
Array that contains information about nodes within this node pool.
Plan string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
Status string
Status of node.
Tag string
A tag that is assigned to this node pool.
autoScaler Boolean
Enable the auto scaler for the default node pool.
clusterId Changes to this property will trigger replacement. String
The VKE cluster ID you want to attach this nodepool to.
dateCreated String
Date node was created.
dateUpdated String
Date of node pool updates.
label String
The label to be used as a prefix for nodes in this node pool.
maxNodes Integer
The maximum number of nodes to use with the auto scaler.
minNodes Integer
The minimum number of nodes to use with the auto scaler.
nodeQuantity Integer
The number of nodes in this node pool.
nodes List<KubernetesNodePoolsNode>
Array that contains information about nodes within this node pool.
plan String
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
status String
Status of node.
tag String
A tag that is assigned to this node pool.
autoScaler boolean
Enable the auto scaler for the default node pool.
clusterId Changes to this property will trigger replacement. string
The VKE cluster ID you want to attach this nodepool to.
dateCreated string
Date node was created.
dateUpdated string
Date of node pool updates.
label string
The label to be used as a prefix for nodes in this node pool.
maxNodes number
The maximum number of nodes to use with the auto scaler.
minNodes number
The minimum number of nodes to use with the auto scaler.
nodeQuantity number
The number of nodes in this node pool.
nodes KubernetesNodePoolsNode[]
Array that contains information about nodes within this node pool.
plan string
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
status string
Status of node.
tag string
A tag that is assigned to this node pool.
auto_scaler bool
Enable the auto scaler for the default node pool.
cluster_id Changes to this property will trigger replacement. str
The VKE cluster ID you want to attach this nodepool to.
date_created str
Date node was created.
date_updated str
Date of node pool updates.
label str
The label to be used as a prefix for nodes in this node pool.
max_nodes int
The maximum number of nodes to use with the auto scaler.
min_nodes int
The minimum number of nodes to use with the auto scaler.
node_quantity int
The number of nodes in this node pool.
nodes Sequence[KubernetesNodePoolsNodeArgs]
Array that contains information about nodes within this node pool.
plan str
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
status str
Status of node.
tag str
A tag that is assigned to this node pool.
autoScaler Boolean
Enable the auto scaler for the default node pool.
clusterId Changes to this property will trigger replacement. String
The VKE cluster ID you want to attach this nodepool to.
dateCreated String
Date node was created.
dateUpdated String
Date of node pool updates.
label String
The label to be used as a prefix for nodes in this node pool.
maxNodes Number
The maximum number of nodes to use with the auto scaler.
minNodes Number
The minimum number of nodes to use with the auto scaler.
nodeQuantity Number
The number of nodes in this node pool.
nodes List<Property Map>
Array that contains information about nodes within this node pool.
plan String
The plan to be used in this node pool. See Plans List Note the minimum plan requirements must have at least 1 core and 2 gbs of memory.
status String
Status of node.
tag String
A tag that is assigned to this node pool.

Supporting Types

KubernetesNodePoolsNode
, KubernetesNodePoolsNodeArgs

DateCreated string
Date node was created.
Id string
ID of node.
Label string
The label to be used as a prefix for nodes in this node pool.
Status string
Status of node.
DateCreated string
Date node was created.
Id string
ID of node.
Label string
The label to be used as a prefix for nodes in this node pool.
Status string
Status of node.
dateCreated String
Date node was created.
id String
ID of node.
label String
The label to be used as a prefix for nodes in this node pool.
status String
Status of node.
dateCreated string
Date node was created.
id string
ID of node.
label string
The label to be used as a prefix for nodes in this node pool.
status string
Status of node.
date_created str
Date node was created.
id str
ID of node.
label str
The label to be used as a prefix for nodes in this node pool.
status str
Status of node.
dateCreated String
Date node was created.
id String
ID of node.
label String
The label to be used as a prefix for nodes in this node pool.
status String
Status of node.

Import

Node pool resources are able to be imported into terraform state like other

resources, however, since they rely on a kubernetes cluster, the import state

requires the UUID of the cluster as well. With that in mind, format the second

argument to the pulumi import command as a space delimited string of

UUIDs, the first is the cluster ID, the second is the node pool ID. It will

look like this:

“clusterID nodePoolID”

$ pulumi import vultr:index/kubernetesNodePools:KubernetesNodePools my-k8s-np "7365a98b-5a43-450f-bd27-d768827100e5 ec330340-4f50-4526-858f-a39199f568ac"
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
vultr dirien/pulumi-vultr
License
Apache-2.0
Notes
This Pulumi package is based on the vultr Terraform Provider.