1. Packages
  2. Symbiosis
  3. API Docs
  4. NodePool
Symbiosis v1.0.4 published on Thursday, Mar 16, 2023 by Symbiosis

symbiosis.NodePool

Explore with Pulumi AI

symbiosis logo
Symbiosis v1.0.4 published on Thursday, Mar 16, 2023 by Symbiosis

    Creates node pools for Kubernetes clusters in Symbiosis.

    Example Usage

    using System.Collections.Generic;
    using Pulumi;
    using Symbiosis = Symbiosis.Pulumi.Symbiosis;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleCluster = new Symbiosis.Cluster("exampleCluster", new()
        {
            Region = "germany-1",
        });
    
        var exampleNodePool = new Symbiosis.NodePool("exampleNodePool", new()
        {
            Cluster = exampleCluster.Name,
            NodeType = "general-1",
            Quantity = 6,
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/symbiosis-cloud/pulumi-symbiosis/sdk/go/symbiosis"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleCluster, err := symbiosis.NewCluster(ctx, "exampleCluster", &symbiosis.ClusterArgs{
    			Region: pulumi.String("germany-1"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = symbiosis.NewNodePool(ctx, "exampleNodePool", &symbiosis.NodePoolArgs{
    			Cluster:  exampleCluster.Name,
    			NodeType: pulumi.String("general-1"),
    			Quantity: pulumi.Int(6),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.symbiosis.Cluster;
    import com.pulumi.symbiosis.ClusterArgs;
    import com.pulumi.symbiosis.NodePool;
    import com.pulumi.symbiosis.NodePoolArgs;
    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 exampleCluster = new Cluster("exampleCluster", ClusterArgs.builder()        
                .region("germany-1")
                .build());
    
            var exampleNodePool = new NodePool("exampleNodePool", NodePoolArgs.builder()        
                .cluster(exampleCluster.name())
                .nodeType("general-1")
                .quantity(6)
                .build());
    
        }
    }
    
    import pulumi
    import symbiosis_pulumi as symbiosis
    
    example_cluster = symbiosis.Cluster("exampleCluster", region="germany-1")
    example_node_pool = symbiosis.NodePool("exampleNodePool",
        cluster=example_cluster.name,
        node_type="general-1",
        quantity=6)
    
    import * as pulumi from "@pulumi/pulumi";
    import * as symbiosis from "@symbiosis-cloud/symbiosis-pulumi";
    
    const exampleCluster = new symbiosis.Cluster("exampleCluster", {region: "germany-1"});
    const exampleNodePool = new symbiosis.NodePool("exampleNodePool", {
        cluster: exampleCluster.name,
        nodeType: "general-1",
        quantity: 6,
    });
    
    resources:
      exampleCluster:
        type: symbiosis:Cluster
        properties:
          region: germany-1
      exampleNodePool:
        type: symbiosis:NodePool
        properties:
          cluster: ${exampleCluster.name}
          nodeType: general-1
          quantity: 6
    

    Create NodePool Resource

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

    Constructor syntax

    new NodePool(name: string, args: NodePoolArgs, opts?: CustomResourceOptions);
    @overload
    def NodePool(resource_name: str,
                 args: NodePoolArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def NodePool(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 cluster: Optional[str] = None,
                 node_type: Optional[str] = None,
                 quantity: Optional[int] = None,
                 autoscaling: Optional[NodePoolAutoscalingArgs] = None,
                 labels: Optional[Mapping[str, str]] = None,
                 name: Optional[str] = None,
                 taints: Optional[Sequence[NodePoolTaintArgs]] = None)
    func NewNodePool(ctx *Context, name string, args NodePoolArgs, opts ...ResourceOption) (*NodePool, error)
    public NodePool(string name, NodePoolArgs args, CustomResourceOptions? opts = null)
    public NodePool(String name, NodePoolArgs args)
    public NodePool(String name, NodePoolArgs args, CustomResourceOptions options)
    
    type: symbiosis:NodePool
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args NodePoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args NodePoolArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args NodePoolArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NodePoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NodePoolArgs
    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 nodePoolResource = new Symbiosis.NodePool("nodePoolResource", new()
    {
        Cluster = "string",
        NodeType = "string",
        Quantity = 0,
        Autoscaling = new Symbiosis.Inputs.NodePoolAutoscalingArgs
        {
            Enabled = false,
            MaxSize = 0,
            MinSize = 0,
        },
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        Taints = new[]
        {
            new Symbiosis.Inputs.NodePoolTaintArgs
            {
                Effect = "string",
                Key = "string",
                Value = "string",
            },
        },
    });
    
    example, err := symbiosis.NewNodePool(ctx, "nodePoolResource", &symbiosis.NodePoolArgs{
    	Cluster:  pulumi.String("string"),
    	NodeType: pulumi.String("string"),
    	Quantity: pulumi.Int(0),
    	Autoscaling: &symbiosis.NodePoolAutoscalingArgs{
    		Enabled: pulumi.Bool(false),
    		MaxSize: pulumi.Int(0),
    		MinSize: pulumi.Int(0),
    	},
    	Labels: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	Taints: symbiosis.NodePoolTaintArray{
    		&symbiosis.NodePoolTaintArgs{
    			Effect: pulumi.String("string"),
    			Key:    pulumi.String("string"),
    			Value:  pulumi.String("string"),
    		},
    	},
    })
    
    var nodePoolResource = new NodePool("nodePoolResource", NodePoolArgs.builder()
        .cluster("string")
        .nodeType("string")
        .quantity(0)
        .autoscaling(NodePoolAutoscalingArgs.builder()
            .enabled(false)
            .maxSize(0)
            .minSize(0)
            .build())
        .labels(Map.of("string", "string"))
        .name("string")
        .taints(NodePoolTaintArgs.builder()
            .effect("string")
            .key("string")
            .value("string")
            .build())
        .build());
    
    node_pool_resource = symbiosis.NodePool("nodePoolResource",
        cluster="string",
        node_type="string",
        quantity=0,
        autoscaling={
            "enabled": False,
            "max_size": 0,
            "min_size": 0,
        },
        labels={
            "string": "string",
        },
        name="string",
        taints=[{
            "effect": "string",
            "key": "string",
            "value": "string",
        }])
    
    const nodePoolResource = new symbiosis.NodePool("nodePoolResource", {
        cluster: "string",
        nodeType: "string",
        quantity: 0,
        autoscaling: {
            enabled: false,
            maxSize: 0,
            minSize: 0,
        },
        labels: {
            string: "string",
        },
        name: "string",
        taints: [{
            effect: "string",
            key: "string",
            value: "string",
        }],
    });
    
    type: symbiosis:NodePool
    properties:
        autoscaling:
            enabled: false
            maxSize: 0
            minSize: 0
        cluster: string
        labels:
            string: string
        name: string
        nodeType: string
        quantity: 0
        taints:
            - effect: string
              key: string
              value: string
    

    NodePool 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 NodePool resource accepts the following input properties:

    Cluster string
    Name of cluster to create node pool in.
    NodeType string
    Type of nodes for this specific pool, see docs.
    Quantity int
    Desired number of nodes for specific pool.
    Autoscaling Symbiosis.NodePoolAutoscaling
    Labels Dictionary<string, string>
    Node labels to be applied to the nodes
    Name string
    Name of node pool
    Taints List<Symbiosis.NodePoolTaint>
    Node taints to be applied to the nodes
    Cluster string
    Name of cluster to create node pool in.
    NodeType string
    Type of nodes for this specific pool, see docs.
    Quantity int
    Desired number of nodes for specific pool.
    Autoscaling NodePoolAutoscalingArgs
    Labels map[string]string
    Node labels to be applied to the nodes
    Name string
    Name of node pool
    Taints []NodePoolTaintArgs
    Node taints to be applied to the nodes
    cluster String
    Name of cluster to create node pool in.
    nodeType String
    Type of nodes for this specific pool, see docs.
    quantity Integer
    Desired number of nodes for specific pool.
    autoscaling NodePoolAutoscaling
    labels Map<String,String>
    Node labels to be applied to the nodes
    name String
    Name of node pool
    taints List<NodePoolTaint>
    Node taints to be applied to the nodes
    cluster string
    Name of cluster to create node pool in.
    nodeType string
    Type of nodes for this specific pool, see docs.
    quantity number
    Desired number of nodes for specific pool.
    autoscaling NodePoolAutoscaling
    labels {[key: string]: string}
    Node labels to be applied to the nodes
    name string
    Name of node pool
    taints NodePoolTaint[]
    Node taints to be applied to the nodes
    cluster str
    Name of cluster to create node pool in.
    node_type str
    Type of nodes for this specific pool, see docs.
    quantity int
    Desired number of nodes for specific pool.
    autoscaling NodePoolAutoscalingArgs
    labels Mapping[str, str]
    Node labels to be applied to the nodes
    name str
    Name of node pool
    taints Sequence[NodePoolTaintArgs]
    Node taints to be applied to the nodes
    cluster String
    Name of cluster to create node pool in.
    nodeType String
    Type of nodes for this specific pool, see docs.
    quantity Number
    Desired number of nodes for specific pool.
    autoscaling Property Map
    labels Map<String>
    Node labels to be applied to the nodes
    name String
    Name of node pool
    taints List<Property Map>
    Node taints to be applied to the nodes

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing NodePool Resource

    Get an existing NodePool 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?: NodePoolState, opts?: CustomResourceOptions): NodePool
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            autoscaling: Optional[NodePoolAutoscalingArgs] = None,
            cluster: Optional[str] = None,
            labels: Optional[Mapping[str, str]] = None,
            name: Optional[str] = None,
            node_type: Optional[str] = None,
            quantity: Optional[int] = None,
            taints: Optional[Sequence[NodePoolTaintArgs]] = None) -> NodePool
    func GetNodePool(ctx *Context, name string, id IDInput, state *NodePoolState, opts ...ResourceOption) (*NodePool, error)
    public static NodePool Get(string name, Input<string> id, NodePoolState? state, CustomResourceOptions? opts = null)
    public static NodePool get(String name, Output<String> id, NodePoolState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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:
    Autoscaling Symbiosis.NodePoolAutoscaling
    Cluster string
    Name of cluster to create node pool in.
    Labels Dictionary<string, string>
    Node labels to be applied to the nodes
    Name string
    Name of node pool
    NodeType string
    Type of nodes for this specific pool, see docs.
    Quantity int
    Desired number of nodes for specific pool.
    Taints List<Symbiosis.NodePoolTaint>
    Node taints to be applied to the nodes
    Autoscaling NodePoolAutoscalingArgs
    Cluster string
    Name of cluster to create node pool in.
    Labels map[string]string
    Node labels to be applied to the nodes
    Name string
    Name of node pool
    NodeType string
    Type of nodes for this specific pool, see docs.
    Quantity int
    Desired number of nodes for specific pool.
    Taints []NodePoolTaintArgs
    Node taints to be applied to the nodes
    autoscaling NodePoolAutoscaling
    cluster String
    Name of cluster to create node pool in.
    labels Map<String,String>
    Node labels to be applied to the nodes
    name String
    Name of node pool
    nodeType String
    Type of nodes for this specific pool, see docs.
    quantity Integer
    Desired number of nodes for specific pool.
    taints List<NodePoolTaint>
    Node taints to be applied to the nodes
    autoscaling NodePoolAutoscaling
    cluster string
    Name of cluster to create node pool in.
    labels {[key: string]: string}
    Node labels to be applied to the nodes
    name string
    Name of node pool
    nodeType string
    Type of nodes for this specific pool, see docs.
    quantity number
    Desired number of nodes for specific pool.
    taints NodePoolTaint[]
    Node taints to be applied to the nodes
    autoscaling NodePoolAutoscalingArgs
    cluster str
    Name of cluster to create node pool in.
    labels Mapping[str, str]
    Node labels to be applied to the nodes
    name str
    Name of node pool
    node_type str
    Type of nodes for this specific pool, see docs.
    quantity int
    Desired number of nodes for specific pool.
    taints Sequence[NodePoolTaintArgs]
    Node taints to be applied to the nodes
    autoscaling Property Map
    cluster String
    Name of cluster to create node pool in.
    labels Map<String>
    Node labels to be applied to the nodes
    name String
    Name of node pool
    nodeType String
    Type of nodes for this specific pool, see docs.
    quantity Number
    Desired number of nodes for specific pool.
    taints List<Property Map>
    Node taints to be applied to the nodes

    Supporting Types

    NodePoolAutoscaling, NodePoolAutoscalingArgs

    enabled Boolean
    maxSize Integer
    minSize Integer
    enabled boolean
    maxSize number
    minSize number
    enabled Boolean
    maxSize Number
    minSize Number

    NodePoolTaint, NodePoolTaintArgs

    Effect string
    Taint effect. Can be either NoSchedule, PreferNoSchedule or NoExecute. See: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
    Key string
    Value string
    Effect string
    Taint effect. Can be either NoSchedule, PreferNoSchedule or NoExecute. See: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
    Key string
    Value string
    effect String
    Taint effect. Can be either NoSchedule, PreferNoSchedule or NoExecute. See: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
    key String
    value String
    effect string
    Taint effect. Can be either NoSchedule, PreferNoSchedule or NoExecute. See: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
    key string
    value string
    effect str
    Taint effect. Can be either NoSchedule, PreferNoSchedule or NoExecute. See: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
    key str
    value str
    effect String
    Taint effect. Can be either NoSchedule, PreferNoSchedule or NoExecute. See: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
    key String
    value String

    Package Details

    Repository
    symbiosis symbiosis-cloud/pulumi-symbiosis
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the symbiosis Terraform Provider.
    symbiosis logo
    Symbiosis v1.0.4 published on Thursday, Mar 16, 2023 by Symbiosis