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 |