NAV

Node Types

Node Type

Example

{
    "availability_zones": [],
    "available": true,
    "label": "1GB",
    "name": "1gb",
    "provider": "/api/infra/v1/provider/digitalocean/",
    "regions": [
        "/api/infra/v1/region/digitalocean/ams1/",
        "/api/infra/v1/region/digitalocean/sfo1/",
        "/api/infra/v1/region/digitalocean/nyc2/",
        "/api/infra/v1/region/digitalocean/ams2/",
        "/api/infra/v1/region/digitalocean/sgp1/",
        "/api/infra/v1/region/digitalocean/lon1/",
        "/api/infra/v1/region/digitalocean/nyc3/",
        "/api/infra/v1/region/digitalocean/nyc1/"
    ],
    "resource_uri": "/api/infra/v1/nodetype/digitalocean/1gb/"
}

A node type is a representation of an instance size supported by a certain cloud provider in a certain region and/or availability zone.

Attributes

Attribute Description
resource_uri A unique API endpoint that represents the node type
name An identifier for the node type
label A user-friendly name for the node type
regions A list of resource URIs of the regions to which this node type can be deployed to
availability_zones A list of resource URIs of the availability zones to which this node type can be deployed to
provider The resource URI of the provider of the node type
available Whether the node type is currently available for new node deployments

List all node types

import dockercloud

nodetypes = dockercloud.NodeType.list()
import "github.com/docker/go-dockercloud/dockercloud"

nodetypeList, err := dockercloud.ListNodeTypes()

if err != nil {
  log.Println(err)
}

log.Println(nodetypeList)
GET /api/infra/v1/nodetype/ HTTP/1.1
Host: cloud.docker.com
Authorization: Basic dXNlcm5hbWU6YXBpa2V5
Accept: application/json
docker-cloud nodecluster nodetype

Lists all node types of all supported cloud providers. Returns a list of NodeType objects.

Endpoint Type

Available in Docker Cloud’s REST API

HTTP Request

GET /api/infra/v1/nodetype/

Query Parameters

Parameter Description
name Filter by node type name
regions Filter by resource URI of the target regions
availability_zones Filter by resource URI of the target availability zones

Get an individual node type

import dockercloud

nodetype = dockercloud.NodeType.fetch("digitalocean/1gb")
import "github.com/docker/go-dockercloud/dockercloud"

nodetype, err := dockercloud.GetNodeType("digitalocean","1gb")

if err != nil {
  log.Println(err)
}

log.Println(nodetype)
GET /api/infra/v1/nodetype/digitalocean/1gb/ HTTP/1.1
Host: cloud.docker.com
Authorization: Basic dXNlcm5hbWU6YXBpa2V5
Accept: application/json

Get all the details of a specific node type

Endpoint Type

Available in Docker Cloud’s REST API

HTTP Request

GET /api/infra/v1/nodetype/(provider.name)/(name)/

Path Parameters

Parameter Description
name The name of the node type to retrieve
provider.name The name of the provider of the node type