# Providers ## Provider > Example ```json { "available": true, "label": "Digital Ocean", "name": "digitalocean", "regions": [ "/api/infra/v1/region/digitalocean/ams1/", "/api/infra/v1/region/digitalocean/ams2/", "/api/infra/v1/region/digitalocean/ams3/", "/api/infra/v1/region/digitalocean/lon1/", "/api/infra/v1/region/digitalocean/nyc1/", "/api/infra/v1/region/digitalocean/nyc2/", "/api/infra/v1/region/digitalocean/nyc3/", "/api/infra/v1/region/digitalocean/sfo1/", "/api/infra/v1/region/digitalocean/sgp1/" ], "resource_uri": "/api/infra/v1/provider/digitalocean/" } ``` A provider is a representation of a cloud provider supported by Docker Cloud. Providers have one or more regions where nodes are deployed. ### Attributes Attribute | Description --------- | ----------- resource_uri | A unique API endpoint that represents the provider name | A unique identifier for the provider label | A user-friendly name for the provider regions | A list of resource URIs of the regions available in this provider available | Whether the provider is currently available for new node deployments ## List all providers ```python import dockercloud providers = dockercloud.Provider.list() ``` ```http GET /api/infra/v1/provider/ HTTP/1.1 Host: cloud.docker.com Authorization: Basic dXNlcm5hbWU6YXBpa2V5 Accept: application/json ``` ```go import "github.com/docker/go-dockercloud/dockercloud" providerList, err := dockercloud.ListProviders() if err != nil { log.Println(err) } log.Println(providerList) ``` ```shell docker-cloud nodecluster provider ``` Lists all supported cloud providers. Returns a list of `Provider` objects. ### Endpoint Type Available in Docker Cloud's **REST API** ### HTTP Request `GET /api/infra/v1/provider/` ### Query Parameters Parameter | Description --------- | ----------- name | Filter by provider name ## Get an individual provider ```python import dockercloud provider = dockercloud.Provider.fetch("digitalocean") ``` ```go import "github.com/docker/go-dockercloud/dockercloud" provider, err := dockercloud.GetProvider("digitalocean") if err != nil { log.Println(err) } log.Println(provider) ``` ```http GET /api/infra/v1/provider/digitalocean/ HTTP/1.1 Host: cloud.docker.com Authorization: Basic dXNlcm5hbWU6YXBpa2V5 Accept: application/json ``` Get all the details of a specific provider ### Endpoint Type Available in Docker Cloud's **REST API** ### HTTP Request `GET /api/infra/v1/provider/(name)/` ### Path Parameters Parameter | Description --------- | ----------- name | The name of the provider to retrieve