docs/apidocs/docker-cloud/includes/provider.html

193 lines
10 KiB
HTML

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>API Documentation</title>
<link href="../stylesheets/screen.css" rel="stylesheet" type="text/css" media="screen" />
<link href="../stylesheets/print.css" rel="stylesheet" type="text/css" media="print" />
<script type="text/javascript">
!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","reset","group","track","ready","alias","debug","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+"cdn.segment.com/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="4.0.0";
analytics.load("IWj9D0UpZHZdZUZX9jl98PcpBFWBnBMy");
analytics.page();
}}();
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="../javascripts/all_nosearch.js" type="text/javascript"></script>
</head>
<body class="includes includes_provider">
<a href="#" id="nav-button">
<span>
NAV
<img src="../images/navbar.png" />
</span>
</a>
<div class="tocify-wrapper">
<img src="../images/logo.png" />
<div id="toc">
</div>
</div>
<div class="page-wrapper">
<div class="dark-box"></div>
<div class="content">
<h1 id="providers">Providers</h1>
<h2 id="provider">Provider</h2>
<blockquote>
<p>Example</p>
</blockquote>
<pre class="highlight json"><code><span class="p">{</span><span class="w">
</span><span class="nt">"available"</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="p">,</span><span class="w">
</span><span class="nt">"label"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Digital Ocean"</span><span class="p">,</span><span class="w">
</span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"digitalocean"</span><span class="p">,</span><span class="w">
</span><span class="nt">"regions"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/ams1/"</span><span class="p">,</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/ams2/"</span><span class="p">,</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/ams3/"</span><span class="p">,</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/lon1/"</span><span class="p">,</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/nyc1/"</span><span class="p">,</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/nyc2/"</span><span class="p">,</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/nyc3/"</span><span class="p">,</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/sfo1/"</span><span class="p">,</span><span class="w">
</span><span class="s2">"/api/infra/v1/region/digitalocean/sgp1/"</span><span class="w">
</span><span class="p">],</span><span class="w">
</span><span class="nt">"resource_uri"</span><span class="p">:</span><span class="w"> </span><span class="s2">"/api/infra/v1/provider/digitalocean/"</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre>
<p>A provider is a representation of a cloud provider supported by Docker Cloud. Providers have one or more regions where nodes are deployed.</p>
<h3 id="attributes">Attributes</h3>
<table><thead>
<tr>
<th>Attribute</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>resource_uri</td>
<td>A unique API endpoint that represents the provider</td>
</tr>
<tr>
<td>name</td>
<td>A unique identifier for the provider</td>
</tr>
<tr>
<td>label</td>
<td>A user-friendly name for the provider</td>
</tr>
<tr>
<td>regions</td>
<td>A list of resource URIs of the regions available in this provider</td>
</tr>
<tr>
<td>available</td>
<td>Whether the provider is currently available for new node deployments</td>
</tr>
</tbody></table>
<h2 id="list-all-providers">List all providers</h2>
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
<span class="n">providers</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Provider</span><span class="o">.</span><span class="nb">list</span><span class="p">()</span>
</code></pre>
<pre class="highlight http"><code><span class="nf">GET</span> <span class="nn">/api/infra/v1/provider/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
</code></pre>
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
</span><span class="n">providerList</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">ListProviders</span><span class="p">()</span><span class="x">
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
</span><span class="p">}</span><span class="x">
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">providerList</span><span class="p">)</span><span class="x">
</span></code></pre>
<pre class="highlight shell"><code>docker-cloud nodecluster provider
</code></pre>
<p>Lists all supported cloud providers. Returns a list of <code class="prettyprint">Provider</code> objects.</p>
<h3 id="endpoint-type">Endpoint Type</h3>
<p>Available in Docker Cloud&rsquo;s <strong>REST API</strong></p>
<h3 id="http-request">HTTP Request</h3>
<p><code class="prettyprint">GET /api/infra/v1/provider/</code></p>
<h3 id="query-parameters">Query Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>name</td>
<td>Filter by provider name</td>
</tr>
</tbody></table>
<h2 id="get-an-individual-provider">Get an individual provider</h2>
<pre class="highlight python"><code><span class="kn">import</span> <span class="nn">dockercloud</span>
<span class="n">provider</span> <span class="o">=</span> <span class="n">dockercloud</span><span class="o">.</span><span class="n">Provider</span><span class="o">.</span><span class="n">fetch</span><span class="p">(</span><span class="s">"digitalocean"</span><span class="p">)</span>
</code></pre>
<pre class="highlight go"><code><span class="k">import</span><span class="x"> </span><span class="s">"github.com/docker/go-dockercloud/dockercloud"</span><span class="x">
</span><span class="n">provider</span><span class="p">,</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">:=</span><span class="x"> </span><span class="n">dockercloud</span><span class="o">.</span><span class="n">GetProvider</span><span class="p">(</span><span class="s">"digitalocean"</span><span class="p">)</span><span class="x">
</span><span class="k">if</span><span class="x"> </span><span class="n">err</span><span class="x"> </span><span class="o">!=</span><span class="x"> </span><span class="no">nil</span><span class="x"> </span><span class="p">{</span><span class="x">
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">err</span><span class="p">)</span><span class="x">
</span><span class="p">}</span><span class="x">
</span><span class="n">log</span><span class="o">.</span><span class="n">Println</span><span class="p">(</span><span class="n">provider</span><span class="p">)</span><span class="x">
</span></code></pre>
<pre class="highlight http"><code><span class="nf">GET</span> <span class="nn">/api/infra/v1/provider/digitalocean/</span> <span class="k">HTTP</span><span class="o">/</span><span class="m">1.1</span>
<span class="na">Host</span><span class="p">:</span> <span class="s">cloud.docker.com</span>
<span class="na">Authorization</span><span class="p">:</span> <span class="s">Basic dXNlcm5hbWU6YXBpa2V5</span>
<span class="na">Accept</span><span class="p">:</span> <span class="s">application/json</span>
</code></pre>
<p>Get all the details of a specific provider</p>
<h3 id="endpoint-type">Endpoint Type</h3>
<p>Available in Docker Cloud&rsquo;s <strong>REST API</strong></p>
<h3 id="http-request">HTTP Request</h3>
<p><code class="prettyprint">GET /api/infra/v1/provider/(name)/</code></p>
<h3 id="path-parameters">Path Parameters</h3>
<table><thead>
<tr>
<th>Parameter</th>
<th>Description</th>
</tr>
</thead><tbody>
<tr>
<td>name</td>
<td>The name of the provider to retrieve</td>
</tr>
</tbody></table>
</div>
<div class="dark-box">
</div>
</div>
</body>
</html>