Skip to content
Docs

    Create NKS Cluster

    client.nks.clusters.create(ClusterCreateParams { autoscaling, kubernetes_version, name, 4 more } body, RequestOptionsoptions?): Operation { id, created_at, details, 6 more }
    POST/v1/nks/clusters

    Create an NKS Cluster

    ParametersExpand Collapse
    body: ClusterCreateParams { autoscaling, kubernetes_version, name, 4 more }
    autoscaling: boolean

    Whether to enable autoscaling for the Cluster.

    kubernetes_version: string

    Kubernetes version for the Cluster.

    name: string

    Name of the Cluster.

    project_id: string

    Project ID to create the Cluster in.

    region: RegionName { }

    Region the resource is in.

    vpc_id: string

    ID of the VPC to use for the Cluster.

    tags?: Array<string>

    Tags to attach to the Cluster.

    ReturnsExpand Collapse
    Operation { id, created_at, details, 6 more }

    Operation details.

    id: string

    Unique identifier for the Operation.

    created_at: string

    When the Operation was created.

    formatdate-time
    details: OperationDetails { changes } | null

    Structured details about what an operation is changing.

    changes: OperationChanges { from, to }

    Map of changed field names to their from/to diffs. Keys depend on the parent operation’s kind+type.

    from: string | number | boolean | Array<string>

    Previous value.

    One of the following:
    string
    number
    boolean
    Array<string>
    to: string | number | boolean | Array<string>

    New value.

    One of the following:
    string
    number
    boolean
    Array<string>

    Kind of Operation.

    One of the following:
    "vm"
    "volume"
    "vpc"
    "firewall_rule"
    "nks_cluster"
    "nks_node_pool"
    project_id: string

    Project ID the Operation belongs to.

    resource_id: string

    ID of the resource that the Operation is acting on.

    Status of the Operation.

    One of the following:
    "pending"
    "running"
    "done"
    "failed"
    "unknown"

    Type of Operation.

    One of the following:
    "create"
    "update"
    "delete"
    "restart"
    updated_at: string

    When the Operation was updated.

    formatdate-time

    Create NKS Cluster

    import NirvanaLabs from '@nirvana-labs/nirvana';
    
    const client = new NirvanaLabs({
      apiKey: process.env['NIRVANA_LABS_API_KEY'], // This is the default and can be omitted
    });
    
    const operation = await client.nks.clusters.create({
      autoscaling: true,
      kubernetes_version: 'v1.34.4',
      name: 'my-cluster',
      project_id: '123e4567-e89b-12d3-a456-426614174000',
      region: 'us-sva-2',
      vpc_id: '123e4567-e89b-12d3-a456-426614174000',
    });
    
    console.log(operation.id);
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "created_at": "2025-01-01T00:00:00Z",
      "details": {
        "changes": {
          "foo": {
            "from": "string",
            "to": "string"
          }
        }
      },
      "kind": "vm",
      "project_id": "123e4567-e89b-12d3-a456-426614174000",
      "resource_id": "123e4567-e89b-12d3-a456-426614174000",
      "status": "pending",
      "type": "create",
      "updated_at": "2025-01-01T00:00:00Z"
    }
    Returns Examples
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "created_at": "2025-01-01T00:00:00Z",
      "details": {
        "changes": {
          "foo": {
            "from": "string",
            "to": "string"
          }
        }
      },
      "kind": "vm",
      "project_id": "123e4567-e89b-12d3-a456-426614174000",
      "resource_id": "123e4567-e89b-12d3-a456-426614174000",
      "status": "pending",
      "type": "create",
      "updated_at": "2025-01-01T00:00:00Z"
    }